基于單片機的簡易數(shù)字R-V-I測試儀的設(shè)計
摘要:介紹了一種基于AT89S52單片機的簡易數(shù)字R-V-I測試儀,用ADC0809作為數(shù)據(jù)轉(zhuǎn)換芯片,通過相應(yīng)的測量電路,能夠進行電阻及直流電壓、電流的測量并顯示。
關(guān)鍵詞:單片機;ADC0809;測量
0 引言
當前大量使用的一種基本的測量工具,廣泛應(yīng)用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,顯示出強大的生命力。針對電阻、電壓及電流三個基本電量的測量,本文設(shè)計了一個簡易的數(shù)字多用表。
1 總體設(shè)計方案
1.1 功能要求
本系統(tǒng)采用8位8路A/D轉(zhuǎn)換器ADC0809和AT89S52單片機,設(shè)計了一臺數(shù)字多用表,能進行電阻、電壓和電流的測量,測量結(jié)果通過LED數(shù)碼管顯示,通過按鍵進行測量功能轉(zhuǎn)換。電壓測量范圍為0~20 V,測量誤差約為±0.02 V;電流測量范圍為1~100 mA,測量誤差約為±0.5 mA;電阻測量范圍為0~100kΩ,1k以內(nèi)測量誤差約為±2Ω。
1.2 系統(tǒng)總體設(shè)計框圖
圖1為系統(tǒng)框圖。
信號一起經(jīng)或非門產(chǎn)生ADC0809的啟動信號START和地址鎖存信號ALE;片選信號和 信號一起經(jīng)或非門產(chǎn)生ADC0809的輸出允許信號OE,OE=1時,選通三態(tài)門使輸出鎖存器中的轉(zhuǎn)換結(jié)果送入數(shù)據(jù)總線;ADC0809的EOC信號經(jīng)反相后接到8051的INT1引腳,用于產(chǎn)生A/D轉(zhuǎn)換完成中斷請求信號;ADC0809芯片的3位模擬量輸入通道地址輸入端A、B、C分別接到單片機的P0.0、P0.1和P0.2,故只要向端口地址分別寫入數(shù)據(jù)00H~07H,即可啟動模擬量輸入通道0~7進行A/D轉(zhuǎn)換。ADC0809的參考正電壓為5V,參考負電壓為0V,時鐘輸入為1MHz。
單片機的P2.1引腳作為數(shù)碼管鎖存器74LS374的片選信號,片選信號和信號一起經(jīng)或非門及反相器接到數(shù)碼管鎖存器74LS374的CLK端,因此顯示器的數(shù)字端口地址為0FDFFH,而單片機的P1.4~P1.7引腳作為數(shù)碼管的數(shù)位選擇,顯示時先將數(shù)據(jù)通過數(shù)字端口寫入鎖存器,再通過數(shù)位選擇點亮相應(yīng)的數(shù)碼管。
單片機的P1.0~P1.2引腳通過一個轉(zhuǎn)換開關(guān)接地,通過判斷P1.0~P1.2引腳電平的高低,決定是否進行電阻測量、電壓測量或電流測量。由于主控模塊電路比較常規(guī),此處電路圖略。
2.2 電阻測量電路
圖2所示為數(shù)字多用表的電阻測量電路。
運算放大電路的反饋電阻RX作為待測電阻,根據(jù)采樣值RV的大小可以判斷是否需要改變量程,通過改變轉(zhuǎn)換開關(guān)SW2可以改變其量程范圍是1k、10k、100k??紤]到精度問題,沒有把量程繼續(xù)加大。如果開關(guān)SW2接通1kΩ電阻R2,則對應(yīng)的小繼電器RL2吸合,此時單片機會檢測到其對應(yīng)引腳P3.0是低電平。假定運算放大理想,那么RW=5RX/R2,將RV送給ADC0809的2通道,轉(zhuǎn)換后的數(shù)字量為DV=RV 255/5,單片機讀取A/D轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運算可得RX=DV R2/255。
2.3 電壓測量電路
圖3為數(shù)字多用表的電壓測量電路。
電壓信號經(jīng)RV9端對地輸入。R93、R94對輸入信號進行分壓;TL431和電阻R97、R98產(chǎn)生1.25V的基準源;LM324構(gòu)成比較器,當正端輸入大于負端輸入時將輸出高電平,當正端輸入小于負端輸入時將輸出低電平,RL9為常閉繼電器,01組成開關(guān)電路,當LM324輸出高電平時,01導通,電流經(jīng)R92和01集電極流向繼電器RL9源繞組從而關(guān)斷繼電器。
通過上述分析我們不難得出:當輸入信號小于5V時,電阻R94端電壓小于1.25V,LM324輸出低電平,01截止,繼電器導通,信號直接傳遞至AD轉(zhuǎn)換通道0;當輸入信號大于5V而小于20V時,電阻R94端電壓大于1.25V,LM324輸出高電平,01導通,繼電器截止,信號經(jīng)R93、R94分壓后,轉(zhuǎn)換為0V~5V信號傳遞至AD轉(zhuǎn)換的通道1。LM324輸出端通過非門接到單片機的P2.0口,所以通過判斷P2.0口的電平高低可知是啟動AD/轉(zhuǎn)換器的0通道還是1通道,進而測出電壓值。
2.4 電流測量電路
圖4中所示為數(shù)字多用儀表的電流測量電路。
電流測量范圍為1~100mA,因為ADC0809是電壓轉(zhuǎn)換器件,必須將電流轉(zhuǎn)換為電壓才能進行測量,這可以通過串接電阻RL來現(xiàn)實。注意,RL必須很小(如0.1Ω),否則會影響電流數(shù)值。由于待測電流和RL都很小,RL兩端的電壓也很小,必須將其放大到ADC0809能夠分辨的范圍之內(nèi)。假設(shè)待測電流大小為I,RL兩端節(jié)點的電壓分別為VA和VB,VA經(jīng)過反向放大緩沖電路之后VC=-VA。VA和VB經(jīng)過差分反向放大電路,得
將AV送給ADC0809的3通道轉(zhuǎn)換后得到數(shù)字量為,單片機讀取A/D轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運算可得。有兩個問題值得注意,由于電流的單位是mA,不能直接計算I的值,應(yīng)先變換為,再進行計算;其次,這么算出來的電流數(shù)值誤差比較大,原因是LM324不是精密理想運算放大器,當輸入信號很小時,誤差比較大。因此需要對計算數(shù)值進行修正,方法是先計算DAV 50000,然后將結(jié)果減去102000,再將得到的結(jié)果除以89760,這樣比較準確。關(guān)于102000這個數(shù)值,是通過反復測試并經(jīng)過曲線擬合得到的。
3 軟件設(shè)計
圖5為軟件的主程序流程圖。系統(tǒng)軟件主要由初始化模塊、LED顯示模塊、功能判斷模塊及三個功能子模塊組成。其中電阻測量模塊主要根據(jù)其電路輸出電壓的采樣值大小,判斷被測電阻是否在量程內(nèi),否則要通過顯示模塊給出增加或減小量程的提示,然后根據(jù)不同量程進行相應(yīng)計算并顯示測量結(jié)果。電壓測量模塊主要對其電路的LM324輸出端口,即通過判斷單片機的P2.0口的電平高低而決定是啟動ADC的0通道還是1通道,進行相應(yīng)的測量和計算,然后顯示出電壓值。電流測量模塊主要對電流的測量值進行修正擬合,減小與實際值的誤差。
4 結(jié)論
本數(shù)字多用表以AT89S52單片機作為主控芯片,以ADC0809為轉(zhuǎn)換器,配以相應(yīng)的測量電路,完成了對電阻和直流電壓、電流的測量功能,電路的設(shè)計比較簡單、精度比較高、功耗低、可擴展性強。能滿足要求不高場合的測量需求。當然本設(shè)計還有許多不完善的地方,需要繼續(xù)研究改進。
評論