STM32F103控制器的蓄電池雙向電流檢測
在第二級反相放大電路中可得:
③STM32F103的A/D轉(zhuǎn)換器精度為12位,理論上對應(yīng)數(shù)字量范圍0~4096。實際情況下,由于接插件、線纜、PCB和器件的綜合影響,充放電流計算公式為:y=kx-5.046,k=0.00244。在實際的程序編制中,k定義為float數(shù)據(jù)類型,至少取3位有效數(shù)字,才能保證O.01 A的電流精度。x表示A/D轉(zhuǎn)換器得到的數(shù)字量。y表示實際電流值,負(fù)數(shù)表示充電電流,正數(shù)表示放電電流。充放電電流和A/D數(shù)字量的曲線關(guān)系如圖3所示。本文引用地址:http://www.ex-cimer.com/article/162582.htm
2 軟件設(shè)計
2.1 基本思路
監(jiān)控系統(tǒng)軟件的開發(fā)采用ARM公司的Real View MDK開發(fā)工具,統(tǒng)一采用C語言編程。為提高開發(fā)效率,ST公司推出了針對STM32控制器的固件函數(shù)庫,目前的最新版本為STM32F10x_StdPeriph_Lib_V3.2.O。電壓和電流檢測A/D轉(zhuǎn)換的軟件設(shè)置如下:
①配置模擬量輸入的GPIO口。STM32控制器有個很大的優(yōu)點,其A/D轉(zhuǎn)換輸入引腳可以是任意GPIO,只要GPIO配置為GPIO_Mode_AIN模式,即可以實現(xiàn)模擬量輸入。STM32F103共有16個外部通道,該設(shè)計中將PCA和PC6作為電壓量和電流量的ADC輸入端。
②將ADC設(shè)置為連續(xù)轉(zhuǎn)換模式、右對齊、非外部觸發(fā)。
③啟動ADC,開始采樣轉(zhuǎn)換和處理。
2.2 軟件濾波措施
該應(yīng)用中電壓量和電流量為變化較緩的信號,故軟件采取防脈沖干擾平均濾波算法。連續(xù)采樣N個數(shù)據(jù),去掉一個最大值和一個最小值,然后計算N-2個數(shù)據(jù)的算術(shù)平均值。通過實驗N取5時可達(dá)到滿意的效果。該算法能夠剔除偶然出現(xiàn)的脈沖性干擾,消除由于脈沖干擾所引起的采樣值偏差。
3 提高信號檢測精度的措施
為提高ADC處理的精度和系統(tǒng)抗干擾能力,該設(shè)計從ADC的使用、電壓基準(zhǔn)和供電、濾波及元器件的選擇等方面采取了系列的措施。
3.1 ADC的使用
使用STM32F103的ADC時考慮兩個方面:
①兩個模擬量輸入口臨近的引腳不安排數(shù)字量I/O。I/O腳之間存在耦合電容,因此I/O端口的翻轉(zhuǎn)可能對ADC的模擬輸入產(chǎn)生一些噪聲。這可能是因為PCB走線過于靠近,或互相交叉而產(chǎn)生的。
②溫度會對ADC的精度產(chǎn)生較大的影響,主要包括偏移誤差和增益誤差。這些誤差可以通過微控制器的固件程序補償。一種方法是,根據(jù)不同的溫度范圍測量出完整的偏移和增益變化,再在存儲器中建立一個對照表,需要耗費額外的費用和時間。另一種方法是,當(dāng)溫度達(dá)到某個數(shù)值時,使用內(nèi)部的溫度傳感器和ADC看門狗功能,重新校準(zhǔn)。
3.2 電壓基準(zhǔn)芯片和獨立電源供電
在該設(shè)計中為保證信號的質(zhì)量,重要的電平信號采用專用芯片來實現(xiàn)。例如使用REF2912和REF2925電壓基準(zhǔn)芯片產(chǎn)生+1.25 V和+2.5 V兩個電壓基準(zhǔn)源,+1.25 V基準(zhǔn)信號用于放大器累加電路,+2.5 V基準(zhǔn)信號提供給SFM32F103的Vref+。另外,模擬電路、控制器模擬供電和數(shù)字電路供電采用獨立電源,由專用DC/DC提供±15 V電源,為電流傳感器LA-28P及運算放大器LM324供電,STM32F103的模擬部分VDDA和數(shù)字部分VDD使用獨立的+3.3 V供電。三種獨立電源于一點共地,盡可能地減少電源間的互擾。這樣做的好處是,避免了很多的I/O端口翻轉(zhuǎn)操作在直流電源上產(chǎn)生的大量的噪聲干擾。
3.3 其他抗干擾措施
該設(shè)計還采取了其他的一些抗干擾措施:STM32F103控制器的VDDA和Vref+引腳連接2個外部的去耦電容器(10 nF瓷介電容+1 μF的鉭電容);模擬電路中的所有電阻采用1%精度的金屬膜電阻;在PCB的布置中,模擬電路部分遠(yuǎn)離數(shù)字部分,避免了在模擬電路底下通過數(shù)字信號線。
結(jié)語
該設(shè)計實現(xiàn)了充放電電流信號的累加升壓、跟隨反向,利用STM32F103控制器片內(nèi)12位A/D實現(xiàn)了實時監(jiān)測。最終電壓檢測實際精度達(dá)到O.005 V,電流實際精度達(dá)到O.005 A,效果穩(wěn)定、可靠,滿足了設(shè)計要求。需進(jìn)一步改進(jìn)之處在于處理系統(tǒng)的溫漂問題,即溫度對電路的影響。
基爾霍夫電流相關(guān)文章:基爾霍夫電流定律
評論