鋰離子電池組監(jiān)控系統(tǒng)研究與實現 ― 下位機軟件設計
4.1開發(fā)平臺
本文引用地址:http://m.butianyuan.cn/article/201808/387859.htm由于本系統(tǒng)采用的是TI公司的MSP430系列的單片機,因此開發(fā)平臺選用IAR Embedded Workbench for Msp430 3.42A這個版本。該軟件是一種增強型一體化嵌入式集成開發(fā)環(huán)境,其中完全集成了開發(fā)嵌入式所需的文件編輯、項目管理、編譯、鏈接和調試工具。該軟件除了可以進行純軟件仿真,也可以結合仿真器實現在線仿真調試。
4.2軟件模塊劃分
下位機軟件系統(tǒng)主要由定時中斷數據采集處理模塊、外部中斷短路保護模塊、充放電保護模塊和均衡保護模塊等構成。軟件主程序流程圖如圖4.1所示。
4.3數據采集模塊
數據采集處理模塊是整個檢測系統(tǒng)的核心,通過在主程序中設置定時器1的定時時間,使其產生中斷,在中斷程序里完成對電壓、電流和溫度等參數的采集和處理。該模塊包括電壓,電流及溫度的采集以及處理。這些數據的精確度對系統(tǒng)的性能有著決定性的作用。
4.3.1電壓采集模塊系統(tǒng)需要對16節(jié)鋰電池模組的單節(jié)電池電壓進行采集,由于MSP430F233只有8路A/D,同時還要對4路溫度及1路電流采樣,因此,系統(tǒng)采用分時復用的方式用一路A/D實現對16節(jié)鋰電池進行電壓采集,復用方式采用4片CD4052實現。程序中建立兩個枚舉類型的數據來對CD4052進行選通,每次選通時,利用CD4052的差分功能可得到單節(jié)的電池電壓。這兩個枚舉類型為:
enum ADD_STATA{S0,S1,S2,S3}
enum CS_STATA{CS1,CS2,CS3,CS4}
其中ADD_STATA用于對單片的CD4052的四路通路進行選擇,CS_STATA對CD4052進行片選,在程序中對應這兩種枚舉數據類型的變量分別為ADD_A_B和CS_SEL,電壓的采樣利用定時器1中斷。定時器每計數200下采樣一次,每路信號采樣10次。
系統(tǒng)晶振頻率為32K,因此,每次采樣的采樣周期為:t=200/32k=0.006s
4.3.2電流及溫度采集模塊
系統(tǒng)電流的采集通過檢測高端電流檢測芯片MAX4081上RS-和RS+兩端的電壓獲得。溫度的采集通過檢測熱敏電阻兩端的電壓獲得。電流和溫度信號的采集共占用5路A/D通道。
4.4充放電管理模塊
4.4.1充電管理模塊
鋰電池模組在正常情況下充電回路要保持一旦接通就充電,但在充電過程中如果單體電壓的最大值大于4.2V時,啟動定時器2,定時一段時間后進入中斷,在中斷內再次對該過充信號進行檢測,如果仍然超過設定值,就需要啟動充電保護,斷開充電回路。但由于某種原因(比如放電)而使最大值下降到4.0V且持續(xù)一定時間要接通充電回路,以方便下次充電。為實現此功能定義了幾個標志位:charge_guard, chage_f_guard, charge_guarded,分別代表單體電池電壓最大值大于4.2V標志,單體電池電壓最大值小于4.0V標志和進入充電保護標志。具體實現方式為先根據電池最大值決定是否啟動定時器中斷,流程圖如4.2所示:
評論