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