一種簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作
1引言
本文引用地址:http://2s4d.com/article/201710/367193.htm在電量的測(cè)量中,電壓、電流和頻率是最基本的三個(gè)被測(cè)量,而電壓的測(cè)量最為常見(jiàn),現(xiàn)在學(xué)生使用的數(shù)字萬(wàn)用表能夠測(cè)量多種電量,并且具有一定的精度,使用方便。為了讓學(xué)生更好地了解數(shù)字電壓表的工作原理,從而激發(fā)他們對(duì)單片機(jī)課程的學(xué)習(xí)興趣,本文從軟硬件設(shè)計(jì)、proteus仿真、制作實(shí)物、誤差分析幾個(gè)方面著手,闡述數(shù)字電壓表的工作原理、數(shù)據(jù)的程序處理方法、數(shù)字信號(hào)軟件濾波原理。
2.硬件設(shè)計(jì)
硬件電路設(shè)計(jì)由4個(gè)部分組成:a/d轉(zhuǎn)換電路,at89c51單片機(jī)系統(tǒng),led顯示系統(tǒng)、測(cè)量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖1所示。其總設(shè)計(jì)框圖如下:
此電路的工作原理是:+5v模擬電壓信號(hào)通過(guò)變阻器vr1分壓后由adc08008的in0通道進(jìn)入(由于使用的in0通道,所以 adda,addb,addc均接低電平),經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過(guò)其輸出通道d0-d7傳送給at89c51芯片的p0 口,at89c51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過(guò)數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位led,同時(shí)它還通過(guò)其四位i/o口p2.0、 p2.1、p2.2、p2.3產(chǎn)生位選信號(hào)控制數(shù)碼管的亮滅。
簡(jiǎn)易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計(jì)完成,就可以選取相應(yīng)的芯片和元器件,利用proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實(shí)現(xiàn)電路對(duì)電壓的測(cè)量和顯示的功能,還需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計(jì)要求。
3.軟件設(shè)計(jì)
根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,a/d轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序,如圖2所示。
整個(gè)程序設(shè)計(jì)的核心在于對(duì)a/d轉(zhuǎn)換的數(shù)據(jù)進(jìn)行處理,包括數(shù)字濾波處理,數(shù)據(jù)小數(shù)位數(shù)的處理等。a/d轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模塊電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元。
顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動(dòng)態(tài)掃描顯示方式時(shí),要使得led顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l 率,當(dāng)掃描頻率在70hz左右時(shí),能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10MS對(duì)led進(jìn)行動(dòng)態(tài)掃描一次,每一位led的顯示時(shí)間為1MS。
4.結(jié)果及誤差分析
由于單片機(jī)at89c51為8位處理器,當(dāng)輸入電壓為5.00v時(shí),adc0808輸出數(shù)據(jù)值為255(ffh),因此單片機(jī)最高的數(shù)值分辨率為0.0196v(5/255)。這就決定了電壓表的最高分辨率只能到0.0196v,從表1可看到,測(cè)試電壓一般以0.01v的幅度變化。
當(dāng)in0口輸入電壓值為13.5v時(shí),顯示結(jié)果如圖3所示。測(cè)量誤差為0.1v。
從表1可以看出,簡(jiǎn)易數(shù)字電壓表測(cè)得的值基本上比標(biāo)準(zhǔn)電壓值偏大0-0.01v,這可以通過(guò)校正adc0808的基準(zhǔn)電壓來(lái)解決或者通過(guò)軟件校準(zhǔn)的方式來(lái)降低誤差。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用5v的供電電源作為電壓,所以電壓可能有偏差。當(dāng)要測(cè)量大于5v的電壓時(shí),可在輸入口使用分壓電阻,而程序中只 要將計(jì)算程序的除數(shù)進(jìn)行調(diào)整就可以了。
從測(cè)試的數(shù)據(jù)看,其絕對(duì)誤差均控制在1v以下,而相對(duì)誤差均在1%以下,能夠滿足大部分場(chǎng)合應(yīng)用的需要,如采用實(shí)驗(yàn)數(shù)據(jù)歸納的方法,將得出的數(shù)據(jù)繪制成曲線,再使用更為合理的算法,將得到更加準(zhǔn)確的結(jié)果。
評(píng)論