胡 旦,孫 佳,杜靈根,李 俊
?
基于STM32的蓄電池檢測(cè)系統(tǒng)設(shè)計(jì)
胡 旦,孫 佳,杜靈根,李 俊
(武漢船用電力推進(jìn)裝置研究所,武漢 430064)
蓄電池檢測(cè)系統(tǒng)是蓄電池質(zhì)量指標(biāo)中非常重要的一環(huán),直接影響蓄電池的性能和壽命。本文介紹一種以STM32微處理器STM32F103RCT6為核心的鉛酸蓄電池高精度智能檢測(cè)系統(tǒng),可以同時(shí)檢測(cè)電壓、溫度、液位,并根據(jù)神經(jīng)網(wǎng)絡(luò)計(jì)算得到電解液密度,用戶(hù)在上位機(jī)完成測(cè)試參數(shù)設(shè)置,自動(dòng)對(duì)電池的各項(xiàng)數(shù)據(jù)進(jìn)行存儲(chǔ)和報(bào)警。文中詳細(xì)介紹了系統(tǒng)組成、硬件和軟件設(shè)計(jì)。實(shí)踐證明該檢測(cè)系統(tǒng)滿足實(shí)際需求。
蓄電池 STM32F103RCT6 檢測(cè)系統(tǒng)
鉛酸蓄電池廣泛應(yīng)用于軍事、電力、交通、通信等領(lǐng)域。在現(xiàn)役潛艇電池和UPB系統(tǒng)中,鉛酸蓄電池短時(shí)間內(nèi)無(wú)法被其他電源系統(tǒng)取代。為保證鉛酸蓄電池的性能、壽命和可靠性,需實(shí)時(shí)檢測(cè)控制蓄電池組內(nèi)部的工作狀態(tài)。因此,檢測(cè)設(shè)備是蓄電池系統(tǒng)中必不可少的一環(huán)。
雖然目前市場(chǎng)上鉛酸蓄電池檢測(cè)儀種類(lèi)眾多,但大多數(shù)檢測(cè)參量少、檢測(cè)精度低且智能化程度低。因此,本文基于實(shí)際項(xiàng)目需求,設(shè)計(jì)了集成化、智能化、高精度的蓄電池檢測(cè)系統(tǒng)[1-3]。
本系統(tǒng)采以計(jì)算機(jī)為核心、采用CAN總線通訊和智能化參數(shù)監(jiān)測(cè)模塊技術(shù),能夠?qū)崿F(xiàn)蓄電池參數(shù)的自動(dòng)巡回檢測(cè)和顯示,遠(yuǎn)程數(shù)據(jù)處理、充、放電參數(shù)監(jiān)視等功能。技術(shù)上比較先進(jìn),功能擴(kuò)展方便,為以后實(shí)現(xiàn)蓄電池的綜合管理打下良好基礎(chǔ)。系統(tǒng)主要由工控機(jī)、智能采集模塊、電源模塊及線纜等組成,如圖1所示。工控機(jī)作為監(jiān)控系統(tǒng)的人機(jī)交互載體,運(yùn)行基于Labview的電池參數(shù)監(jiān)控軟件,控制智能采集模塊,同時(shí)對(duì)智能采集模塊的數(shù)據(jù)進(jìn)行處理,對(duì)蓄電池組參數(shù)進(jìn)行統(tǒng)計(jì),分析電池組的工作狀態(tài),對(duì)電池組狀態(tài)進(jìn)行顯示、存儲(chǔ)及與上級(jí)進(jìn)行信息交互,并對(duì)各類(lèi)故障進(jìn)行報(bào)警和指示。智能參數(shù)檢測(cè)模塊采用模塊化插件結(jié)構(gòu),具有體積小、重量輕、功耗低的特點(diǎn),能同時(shí)檢測(cè)電池的電壓、溫度、液面高度、充放電電流,進(jìn)行電解液密度計(jì)算、剩余電量估算(SOC)、健康態(tài)預(yù)測(cè)(SOH),如圖2所示。電源模塊能智能轉(zhuǎn)換兩路電源AV220V和DC24V,從而保證了電源的可靠性[4]。
圖1 檢測(cè)系統(tǒng)總體框圖
圖2智能采集模塊框圖
電池電解液密度計(jì)算由電池充放電試驗(yàn)數(shù)據(jù)庫(kù)開(kāi)發(fā)和電解液密度計(jì)算算法獲取兩部分工作組成。
首先建立電池充放電試驗(yàn)數(shù)據(jù)庫(kù),用于存儲(chǔ)電池充放電試驗(yàn)數(shù)據(jù)并提供數(shù)據(jù)檢索和分析功能,以便于提取電解液密度計(jì)算所需數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理。
根據(jù)電池充放電試驗(yàn)數(shù)據(jù)庫(kù)提供的數(shù)據(jù),利用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行電池電解液密度計(jì)算。目前采用基于BP神經(jīng)網(wǎng)絡(luò)。
最典型的BP神經(jīng)網(wǎng)絡(luò)是三層前饋網(wǎng)絡(luò),由輸入層、隱含層和輸出層組成。輸入層各神經(jīng)元對(duì)應(yīng)的輸入向量為:
x=(1,2,3)=()=1,···,m
其中,m為輸入樣本個(gè)數(shù)。根據(jù)BP神經(jīng)網(wǎng)絡(luò)的計(jì)算原理,首先按如下公式計(jì)算出隱含層各神經(jīng)元的輸入
式中,S為隱含層第j個(gè)神經(jīng)元的輸入值;w為輸入層第i個(gè)神經(jīng)元與隱含層第j個(gè)神經(jīng)元之間的連接權(quán)值;b為隱含層第j個(gè)神經(jīng)元的閾值;p為隱含層神經(jīng)元個(gè)數(shù)。為模擬生物神經(jīng)元的特性,以S作為激活函數(shù)的自變量來(lái)計(jì)算隱含層各單元的輸出。經(jīng)過(guò)測(cè)試,選擇對(duì)數(shù)S型(Log-Sigmoid)激活函數(shù)時(shí)計(jì)算精度較高。函數(shù)的數(shù)學(xué)表達(dá)式為:
式中,d為隱含層第j個(gè)神經(jīng)元的激活值;單元閾值b用于模擬生物神經(jīng)元的閾值電位。神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中神經(jīng)元間的連接權(quán)值和各神經(jīng)元的閾值一起被不斷修正,直到神經(jīng)網(wǎng)絡(luò)計(jì)算誤差下降到期望誤差值或達(dá)到最大訓(xùn)練次數(shù)。輸出層神經(jīng)元以隱含層神經(jīng)元的激活值和隱含層到輸出層神經(jīng)元的連接權(quán)值、輸出層神經(jīng)元閾值為自變量按照S計(jì)算輸入值,輸出值即為神經(jīng)網(wǎng)絡(luò)的仿真結(jié)果。在進(jìn)行電池電解液密度計(jì)算的BP神經(jīng)網(wǎng)絡(luò)建模中,隱含層到輸出層的激活函數(shù)選擇purelin線性函數(shù)。函數(shù)的數(shù)學(xué)表達(dá)式為:
式中,v為輸出層第k個(gè)神經(jīng)元的輸出值;h為輸出層第k個(gè)神經(jīng)元的輸入值;w為隱含層第j個(gè)神經(jīng)元到輸出層第k個(gè)神經(jīng)元間的連接權(quán)值;d為隱含層第j個(gè)神經(jīng)元的激活值;b為輸出層第k個(gè)神經(jīng)元的閾值;q為輸出層神經(jīng)元個(gè)數(shù)。
目前的計(jì)算采用電壓、放電電流、電解液溫度作為神經(jīng)網(wǎng)絡(luò)的輸入項(xiàng),以電池電解液密度為神經(jīng)網(wǎng)絡(luò)的輸出項(xiàng)。
將訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)模型的神經(jīng)元連接權(quán)值矩陣和閾值向量提取出來(lái),利用神經(jīng)網(wǎng)絡(luò)算法的計(jì)算原理進(jìn)行編程。
智能采集模塊的硬件主要包括:主控器、AD采樣保護(hù)電路、電壓采樣電路、溫度采樣電路、液位采樣電路。這里詳細(xì)介紹采樣保護(hù)、溫度采樣、A/D采集模塊、CAN模塊。
3.1 采樣保護(hù)電路
在監(jiān)控單元中,被檢測(cè)的對(duì)象如液位、電流等都是連續(xù)變化的量,通過(guò)相應(yīng)傳感器將它們轉(zhuǎn)換為連續(xù)變化的電流(4~20 mA),再選取一個(gè)適當(dāng)阻值的電阻將其轉(zhuǎn)化成0-3 V的電壓信號(hào)??紤]到工程實(shí)踐,需留有一定的裕量,經(jīng)轉(zhuǎn)換后傳感器的輸入信號(hào)限定在0.48~2.4 V,這樣取樣電阻設(shè)置為120 Ω。進(jìn)入AD采樣通道之前再設(shè)置一鉗位電路,鉗位電壓為2.5 V,以保證在異常情況下不至于使輸入AD通道電壓過(guò)高而燒毀ARM。采樣保護(hù)電路如圖3所示。
圖3 采樣保護(hù)電路
3.2 溫度采樣電路
針對(duì)蓄電池內(nèi)部檢測(cè)環(huán)境惡劣,而溫度的測(cè)量要求精度高的要求,溫度測(cè)量單元選用PT1000,其溫度測(cè)量范圍為:-40~+85℃,當(dāng)溫度為0℃時(shí),電阻值約為1000 Ω,當(dāng)溫度范圍在0~100℃時(shí),電阻值變化率為3.85 Ω/℃。將PT1000與一個(gè)阻值1.8 kΩ電阻串聯(lián),將一個(gè)阻值1.8 kΩ電阻和一個(gè)阻值為1 kΩ的電阻串聯(lián),它們共同組成一個(gè)橋式電路,給橋式電路施加一個(gè)直流5 V的電壓信號(hào),將橋式電路的兩個(gè)中間節(jié)點(diǎn)分別送入儀表放大器INA128的正負(fù)輸入端,INA128放大器芯片的增益設(shè)置為6,這樣可以更精確的測(cè)量到PT1000阻值變化時(shí)引起的電壓變化值,其輸出引腳連接STM32F103RCT6芯片的內(nèi)部AD模塊。溫度采樣電路圖如圖4所示。
圖4 溫度采樣電路
3.3 A/D采集模塊電路
A/D模塊采用16位串行高速A/D轉(zhuǎn)換器ADS8320,它是Burr-Brow公司生產(chǎn)的逐次逼近式串行微功耗CMOS型高速A/D轉(zhuǎn)換器,它的線性度為,工作電源在2.7~5.25 V范圍內(nèi),采樣頻率最高可達(dá)100 kHz;ADS8320具有同步串行SPI / SSI接口,因而占用微處理器的端口較少ADS8320的輸入端采用差模輸入方式。
圖5 A/D采集模塊電路
3.4 CAN模塊電路
由于多個(gè)蓄電池智能采集模塊并聯(lián)在CAN網(wǎng)絡(luò)中,向上位機(jī)收發(fā)數(shù)據(jù)時(shí),相互之間會(huì)存在干擾,因此傳統(tǒng)電路設(shè)計(jì)中在收發(fā)兩路都需要加上光耦隔離芯片,但這樣做的缺點(diǎn)是:電路相對(duì)復(fù)雜,且電路板占用面積大。因此本設(shè)計(jì)CAN控制器選用CTM8251LAT,它是一款帶隔離的通用CAN收發(fā)器芯片,其內(nèi)部集成了所有必需的CAN隔離及CAN收發(fā)器件,所有功能集成在不到3平方厘米的芯片上。
圖6 CAN模塊電路
軟件設(shè)計(jì)包括工控機(jī)信號(hào)分析與故障診斷和下位機(jī)信號(hào)采集處理兩個(gè)部分。工控機(jī)根據(jù)既定協(xié)議,通過(guò)CAN轉(zhuǎn)接卡與智能采集模塊進(jìn)行通信,以完成數(shù)據(jù)的接收與發(fā)送。工控機(jī)程序基于LabVIEW平臺(tái)上開(kāi)發(fā)。圖形化、模塊化是LabVIEW的最大特點(diǎn),它簡(jiǎn)化了程序代碼的編寫(xiě),從而開(kāi)發(fā)出功能完善、界面友好的應(yīng)用程序。其主要功能為:顯示電壓、密度、溫度測(cè)量值,對(duì)智能采集模塊進(jìn)行故障檢測(cè),對(duì)密度、溫度和液位越限報(bào)警。
智能采集模塊程序存儲(chǔ)于ARM FLASH中,上電完成芯片初始化、數(shù)據(jù)初始化,然后接收?qǐng)?zhí)行上級(jí)設(shè)備指令,完成信號(hào)數(shù)據(jù)采集并上傳數(shù)據(jù);如遇程序跑飛、死循環(huán),程序則會(huì)自動(dòng)重啟保證參數(shù)檢測(cè)模塊正常運(yùn)行。主程序負(fù)責(zé)對(duì)“檢查電池”的高低液位、溫度、電池電壓信號(hào)進(jìn)行采集、濾波、處理,同時(shí)通過(guò)神經(jīng)網(wǎng)絡(luò)計(jì)算得到電解液密度值,并通過(guò)CAN總線總線發(fā)送數(shù)據(jù)。CAN口數(shù)據(jù)采取中斷方式發(fā)送和接收數(shù)據(jù)。程序采用循環(huán)方式運(yùn)行,并采取了防死機(jī)措施。參數(shù)檢測(cè)模塊主程序流程圖如圖7、8所示。
圖7 參數(shù)檢測(cè)模塊主程序流程圖1
圖8 參數(shù)檢測(cè)模塊主程序流程圖2
為解決檢測(cè)系統(tǒng)檢測(cè)參量少、檢測(cè)精度低且智能化程度低的問(wèn)題,本文設(shè)計(jì)了一套智能檢測(cè)系統(tǒng),其中詳細(xì)介紹了蓄電池檢測(cè)系統(tǒng)的組成、采集模塊硬件和軟件設(shè)計(jì)。通過(guò)多輪次試驗(yàn)調(diào)試和運(yùn)行試驗(yàn),系統(tǒng)滿足設(shè)計(jì)指標(biāo)和可靠性要求,在應(yīng)用中滿足實(shí)際需求,為鉛酸電池電源系統(tǒng)的安全可靠運(yùn)行提供有力保障。
[1] 周志敏, 周紀(jì)海, 紀(jì)愛(ài)華.閥控式密封鉛酸蓄電池實(shí)用技術(shù)[M].北京: 電力出版社,2004: 66-70.
[2] 劉曉剛.鉛酸蓄電池容量檢測(cè)方法研究[D].武漢: 華中科技大學(xué), 2007.
[3] 舒新.蓄電池監(jiān)測(cè)系統(tǒng)研究與開(kāi)發(fā)[D].南京: 河海大學(xué), 2007.
[4] 樂(lè)毅成, 于水英, 付志超.鉛酸蓄電池監(jiān)控系統(tǒng)設(shè)計(jì)[J].船電技術(shù), 2016, 36(7).
Design of Detecting System with STM32 for A Battery
Hu Dan, Sun Jia, Du Linggen, Li Jun
(Wuhan Institute of Marine Electric Propulsion, Wuhan 430064, China)
;
TP273.4
A
1003-4862(2017)04-0077-04
2016-11-10
胡旦(1988-),男,工程師,研究方向:控制理論與控制工程。E-mail:hd_auto@163.com