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