電子技術課程設計-簡易電阻、電容、電感檢測儀_第1頁
電子技術課程設計-簡易電阻、電容、電感檢測儀_第2頁
電子技術課程設計-簡易電阻、電容、電感檢測儀_第3頁
電子技術課程設計-簡易電阻、電容、電感檢測儀_第4頁
電子技術課程設計-簡易電阻、電容、電感檢測儀_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

電子技術課程設計題目:簡易電阻、電容和電感測試儀組員:張坤潘能淵吳占璽班級:自動化082班指導老師:龔仁喜目錄:設計要求………………3系統(tǒng)方案………………4理論分析與計算……………………5測試與分析……………6總結……………………7參考文獻………………7致謝……………………8附錄……………………8簡易電阻、電容和電感測試儀設計任務設計并制作一臺數(shù)字顯示的電阻、電容和電感參數(shù)測試儀,示意框圖如下:要求1.基本要求

(1)測量范圍:電阻100Ω~1MΩ;電容100pF~10000pF;電感100μH~10mH。

(2)測量精度:±5%。

(3)顯示測量數(shù)值,并分別指示所測元件的類型和單位。2.發(fā)揮部分

(1)擴大測量范圍。

(2)提高測量精度。

(3)測量量程自動轉換。摘要:本設計主要由電阻測試模塊、電容測試模塊、電感測試模塊、分頻電路、以及數(shù)據(jù)選擇電路幾大功能模塊組成。并通過STC89C52單片機進行頻率測量和計算以及對系統(tǒng)的控制,實現(xiàn)對電阻、電容和電感的測試并在LCD1602上顯示其測試結果。系統(tǒng)利用RC震蕩原理以及電感的儲能原理,配合555定時器組成多諧振蕩電路。由于不同的電容、電阻、電感值的大小對應的諧振頻率不同,通過測量振蕩電路發(fā)出的頻率計算出相應的電阻、電容和電感的值。本系統(tǒng)設計簡單,成本低,性能完全超出題目要求指標,測量范圍廣,在測量范圍內測量誤差滿足設計要求。關鍵詞:諧振電路,諧振頻率,555定時器系統(tǒng)方案1.系統(tǒng)設計思路將電阻、電容和電感測量模塊產(chǎn)生的不同頻率的方波信號經(jīng)整形和分頻電路分別送至通道選擇模塊,根據(jù)測試的元件類型,單片機通過按鍵的輸入選擇相應的測試電路,并自動檢測出待測元件的值所對應的頻率范圍,控制通道選擇模塊選通相應的輸入通道,來自動選擇分頻的倍數(shù),實現(xiàn)對元件測量的自動換擋。同時單片機通過一定的計算后向液晶發(fā)出測量結果并在液晶上顯示出測量元件的類型和測量值。圖1系統(tǒng)設計框圖2.方案選擇(1)電阻測試模塊電路利用RC和555定時器組成的多諧振蕩電路,通過測量輸出振蕩頻率的大小即可求得電阻的大小,選擇合適的電容值即可獲得適當?shù)念l率范圍,通過D觸發(fā)器74LS74將波形整形成二分頻的對稱方波送交控制器處理。(2)電容測試模塊同樣利用RC和555定時器組成的多諧振蕩電路,通過測量輸出振蕩頻率的大小即可求得電容的大小,如果固定電阻值,能測出較寬的電容范圍。電感測試模塊用555定時器和被測電感利用電感儲能以及充放原理構成多諧振蕩器,通過測頻率值確定被測電感的值。輸出波形為TTL電平的方波信號,簡單分頻后可獲得較為理想的測試頻率范圍,方便單片機精確測量。(4)頻率測量高頻段:在確定的閘門時間內,利用計數(shù)器記錄待測信號通過的周期數(shù),從而計算出待測信號的頻率。低頻段:以待測信號為門限,記錄在此門限內的高頻標準時鐘的數(shù)量,從而計算出待測信號的頻率。理論分析與計算1.電阻和電容測量理論分析本設計中電阻、電容測量原理圖如圖2所示。由555定時器和R1、R2、C1組成多諧振蕩電路。電路振蕩產(chǎn)生的頻率由R1、R2、C1確定。其公式如下:電容C1的充電所需的時間:放電所用時間:脈沖周期時間為:輸出脈沖頻率為:通過固定R1和C1的參數(shù)將待測量的電阻作為R2接入電路中的方法來測量電阻,通過固定R1和R2的參數(shù)將待測量的電容作為C1接入電路中的方法來測量電容。由于實際測量中,單片機測量頻率范圍在10Hz到150KHz之間的范圍內精度較高,所以在設計時采用分檔測量的方法,將振蕩產(chǎn)生的頻率限制在此范圍之內。圖2電阻電容測量原理圖電感測量理論分析本設計中電感測量原理圖如圖3所示。用555定時器和被測電感構成多諧振蕩器,通過頻率值來確定被測電感。電路輸出波形高低電平時間分別為:;輸出頻率為:求出電感為:圖3電感測量原理圖三、測試與分析1.測試方法在Proteus仿真環(huán)境下分別選取設計要求范圍內的不同阻值得電阻、電容、電感進行測量,操作時,系統(tǒng)上電初始化完成后,通過按鍵開關選擇需要測量得元件,然后待控制器自動檢測和自動換擋完成即會在LCD上顯示出相應元件的類型和測量值,此時讀出測量結果與實際值作比較,計算出其測量誤差。2.測試結果與數(shù)據(jù)分析電阻、電容和電感測量結果如下表。表1:電阻測量結果實際值(Ω)10501005001k5k10k測量值(Ω)10.1550.47100.00501.41.003k4.99k10.08k誤差(%)1.500.9400.280.300.200.80實際值(Ω)50k88k100k500k1M5M10M測量值(Ω)50.04k87.82k100.37k500.19k999.5k4.996M10.28M誤差(%)0.080.200.370.040.050.082.8表2:電容測量結果實際值10pF100pF1nF5nF測量值10.46pF101.23pF1.0027nF5.0276誤差(%)4.61.230.270.54實際值10nF50nF100nF1uF測量值10.125nF50.246nF100.84nF1.029uF誤差(%)1.250.480.842.9表3:電感測量結果實際值(mH)0.010.10.51測量值(mH)0.010450.10080.50211.0013誤差(%)4.50.80.420.13實際值(mH)1050100500測量值(mH)10.013250.066100.13475.62誤差(%)0.130.0130.0134.88誤差分析由表可知當測量元件參數(shù)過大或過小時測量誤差將隨之增大,通過分析知,本設計采用的是諧振頻率法測量元件,當元件參數(shù)過大時其諧振頻率較小,反之,其諧振頻率較大,因單片機的性能所限,頻率過低或過高時測量精度將隨之降低,同時系統(tǒng)中各元件自身的精度也將影響該儀器的精度。這些因素都形成了器件測量的誤差和限制了測量范圍。四、總結系統(tǒng)優(yōu)點:經(jīng)測試,該電阻、電容、電感測試儀能實現(xiàn)自動換擋且能測量出:電阻在10Ω~10MΩ,其中在50Ω~5MΩ之間測量誤差為≦1%,其他范圍中≦5%;電容在10pF~1uF,其中1nF~100nF之間測量誤差為≦1%,其他范圍中≦5%;電感在10uH~500mH,其中100uH~100mH之間測量誤差為≦1%,其他范圍中≦5%;系統(tǒng)能實現(xiàn)自動換擋,滿足題目所有的發(fā)揮部分的要求。系統(tǒng)缺點:系統(tǒng)在測量過大或過小元件時響應時間過慢,分析原因為元件參數(shù)過大或過小時頻率變大,計算量增大,因而響應時間增加。參考文獻《單片機原理及接口技術》(人民郵電出版社,張毅剛)《51單片機原理及應用——基于KeilC與Proteus》(北京航空航天大學出版社,陳海宴)《C語言程序設計教程》(高等教育出版社,譚浩強)《Proteus使用》(百度文庫)《創(chuàng)新設計大賽設計報告》(百度文庫)致謝1、感謝本組成員共同努力完成了本次設計,沒有團隊合作本次設計難以完成;2、感謝龔仁喜老師的課程,對本次設計起著指導性的作用;3、感謝周東凱同學在實際設計中在軟件使用、程序編寫方面的幫助與指導。五、附錄1、仿真電路圖2、Proteus下顯示器截圖初始界面電阻測量截圖電感測量截圖電容測量截圖3、程序代碼#include<reg52.h>#include"string.h"http://--------------------------------------------------------------#defineRS_CLRRS=0#defineRS_SETRS=1#defineRW_CLRRW=0#defineRW_SETRW=1#defineEN_CLREN=0#defineEN_SETEN=1#defineuint8unsignedcharsbitkey_set=P3^2;//sbitLED=P3^7;//bitTEST_ON=0;//unsignedcharKEY_VALUE;//--------------------------------------------------------------//--------------------LCD---------------------------------------sbitRS=P2^1; sbitRW=P2^0;sbitEN=P2^2;//--------------------------------------------------------------sbitC_A=P2^5;sbitC_B=P2^6;sbitC_C=P2^7;//--------------------------------------------------------------unsignedcharT0count,timecount;//--------------------------------------------------------------sbitsw1=P2^3;sbitsw2=P2^4;sbitRT_EN=P1^0;//電阻測量使能sbitCT_EN=P1^1;//電容測量使能sbitLT_EN=P1^2;//電感測量使能bitflag1;floatRTEST=0.0,x=0.0,LTEST=0.0,CTEST=0.0;//定時器計數(shù)器初始化voidInitTimer(void){ TMOD=0x15; TH0=0; TL0=0; TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; ET0=1; ET1=1; PT1=1; EA=1;}//計數(shù)器復位voidTCOUNTER0_RESET(void){ timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; TR1=1;}//--------------------------------------------------------------//--------------------------------------------------------------//選擇為電阻檔voidCD4051_SEL_RES(void){ C_A=0; C_B=0; C_C=0;}//選擇為電容X1檔voidCD4051_SEL_CAP1(void){ C_A=1; C_B=0; C_C=0;}//選擇為電容X10檔voidCD4051_SEL_CAP10(void){ C_A=0; C_B=1; C_C=0;}//選擇為電感X1檔voidCD4051_SEL_IND1(void){ C_A=1; C_B=1; C_C=0;}//選擇為電感X10檔voidCD4051_SEL_IND10(void){ C_A=0; C_B=0; C_C=1;}//選擇為電感X100檔voidCD4051_SEL_IND100(void){ C_A=1; C_B=0; C_C=1;}//-----------------------------------------------------------voiddelay(void)//延時10ms{unsignedchara,b,c;for(c=1;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}voiddelay_us(unsignedcharx){ for(;x>0;x--);}voiddelay_ms(unsignedcharx){ unsignedchary; for(;x>0;x--) for(y=1000;y>0;y--);}//-------------初始化外部中斷函數(shù)-------------------------------voidInitKEY_INT0(void){IT0=1; EX0=1; }//--------------------------------------------------------------//-------------1602寫入命令函數(shù)---------------------------------voidLCD_write_com(uint8com){ RS_CLR; RW_CLR; EN_SET; P0=com; delay_us(5); EN_CLR;}//--------------------------------------------------------------//-------------1602寫入數(shù)據(jù)函數(shù)---------------------------------voidLCD_write_Data(uint8Data){ RS_SET; RW_CLR; EN_SET; P0=Data; delay_us(5); EN_CLR;}//--------------------------------------------------------------//-------------1602清屏函數(shù)-------------------------------------voidLCD_clear(void){ LCD_write_com(0x01); delay_ms(5);}//-------------1602寫入字符串函數(shù)-------------------------------voidLCD_write_str(uint8x,uint8y,uint8*s){ if(y==0) { LCD_write_com(0x80+x); } else { LCD_write_com(0xC0+x); } while(*s) { LCD_write_Data(*s); s++; }}//--------------------------------------------------------------//-------------1602顯示*N個字符---------------------------------voidDIS_N_CHAR(uint8DIS_ADDR,uint8N,uint8*N_CHAR_ADDR){ uint8i; LCD_write_com(DIS_ADDR);for(i=0;i<N;i++)LCD_write_Data(*N_CHAR_ADDR++);}//--------------------------------------------------------------//-------------1602寫入字節(jié)函數(shù)---------------------------------voidLCD_write_char(uint8x,uint8y,uint8Data){ if(y==0) { LCD_write_com(0x80+x); } else { LCD_write_com(0xC0+x); } LCD_write_Data(Data);}//--------------------------------------------------------------//-------------1602數(shù)碼轉換子函數(shù)-------------------------------voidDIS_NUM(uint8temp){ switch(temp)//轉換鍵值{ case0x00:LCD_write_Data('0');break; case0x01:LCD_write_Data('1');break; case0x02:LCD_write_Data('2');break; case0x03:LCD_write_Data('3');break; case0x04:LCD_write_Data('4');break; case0x05:LCD_write_Data('5');break; case0x06:LCD_write_Data('6');break; case0x07:LCD_write_Data('7');break; case0x08:LCD_write_Data('8');break; case0x09:LCD_write_Data('9');break; case0x0a:LCD_write_Data('.');break; default:break;}}//--------------------------------------------------------------//-------------1602字符串轉換子函數(shù)-----------------------------voidDIS_ARRY(unsignedcharx,unsignedchary,unsignedintlen,unsignedchar*s){ intbase_adr; switch(y){ case0:base_adr=0x80;break; case1:base_adr=0x0c0;break;}if((x>=0)&&(x<=16)) { base_adr+=x; DIS_N_CHAR(base_adr,len,s); } }//--------------------------------------------------------------//--------------1602整形轉字符型子函數(shù)--------------------------char*INTEGR_TO_CHAR(intvalue,char*str,intradix){ staticcharszMap[]={ '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; intnValue;intnCount=-1,nIndex;char*pStr=str,nTemp;if(radix>=2&&radix<=36){if(value<0&&radix==10){*pStr++='-';value=-value;} nValue=*(unsigned*)&value; do {pStr[++nCount]=szMap[nValue%radix];nValue/=radix;}while(nValue>0);nIndex=(nCount+1)/2;while(nIndex-->0) {nTemp=pStr[nIndex];pStr[nIndex]=pStr[nCount-nIndex];pStr[nCount-nIndex]=nTemp;}}pStr[nCount+1]='\0';returnstr;}//--------------------------------------------------------------//------------1602無符號整型數(shù)顯示子函數(shù)------------------------voidDIS_UINT(uint8x,uint8y,intnum){ idatacharBuf[8]={0}; INTEGR_TO_CHAR(num,Buf,10); DIS_ARRY(x,y,strlen(Buf),Buf);}//--------------------------------------------------------------//------------1602浮點數(shù)轉字符型子函數(shù)--------------------------char*Float_To_Char(floatdb,char*db_str){intDecP=1,loop;float_db;idataintdb_arr[20];if(db>=0.0){ while(db>=10.0){ DecP++;db/=10;}for(loop=0;loop<17;loop++){if(loop==DecP){db_arr[loop]=-2;continue;}db_arr[loop]=(int)db;db-=db_arr[loop];db*=10.0;}for(loop=0;loop<17;loop++)db_str[loop]=db_arr[loop]+48;return(db_str);}else{_db=-db;while(_db>=10.0){DecP++;_db/=10;}for(loop=0;loop<17;loop++){if(loop==DecP){ db_arr[loop]=-2;continue;}db_arr[loop]=(int)(_db);_db-=db_arr[loop];_db*=10.0;}for(loop=0;loop<17;loop++)db_str[loop]=db_arr[loop]+48;return(db_str);}}//--------------------------------------------------------------//-------------1602浮點數(shù)顯示子函數(shù)-----------------------------voidShowFloat(unsignedcharx,unsignedchary,floatnum,intlen){idatacharBuf[17];Float_To_Char(num,Buf);DIS_ARRY(x,y,len,Buf);}//--------------------------------------------------------------//-------------1602液晶屏初始化函數(shù)-----------------------------voidLCD_init(void){ LCD_write_com(0x38); delay_ms(5);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x38);LCD_write_com(0x08);LCD_write_com(0x01);LCD_write_com(0x06);delay_ms(5);LCD_write_com(0x0C);}//--------------------------------------------------------------//電感檔位切換函數(shù)voidindctor_choose(uint8y){ switch(y) { case1: CD4051_SEL_IND100();break; case2:CD4051_SEL_IND10();break; case3:CD4051_SEL_IND1(); }}//電阻檔位切換函數(shù)voidRESISTOR_choose(uint8temp){ if(temp==0)sw1=1;//電容選1檔 elsesw1=0;//電容選2檔 }//電容檔位切換函數(shù)voidCAPCITOR_choose(uint8temp){ if(temp==0)sw2=1;//電容選1檔 else sw2=0;//電容選2檔 }//電感測量函數(shù)voidINDUCTOR_MEASURGE(void)//參數(shù)需要重設{unsignedchary=0; bitflag2=1;RT_EN=0;CT_EN=0;LT_EN=1; CD4051_SEL_IND100(); LCD_write_com(0x01); LCD_write_str(0,0,"Freq="); LCD_write_str(14,0,"Hz"); LCD_write_str(0,1,"L="); LCD_write_str(14,1,"mH"); while(KEY_VALUE==0XA0) {x=0;if(flag1==1){flag1=0;x=T0count*65536+TH0*256+TL0; if((x<=50)&&(y<2)) { y++; indctor_choose(y); flag2=0; } elseflag2=1; ShowFloat(6,0,x,6); if(flag2==1){ switch(y) { case0:LTEST=760.10/x;break; case1:LTEST=761.0/x;break; case2:LTEST=7610.0/x; } ShowFloat(5,1,LTEST,8); }TCOUNTER0_RESET(); }}}//電阻測量函數(shù)voidRESISTOR_MEASURGE(void){unsignedcharRmp=0; bitflag2=1; RT_EN=1;CT_EN=0;LT_EN=0; CD4051_SEL_RES(); LCD_write_com(0x01); LCD_write_str(0,0,"Freq="); LCD_write_str(14,0,"Hz"); LCD_write_str(0,1,"R="); LCD_write_str(14,1,"om"); while(KEY_VALUE==0XC0) {x=0;if(flag1==1){flag1=0;x=T0count*65536+TH0*256+TL0; if((x<=50)&&(Rmp==0)) { Rmp=1; RESISTOR_choose(Rmp); flag2=0; } elseflag2=1; ShowFloat(6,0,x,6); if(flag2==1){if(Rmp==0) {RTEST=72.0*10000/x-500;//C=500n if(RTEST<=25)RTEST=RTEST-2.0; if(RTEST<=50)RTEST=RTEST-1.5; if(RTEST<=65)RTEST=RTEST-1.0; } elseRTEST=72.0*5000000/x-500;//C=1n if((RTEST>=1000)&&(RTEST<1000000)) {RTEST=RTEST/1000;//顯示檔位換為k檔 LCD_write_str(14,1,"k"); } elseif(RTEST>=1000000) { RTEST=RTEST/1000000;//顯示檔位換為k檔 LCD_write_str(14,1,"M"); } ShowFloat(5,1,RTEST,8); }TCOUNTER0_RESET(); }}}//電容測量函數(shù)voidCAPACITOR_MEASURGE(void){unsignedchartemp=0; bitflag2=1; RT_EN=0;CT_EN=1;LT_EN=0; LCD_write_com(0x01); LCD_write_str(0,0,"Freq="); LCD_write_str(14,0,"Hz"); LCD_writ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論