彭冬玲
摘 要:單片機的電壓測量器系統(tǒng)是以STM32芯片為核心,通過測量信號和標準電壓比較,輸出脈沖值,并進行液晶顯示的電壓測量系統(tǒng)。該電壓測量器采用模數(shù)轉(zhuǎn)換,通過硬件電路和軟件程序相結(jié)合思想來實現(xiàn),可自定義量程測量±15V以內(nèi)的電壓;電壓格式的顯示和精度的改變通過軟件控制;具有人機交互體驗好、電路簡單、性能穩(wěn)定和性價比極高等優(yōu)點。
關(guān)鍵詞:自量程電壓測量器;STM32;ADC采樣;TFT觸摸屏
中圖分類號:TM247 文獻標識碼:A
1 引言
在電子產(chǎn)品設(shè)計調(diào)試或者使用過程中,電壓測量往往是一個必不可少的環(huán)節(jié)。原始的電壓測量器為指針式,存在容易磨損、測量精準不足、人為誤差較大、及讀數(shù)困難等各種缺陷。隨著單片機技術(shù)的飛速發(fā)展,由微控制器和A/D轉(zhuǎn)換器結(jié)合形成的數(shù)字式電壓測量器逐漸占據(jù)了市場。數(shù)字電壓測量器(Digital Voltmeter)簡稱DVM,它是將測量的電壓與標準電壓進行比較,然后將數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號并顯示出來。數(shù)字電壓測量器由于運用了數(shù)字化測量技術(shù),顯示清晰直觀、準確度高、分辨率高、測量速率快、抗擾能力強。同時運用了單片機技術(shù),具有可擴展性強、集成化高、功耗小,同時還可以與PC機進行及時通信等特點。
2 電壓測量原理
本設(shè)計是基于STM32單片機的自量程的電壓測量電路,電路主要包含兩部分:硬件電路及軟件程序。而硬件電路以STM公司的STM32F103ZET6作為主處理器,系統(tǒng)主要由自量程信號輸入電路、STM32單片機和內(nèi)部A/D轉(zhuǎn)換、數(shù)據(jù)處理輸出、TFT觸摸液晶屏顯示器等幾個功能模塊構(gòu)成。系統(tǒng)框架圖如圖1所示。
電壓測量器能測量30V以下的電壓,當電壓小于3V時能自動選擇小量程來提高測量精度,精度不小于0.01;當電壓大于3V時,自動選擇大量程,從而避免了手動調(diào)節(jié)量程的麻煩,提高使用方便度。
3 電壓測量器系統(tǒng)設(shè)計
3.1 自量程信號輸入電路
自量程信號輸入電路的作用是把不同大小的被測電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。單片機數(shù)字電壓表所采用的STM32內(nèi)部的12位逐次逼近式ADC,它要求輸入電壓為0-3.3V。電路設(shè)計如圖2。
自量程電路可以自動選擇測量電壓量程,本儀表可以測±15V以內(nèi)的電壓,當電壓在±1.5V以內(nèi)的時候。自動跳到±1.5V小量程,精確到可以達到0.001,從而提高精度;當被測電壓超過±1.5V時,自動跳到±15V大量程,從而擴大量程。全過程不需要手動調(diào)節(jié),從而使該數(shù)字電壓測量器的使用領(lǐng)域變得更加廣泛、使用更加簡單方便。
3.2 輸入電路分析
電路(見圖2)主要由繼電器選量程電路、電阻分壓電路、電壓跟隨電路和差分升壓電路組成。
電路采用5V繼電器來控制量程,當電壓在±1.5V以內(nèi)時,單片機PF7給出高電平信號驅(qū)動三極管Q1導(dǎo)通,此時繼電器線圈帶電驅(qū)動K1開關(guān)合并,被測電壓直接經(jīng)過AR1電壓跟隨器進入到AR2運算放大器與負5V經(jīng)R6和R8峰壓得到的負1.5V作差運算得到正電壓,再到STM32單片機的ADC電壓處理模塊。被測電壓U1=U2-1.5。U1是測量輸入電壓,U2是ADC采集到的電壓。此時精確到為0.001,滿足設(shè)計要求。
當電壓大于1.5V小于15V(或者時小于-1.5V大于-15V),PF7引腳輸出低電平,三極管Q1不導(dǎo)通繼電器不工作,K1開關(guān)不導(dǎo)通,此時被測電壓經(jīng)R1,R2兩個電阻分壓,然后經(jīng)過電壓跟隨器進入差分升壓電路再到STM32單片機ADC處理模塊。被測電壓U1=(U2-1.5)* (R1+R2)/ R1=10*(U2-1.5)。U1是測量輸入電壓,U2是ADC采集到的電壓。此時測量精度為0.004,滿足設(shè)計要求。
用AR1741運算放大器做雙電源電壓跟隨器,使得系統(tǒng)的輸入阻抗可以達到幾兆歐,對被測電壓的影響可以忽略不計,又能有效的減少的輸入電路對后面單片機的影響,從而提高了測量精度,在測試過程中,發(fā)現(xiàn)電壓跟隨器是必不可少的,不然在測量的小電壓的時候,誤差很大。
AR2運算放大器的作用是通過差分電路把前面的輸入電壓抬高1.5V,使得測量負電壓時也能滿足單片機ADC采集電壓0到3.3V的輸入要求。
繼電器K1是輸入電路部分的執(zhí)行機構(gòu),也是選量程的核心部位,這里沒有選三極管作為開關(guān)的原因是三極管的不導(dǎo)通電阻只有4兆歐左右,其與輸入衰減網(wǎng)絡(luò)是并聯(lián)使用的,而衰減網(wǎng)絡(luò)的電阻也有1兆歐左右的電阻,對電路會產(chǎn)生很大影響。故選擇了繼電器,繼電器屬于機械開關(guān)型,有非常高的不導(dǎo)通電阻。
二極管D1起續(xù)流保護作用,D1為肖基特快速反應(yīng)二極管。由于繼電器內(nèi)部開關(guān)動作是由線圈完成的,而線圈是儲能元件,所以在下一次動作前,必須要釋放線圈上的電荷,才能保證下一次動作正常進行,也保護器件燒壞的風險。
二極管D2起過壓保護作用,當電壓大于3V時,回流給3.3V電源,防止STM32單片機引腳過壓燒壞。
R3是一限流電阻,阻值為1kΩ,避免三極管在燒壞的情況下,保護單片機引腳不被燒壞。
電阻R1與R2組成電壓衰減電路,可以擴大測量電壓范圍,在測試過程中,電阻阻值不能取的太大,但電阻大于一兆歐時,對小測量小于1V的電壓有誤差。這里選取900k和100k的精密電阻。
該部分是整個設(shè)計的核心,電路設(shè)計新穎,結(jié)構(gòu)簡單,成本低,工作穩(wěn)定性非常高,達到了高性價比要求。
3.3 TFT觸摸液晶屏顯示器
TFT-LCD全稱為:Thin Film Transistor-Liquid CrystalDisplay,即薄膜晶體管液晶顯示器。顯示器具有320×240 的分辨率,16 位真彩顯示,自帶觸摸屏,可以用來作為控制輸入。顯示器電路如圖3所示。
該液晶的控制芯片是ILI9341。ILI9341液晶控制芯片自帶顯存,其顯存總大小為172800(240*320*18/8),即18位模式(26萬色)下的顯存量。在 16位模式下,ILI9341采取RGB565格式存儲顏色數(shù)據(jù)。從圖3中可以看出,ILI9341在16 位模式下面,數(shù)據(jù)線有效的是:D17~D13和D11~D1,D0和D12沒有用到,ILI9341的 D17~D13和D11~D1對應(yīng)MCU的D15~D0。
處理器的16位數(shù)據(jù),最高5位為紅色,中間6位為綠色,最低5位代表藍色。數(shù)值越小,表示該顏色越淺。此外, ILI9341全部的指令都是8位的(高 8 位無效),且參數(shù)除了讀寫 GRAM 的時候是 16 位,其他操作參數(shù),都是 8 位的。通過0XD3,0X36,0X2A,0X2B,0X2C,0X2E這6條指令來控制液晶顯示。一般TFT液晶顯示屏使用步驟如圖4所示。
4 電壓測量器程序設(shè)計流程
自定義量程液晶顯示電壓測量器的軟件程序由主程序,A/D轉(zhuǎn)換子程序、觸控子程序、觸摸中斷子程序和液晶顯示程序組成,如圖5所示。
5 總結(jié)
電壓測量器設(shè)計的原理主要是利用自量程輸入電路采集待測電壓信號送給STM32內(nèi)置12位的ADC處理,然后輸出數(shù)字信號給STM32內(nèi)部數(shù)據(jù)處理單元處理。最后,單元進行處理通過2.8英寸的TFT觸摸屏顯示待測電壓的數(shù)值,實現(xiàn)自動選量程的雙量程電壓測量目的,實用性更強。
參考文獻:
[1] 譚浩強.C程序設(shè)計(第四版)[M].北京:清華大學出版社,2010.
[2] 張海藩.軟件工程導(dǎo)論(第五版[M].北京:清華大學出版社,2008.
[3] 李瑞. Atium Designer 14 電路設(shè)計與仿真[M].北京:人民郵電出版社,2014.
[4] 楊素行.模擬電子技術(shù)基礎(chǔ)簡明教程(第三版)[M].北京:高等教育出版社,2006.
[5] 康華光.電子技術(shù)基礎(chǔ)模擬部分第四版[M].北京:高等教育出版社,1999.
(本文審稿 李正發(fā))