簡易電阻、電容和電感測試儀報告_第1頁
簡易電阻、電容和電感測試儀報告_第2頁
簡易電阻、電容和電感測試儀報告_第3頁
簡易電阻、電容和電感測試儀報告_第4頁
簡易電阻、電容和電感測試儀報告_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、簡易電阻、電容和電感測試儀1.1基本設計要求(1)測量范圍:電阻1001M;電容100pF10000pF;電感100H10mH。(2)測量精度:±5% 。(3)制作4位數(shù)碼管顯示器,顯示測量數(shù)值。示意框圖1.2 設計要求發(fā)揮部分(1)擴大測量范圍;(2)提高測量精度;(3)測量量程自動轉化。 摘要:本系統(tǒng)是依賴單片機MSP430建立的的,本系統(tǒng)利用555多諧振蕩電路將電阻,電容參數(shù)轉化為頻率,而電感則是根據(jù)電容三點式振蕩轉化為頻率,這樣就能夠把模擬量近似的轉換為數(shù)字量,而頻率f是單片機很容易處理的數(shù)字量,一方面測量精度高,另一方面便于使儀表實現(xiàn)自動化,而且單片機構成的應用系統(tǒng)有較大的

2、可靠性。系統(tǒng)擴展、系統(tǒng)配置靈活。容易構成何種規(guī)模的應用系統(tǒng),且應用系統(tǒng)較高的軟、硬件利用系數(shù)。單片機具有可編程性,硬件的功能描述可完全在軟件上實現(xiàn),而且設計時間短,成本低,可靠性高。綜上所述,利用振蕩電路與單片機結合實現(xiàn)電阻、電容、電感測試儀更為簡便可行,節(jié)約成本。所以,本次設計選定以單片機為核心來進行。關鍵詞:430單片機,555多諧振蕩電路,電容三點式振蕩 一、 系統(tǒng)方案 電阻測量方案:555RC多諧振蕩。利用RC和555定時器組成的多諧振蕩電路,通過測量輸出振蕩頻率的大小即可求得電阻的大小,如果固定電阻值,該方案硬件電路實現(xiàn)簡單,通過選擇合適的電容值即可獲得適當?shù)念l率范圍,再交由單片機處

3、理。 綜合比較,本設計采用方案三,采用低廉的NE555構建RC多諧振蕩電路,電路簡單可行,單片機易控制。 電容測量方案:555RC多諧振蕩 同樣利用RC和555定時器組成的多諧振蕩電路,通過測量輸出振蕩頻率的大小即可求得電容的大小,如果固定電阻值,該方案硬件電路實現(xiàn)簡單,能測出較寬的電容范圍,能夠較好滿足題目的要求。 采用低廉的NE555構建RC多諧振蕩電路,電路簡單可行,單片機易控制。 電感測量方案:電容三點式采用LC配合三極管組成三點式震蕩振蕩電路,通過測輸出頻率大小的方法來實現(xiàn)對電感值測量。該方案成本低,其輸出波形為正弦波,將其波形整形后交給單片機測出其頻率,并轉換為電感值。二、 理論分

4、析與計算1. 電阻測量的分析及計算根據(jù)題目要求,如圖2.1,采用555多諧振電路,將電阻量轉化為相應的頻率信號值??紤]到單片機對頻率的敏感度,具體的講就是單片機對10KHz-100KHz的頻率計數(shù)精度最高。所以要選用合理的電阻和電容大小。同時又要考慮到不能使電阻的功率過大,所以在選第一個量程時取R=330,C=0.22uF(此時Rx=100歐為測量下限);在第二個量程取R=20 K,C=0.01uf(此時Rx=1兆歐為 測量上限)。 電路分為了兩個檔:1)、100Rx10000歐:R1=330歐,C=0.22uF:Rx=3.27885/f106-1952)、10000Rx10兆歐:R1=20千

5、歐,C=0.01微法:Rx=7.215/f107-10000仿真圖 圖2.12. 電容測量的分析與計算 測量電容采用的RC振蕩電路與測電阻的振蕩電路完全一樣,如圖2.2。同樣也選用兩個量程。第一個量程R1=R2=510千歐;第二個量程R1=R2=10千歐。這樣可使電容擋的測量范圍很寬。 電容的測量采用“脈沖計數(shù)法”,由555電路構成的多諧振蕩路,通過計算振蕩電路的輸出頻率計算被測電容的大小。電路分為了兩個檔:1)、100Cx1000pF: R1=R2=510k:Cx =48100000/f2)、10000pFCx47uF: R1=R2=10K:Cx =8400000/f圖2.2仿真圖3. 電感

6、測量的分析與計算 依據(jù)電感的特點,三點式振蕩電路把電感值轉換為相對應的頻率值,如圖2.3。在此處這個三點式振蕩電路中,C3,C4分別采用0.1u和0.22u的獨石電容,因其電容值遠遠大于晶體管極間電容值,所以可把極間電容值忽略。這樣根據(jù)振蕩頻率公式可以確定電感值: 則 L= 1/(2*3.14*fx)2/C C=C3*C4/(C3+C4) 一般而言,電容的穩(wěn)定性,特別是像獨石電容一類性能比較好的電容,誤差精度就能保持在-5%+5%以內。仿真圖 圖2.3 圖3.3三、 程序設計電阻、電容和電感參數(shù)測試儀主程序流程圖如圖4.1。根據(jù)按鍵選擇測量狀態(tài),進入相應的測試程序。 圖4.1四、 系統(tǒng)測試及結

7、果分析1. 測試使用的儀器設備測試使用的儀器設備如表4-1所示。 表4-1 測試使用的儀器設備序號名稱、型號、規(guī)格數(shù)量備注示波器DS10621EDU1無萬用表DM30511無穩(wěn)壓電源APS3003S-3D1無RCL電橋測量儀ZC2817D1無2.測試方法在系統(tǒng)設計中,以MSP430F149單片機為核心的電阻、電容、電感測試儀,將電阻,電容,電感,使用對應的振蕩電路轉化為頻率實現(xiàn)各個參數(shù)的測量。其中電阻和電容是采用555多諧振蕩電路產(chǎn)生的,而電感則是根據(jù)電容三點式產(chǎn)生的,通過定時并且計數(shù)可以計算出被測頻率,再通過該頻率計算出被測參數(shù)。使用C語言編程編寫了系統(tǒng)應用軟件;包括主程序模塊、顯示模塊、電

8、阻測試模塊、電容測試模塊和電感測試模塊、鍵盤模塊、整形模塊、模擬開關模塊。在測試時將被測參數(shù)通過本系統(tǒng)測量出來的示值與參數(shù)的標稱值進行對比,進而可以知道本系統(tǒng)的測試精度。2. 測試數(shù)據(jù) 我們RLC測試的量程為電阻:100 至10 M;電容:100pF至47uF;電感:10uH至15mH。測量數(shù)據(jù)如表4-2。表4-2 RLC測量數(shù)據(jù) 電阻測量 電容測量 電感測量實測值標稱值誤差實測值標稱值誤差實測值標稱值誤差100.13107.8-7.12114.24pf100pf14.24101.97uh100uh1.97500.11505-0.96949.15pf1000pf-5.081.028mh1mh2

9、.83985.299671.894501.6pf4700pf-4.229.74mh10mh-2.653.0196k2.95k2.3610001.8pf10000pf0.01810.16k9.8k3.72103863.9pf100000pf3.8652.04k53.3k-2.36324.8k327k-0.68978.5k985k-0.664.測試結果分析 在測試電阻電容時我們采用的是555振蕩器產(chǎn)生脈沖波進而測試其頻率來算出電容電阻。在測試時測量小電阻時時誤差有點大,但是測量大電阻時誤差就比較小了,都能達到設計要求。而測量電容時也是小電容時誤差有點大,而大電容誤差就很小了。因為電阻電容我們都是劃

10、分為兩個檔,所以有可能是檔位劃分的不夠精準,所以導致誤差較大。測電感時是通過電容三點式來測量的。我們的測量范圍為100uH到10mH,由于起振的幅度達不到555振蕩器幅度要求,所以測量10uH的就不能測試,因而我們只能測試100UH以上的。它的測量誤差也基本能達到設計的要求。五、 小結 本次課題是基于MSP430單片機的簡易電阻電容電感測試儀的制作。整體方案我們采用諧振法來測其頻率 來反算出其對應的值。電阻電容我們采用的是555振蕩器。而電感測試我們采用的電容三點式起振。硬件方面我們做出來基本能達到要求。就是在測量小電容電阻時有點誤差。但是軟件方面卻遇到了許多問題。從而導致最終結果沒有出來。做

11、的來說我們這次課題是失敗的。此次課題中,我們進一步學習了 MSP430單片機,也了解到了555振蕩器的工作原理。以及進一步學習了電容三點式的工作原理。但是,我們也有許多不足的地方,特別是軟件這塊。希望在接下來的培訓中能夠趕上來。 參考文獻 1 黃智偉全國大學生電子設計競賽 系統(tǒng)設計(第二版),北京航空航天大學出版社。 2 閻石數(shù)字電子技術基礎(第五版),高等教育出版社。 3 電子技術基礎(第五版).康華光.高等教育出版社,2006.4 電子線路設計 . 實驗 . 測試(第三版).謝自美.華中科技大學出版社,2006.附錄:/*按鍵1表示測電阻,按鍵2表示測電容,按鍵3表示測電感按鍵4表示切換量

12、程,每種對象默認用大量程,按鍵4可以在大小量程之間來回切換*/#include <msp430x14x.h>#include "boardConfig.h"#include "lcd1602.h"void delay1(unsigned char x) unsigned char y=100; for(;x>0;x-) while(y-); void Timerb_init(void) P4SEL |= BIT1; /選擇P1.1為第二功能 P4DIR &= BIT1; TBCTL = TBSSEL_2 + MC_2; /Tim

13、er_A時鐘源為MCLK、連續(xù)計數(shù)模式 TBCCTL1 = CM_1 + CAP + CCIE + CCIS_1 + SCS; /上升沿捕獲、捕獲模式、開中斷、選擇輸入端為CCI0A、同步捕獲void port1_init() P1IES = 0x0f; / P1.0P1.3選擇下降沿中斷 P1IE = 0x0f; / 打開中斷使能 P1DIR = BIT7; /設置P1.0P.3為輸入狀態(tài),P.7為輸出 P1OUT = 0;void main() unsigned int i; WDTCTL = WDTPW + WDTHOLD; BCSCTL1 &= XT2OFF; do IFG1&

14、amp;=OFIFG; /激活失敗標志位置零 for(i=0;i<250;i+); /等待激活 while(IFG1&OFIFG); /判斷是否激活 BCSCTL2 = SELM_2 + SELS; /主系統(tǒng)時鐘6M,子系統(tǒng)時鐘6M port1_init(); BoardConfig(0xfF); LcdReset(); Delay5ms(); LcdWriteCommand(0x01, 1); /顯示清屏 Timerb_init();_EINT(); while(1) if(r_now) /電阻第一檔計算 DispNChar(0,0,3,Rx1); if(range) Rx =

15、 (7.215 * 1000 *10 /fx -10)*10; Disp1Char(4,0,0x30+(long)(Rx/100000)%10); Disp1Char(5,0,0x30+(long)(Rx/10000)%10); Disp1Char(6,0,0x30+(long)(Rx/1000)%10); Disp1Char(7,0,0x30+(long)(Rx/100)%10); Disp1Char(8,0,0x30+(long)(Rx/10)%10); Disp1Char(9,0,'.'); Disp1Char(10,0,0x30+(long)Rx%10); DispNC

16、har(13,0,2,unit_R); else /電阻第二檔計算 Rx = (3.27885 * 1000 * 1000/fx - 165)*10; Disp1Char(4,0,0x30+(long)(Rx/10000000)%10); Disp1Char(5,0,0x30+(long)(Rx/1000000)%10); Disp1Char(6,0,0x30+(long)(Rx/100000)%10); Disp1Char(7,0,0x30+(long)(Rx/10000)%10); Disp1Char(8,0,0x30+(long)(Rx/1000)%10); Disp1Char(9,0,

17、0x30+(long)(Rx/100)%10); Disp1Char(10,0,0x30+(long)(Rx/10)%10); Disp1Char(11,0,'.'); Disp1Char(12,0,0x30+(long)Cx%10); Disp1Char(13,0,' '); Disp1Char(14,0,'o'); else if(c_now) /電容第一檔計算 DispNChar(0,0,3,Cx1); if(range) Cx = 4.8089 * 1000 * 100/ fx; Disp1Char(4,0,0x30+(long)(Cx/

18、100000)%10); Disp1Char(5,0,0x30+(long)(Cx/10000)%10); Disp1Char(6,0,0x30+(long)(Cx/1000)%10); Disp1Char(7,0,0x30+(long)(Cx/100)%10); Disp1Char(8,0,0x30+(long)(Cx/10)%10); Disp1Char(9,0,'.'); Disp1Char(10,0,0x30+(long)Cx%10); DispNChar(13,0,2,unit_C1); else /電容第二檔計算 Cx = 0.94 * 1000 * 1000 *

19、10/ fx ; Disp1Char(4,0,0x30+(long)(Cx/10000000)%10); Disp1Char(5,0,0x30+(long)(Cx/1000000)%10); Disp1Char(6,0,0x30+(long)(Cx/100000)%10); Disp1Char(7,0,0x30+(long)(Cx/10000)%10); Disp1Char(8,0,0x30+(long)(Cx/1000)%10); Disp1Char(9,0,0x30+(long)(Cx/100)%10); Disp1Char(10,0,0x30+(long)(Cx/10)%10); Dis

20、p1Char(11,0,'.'); Disp1Char(12,0,0x30+(long)Cx%10); DispNChar(13,0,2,unit_C2); else if(l_now) /電感計算 DispNChar(0,0,3,Lx1); Lx = 3.68441 * 1000 * 1000 * 1000 *1000 / fx/fx; Disp1Char(4,0,0x30+(long)(Lx/10000000)%10); Disp1Char(5,0,0x30+(long)(Lx/1000000)%10); Disp1Char(6,0,0x30+(long)(Lx/10000

21、0)%10); Disp1Char(7,0,0x30+(long)(Lx/10000)%10); Disp1Char(8,0,0x30+(long)(Lx/1000)%10); Disp1Char(9,0,0x30+(long)(Lx/100)%10); Disp1Char(10,0,0x30+(long)(Lx/10)%10); Disp1Char(11,0,'.'); Disp1Char(12,0,0x30+(long)Lx%10); DispNChar(13,0,2,unit_L); #pragma vector=PORT1_VECTOR_interrupt void P

22、ORT1_ISR(void) if(P1IFG & 0x0f) switch(P1IFG & 0x0f) case 0x01: if(keyin = 0x0e) /如果是第一個按鍵被按下 delay1(1); if(keyin = 0x0e) while(keyin != 0x0f); /等待按鍵放開 KeyVal = 1; range = 1; r_now = 1; c_now = 0; l_now = 0; P1IFG = 0; return; case 0x02: if(keyin = 0x0d) /如果是第二個按鍵被按下 delay1(1); if(keyin = 0x0d) while(keyin != 0x0f); /等待按鍵放開 KeyVal = 2; range =1; /復位到大量程 r_now = 0; c_now = 1; l_now = 0; P1IFG = 0; return; case 0x04: if(keyin = 0x0b) /如果是第三個按鍵被按下 delay1(1); if(keyin = 0x0b) while(keyin != 0x0f); /等待按鍵放開 KeyVal = 3; range = 1; r_now = 0; c_now = 0; l_now = 1; P

溫馨提示

  • 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

提交評論