?

基于單片機的電壓測量器系統設計

2017-05-11 14:27彭冬玲
武昌理工學院學報 2017年1期

彭冬玲

摘 要:單片機的電壓測量器系統是以STM32芯片為核心,通過測量信號和標準電壓比較,輸出脈沖值,并進行液晶顯示的電壓測量系統。該電壓測量器采用模數轉換,通過硬件電路和軟件程序相結合思想來實現,可自定義量程測量±15V以內的電壓;電壓格式的顯示和精度的改變通過軟件控制;具有人機交互體驗好、電路簡單、性能穩定和性價比極高等優點。

關鍵詞:自量程電壓測量器;STM32;ADC采樣;TFT觸摸屏

中圖分類號:TM247 文獻標識碼:A

1 引言

在電子產品設計調試或者使用過程中,電壓測量往往是一個必不可少的環節。原始的電壓測量器為指針式,存在容易磨損、測量精準不足、人為誤差較大、及讀數困難等各種缺陷。隨著單片機技術的飛速發展,由微控制器和A/D轉換器結合形成的數字式電壓測量器逐漸占據了市場。數字電壓測量器(Digital Voltmeter)簡稱DVM,它是將測量的電壓與標準電壓進行比較,然后將數據轉換為數字信號并顯示出來。數字電壓測量器由于運用了數字化測量技術,顯示清晰直觀、準確度高、分辨率高、測量速率快、抗擾能力強。同時運用了單片機技術,具有可擴展性強、集成化高、功耗小,同時還可以與PC機進行及時通信等特點。

2 電壓測量原理

本設計是基于STM32單片機的自量程的電壓測量電路,電路主要包含兩部分:硬件電路及軟件程序。而硬件電路以STM公司的STM32F103ZET6作為主處理器,系統主要由自量程信號輸入電路、STM32單片機和內部A/D轉換、數據處理輸出、TFT觸摸液晶屏顯示器等幾個功能模塊構成。系統框架圖如圖1所示。

電壓測量器能測量30V以下的電壓,當電壓小于3V時能自動選擇小量程來提高測量精度,精度不小于0.01;當電壓大于3V時,自動選擇大量程,從而避免了手動調節量程的麻煩,提高使用方便度。

3 電壓測量器系統設計

3.1 自量程信號輸入電路

自量程信號輸入電路的作用是把不同大小的被測電壓規范到A/D轉換器所要求的電壓值。單片機數字電壓表所采用的STM32內部的12位逐次逼近式ADC,它要求輸入電壓為0-3.3V。電路設計如圖2。

自量程電路可以自動選擇測量電壓量程,本儀表可以測±15V以內的電壓,當電壓在±1.5V以內的時候。自動跳到±1.5V小量程,精確到可以達到0.001,從而提高精度;當被測電壓超過±1.5V時,自動跳到±15V大量程,從而擴大量程。全過程不需要手動調節,從而使該數字電壓測量器的使用領域變得更加廣泛、使用更加簡單方便。

3.2 輸入電路分析

電路(見圖2)主要由繼電器選量程電路、電阻分壓電路、電壓跟隨電路和差分升壓電路組成。

電路采用5V繼電器來控制量程,當電壓在±1.5V以內時,單片機PF7給出高電平信號驅動三極管Q1導通,此時繼電器線圈帶電驅動K1開關合并,被測電壓直接經過AR1電壓跟隨器進入到AR2運算放大器與負5V經R6和R8峰壓得到的負1.5V作差運算得到正電壓,再到STM32單片機的ADC電壓處理模塊。被測電壓U1=U2-1.5。U1是測量輸入電壓,U2是ADC采集到的電壓。此時精確到為0.001,滿足設計要求。

當電壓大于1.5V小于15V(或者時小于-1.5V大于-15V),PF7引腳輸出低電平,三極管Q1不導通繼電器不工作,K1開關不導通,此時被測電壓經R1,R2兩個電阻分壓,然后經過電壓跟隨器進入差分升壓電路再到STM32單片機ADC處理模塊。被測電壓U1=(U2-1.5)* (R1+R2)/ R1=10*(U2-1.5)。U1是測量輸入電壓,U2是ADC采集到的電壓。此時測量精度為0.004,滿足設計要求。

用AR1741運算放大器做雙電源電壓跟隨器,使得系統的輸入阻抗可以達到幾兆歐,對被測電壓的影響可以忽略不計,又能有效的減少的輸入電路對后面單片機的影響,從而提高了測量精度,在測試過程中,發現電壓跟隨器是必不可少的,不然在測量的小電壓的時候,誤差很大。

AR2運算放大器的作用是通過差分電路把前面的輸入電壓抬高1.5V,使得測量負電壓時也能滿足單片機ADC采集電壓0到3.3V的輸入要求。

繼電器K1是輸入電路部分的執行機構,也是選量程的核心部位,這里沒有選三極管作為開關的原因是三極管的不導通電阻只有4兆歐左右,其與輸入衰減網絡是并聯使用的,而衰減網絡的電阻也有1兆歐左右的電阻,對電路會產生很大影響。故選擇了繼電器,繼電器屬于機械開關型,有非常高的不導通電阻。

二極管D1起續流保護作用,D1為肖基特快速反應二極管。由于繼電器內部開關動作是由線圈完成的,而線圈是儲能元件,所以在下一次動作前,必須要釋放線圈上的電荷,才能保證下一次動作正常進行,也保護器件燒壞的風險。

二極管D2起過壓保護作用,當電壓大于3V時,回流給3.3V電源,防止STM32單片機引腳過壓燒壞。

R3是一限流電阻,阻值為1kΩ,避免三極管在燒壞的情況下,保護單片機引腳不被燒壞。

電阻R1與R2組成電壓衰減電路,可以擴大測量電壓范圍,在測試過程中,電阻阻值不能取的太大,但電阻大于一兆歐時,對小測量小于1V的電壓有誤差。這里選取900k和100k的精密電阻。

該部分是整個設計的核心,電路設計新穎,結構簡單,成本低,工作穩定性非常高,達到了高性價比要求。

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格式存儲顏色數據。從圖3中可以看出,ILI9341在16 位模式下面,數據線有效的是:D17~D13和D11~D1,D0和D12沒有用到,ILI9341的 D17~D13和D11~D1對應MCU的D15~D0。

處理器的16位數據,最高5位為紅色,中間6位為綠色,最低5位代表藍色。數值越小,表示該顏色越淺。此外, ILI9341全部的指令都是8位的(高 8 位無效),且參數除了讀寫 GRAM 的時候是 16 位,其他操作參數,都是 8 位的。通過0XD3,0X36,0X2A,0X2B,0X2C,0X2E這6條指令來控制液晶顯示。一般TFT液晶顯示屏使用步驟如圖4所示。

4 電壓測量器程序設計流程

自定義量程液晶顯示電壓測量器的軟件程序由主程序,A/D轉換子程序、觸控子程序、觸摸中斷子程序和液晶顯示程序組成,如圖5所示。

5 總結

電壓測量器設計的原理主要是利用自量程輸入電路采集待測電壓信號送給STM32內置12位的ADC處理,然后輸出數字信號給STM32內部數據處理單元處理。最后,單元進行處理通過2.8英寸的TFT觸摸屏顯示待測電壓的數值,實現自動選量程的雙量程電壓測量目的,實用性更強。

參考文獻:

[1] 譚浩強.C程序設計(第四版)[M].北京:清華大學出版社,2010.

[2] 張海藩.軟件工程導論(第五版[M].北京:清華大學出版社,2008.

[3] 李瑞. Atium Designer 14 電路設計與仿真[M].北京:人民郵電出版社,2014.

[4] 楊素行.模擬電子技術基礎簡明教程(第三版)[M].北京:高等教育出版社,2006.

[5] 康華光.電子技術基礎模擬部分第四版[M].北京:高等教育出版社,1999.

(本文審稿 李正發)

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合