鋰離子電池組監(jiān)控系統(tǒng)研究與實(shí)現(xiàn) — 下位機(jī)軟件設(shè)計(jì)
4.1開發(fā)平臺
本文引用地址:http://m.butianyuan.cn/article/274172.htm由于本系統(tǒng)采用的是TI公司的MSP430系列的單片機(jī),因此開發(fā)平臺選用IAR Embedded Workbench for Msp430 3.42A這個(gè)版本。該軟件是一種增強(qiáng)型一體化嵌入式集成開發(fā)環(huán)境,其中完全集成了開發(fā)嵌入式所需的文件編輯、項(xiàng)目管理、編譯、鏈接和調(diào)試工具。該軟件除了可以進(jìn)行純軟件仿真,也可以結(jié)合仿真器實(shí)現(xiàn)在線仿真調(diào)試。
4.2軟件模塊劃分
下位機(jī)軟件系統(tǒng)主要由定時(shí)中斷數(shù)據(jù)采集處理模塊、外部中斷短路保護(hù)模塊、充放電保護(hù)模塊和均衡保護(hù)模塊等構(gòu)成。軟件主程序流程圖如圖4.1所示。
4.3數(shù)據(jù)采集模塊
數(shù)據(jù)采集處理模塊是整個(gè)檢測系統(tǒng)的核心,通過在主程序中設(shè)置定時(shí)器1的定時(shí)時(shí)間,使其產(chǎn)生中斷,在中斷程序里完成對電壓、電流和溫度等參數(shù)的采集和處理。該模塊包括電壓,電流及溫度的采集以及處理。這些數(shù)據(jù)的精確度對系統(tǒng)的性能有著決定性的作用。
4.3.1電壓采集模塊系統(tǒng)需要對16節(jié)鋰電池模組的單節(jié)電池電壓進(jìn)行采集,由于MSP430F233只有8路A/D,同時(shí)還要對4路溫度及1路電流采樣,因此,系統(tǒng)采用分時(shí)復(fù)用的方式用一路A/D實(shí)現(xiàn)對16節(jié)鋰電池進(jìn)行電壓采集,復(fù)用方式采用4片CD4052實(shí)現(xiàn)。程序中建立兩個(gè)枚舉類型的數(shù)據(jù)來對CD4052進(jìn)行選通,每次選通時(shí),利用CD4052的差分功能可得到單節(jié)的電池電壓。這兩個(gè)枚舉類型為:
enum ADD_STATA{S0,S1,S2,S3}
enum CS_STATA{CS1,CS2,CS3,CS4}
其中ADD_STATA用于對單片的CD4052的四路通路進(jìn)行選擇,CS_STATA對CD4052進(jìn)行片選,在程序中對應(yīng)這兩種枚舉數(shù)據(jù)類型的變量分別為ADD_A_B和CS_SEL,電壓的采樣利用定時(shí)器1中斷。定時(shí)器每計(jì)數(shù)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時(shí),啟動(dòng)定時(shí)器2,定時(shí)一段時(shí)間后進(jìn)入中斷,在中斷內(nèi)再次對該過充信號進(jìn)行檢測,如果仍然超過設(shè)定值,就需要啟動(dòng)充電保護(hù),斷開充電回路。但由于某種原因(比如放電)而使最大值下降到4.0V且持續(xù)一定時(shí)間要接通充電回路,以方便下次充電。為實(shí)現(xiàn)此功能定義了幾個(gè)標(biāo)志位:charge_guard, chage_f_guard, charge_guarded,分別代表單體電池電壓最大值大于4.2V標(biāo)志,單體電池電壓最大值小于4.0V標(biāo)志和進(jìn)入充電保護(hù)標(biāo)志。具體實(shí)現(xiàn)方式為先根據(jù)電池最大值決定是否啟動(dòng)定時(shí)器中斷,流程圖如4.2所示:
一旦啟動(dòng)了定時(shí)器,當(dāng)定時(shí)器中斷發(fā)生時(shí),進(jìn)行充電保護(hù)的判斷,流程圖如圖4.3所示:
4.4.2放電管理模塊系統(tǒng)的放電管理模塊與充電管理模塊類似,只是充電保護(hù)及恢復(fù)通過對電壓的最小值的判斷來實(shí)現(xiàn)。在放電過程中如果單體電壓的最小值小于2.7V,啟動(dòng)定時(shí)器2,定時(shí)一段時(shí)間后進(jìn)入中斷,在中斷內(nèi)再次對該過放信號進(jìn)行檢測,如果仍然超過設(shè)定值,斷開放電回路。但由于某種原因(比如充電)而使最小大值上升到2.9V且持續(xù)一定時(shí)間要接通放電回路,以方便下次放電。為實(shí)現(xiàn)此功能定義了幾個(gè)標(biāo)志位:discharge_guard,dischage_f_guard,discharge_guarded,分別代表單體電池電壓最小值小于2.7V標(biāo)志,單體電池電壓最小值大于2.9V標(biāo)志和進(jìn)入放電保護(hù)標(biāo)志。具體實(shí)現(xiàn)方式為先根據(jù)電池最小值決定是否啟動(dòng)定時(shí)器中斷,流程圖如圖4.4所示:
如果啟動(dòng)了定時(shí)器,當(dāng)定時(shí)器中斷發(fā)生時(shí)進(jìn)行放電保護(hù)判斷,流程圖如圖4.5所示:
4.4.3電壓均衡處理模塊
在電池充電過程中,由于鋰電池的個(gè)體差異,可能會造成某節(jié)電池產(chǎn)生過充,為了避免過充造成電池?fù)p壞,需要在過充時(shí)對電池旁路。從而使每節(jié)電池電壓達(dá)到均衡。均衡方法為在滿充電態(tài)時(shí),也就是當(dāng)檢測到某節(jié)電池達(dá)到4.2V時(shí),開始啟動(dòng)均衡,首先計(jì)算16節(jié)鋰電池的平均電壓,然后將各節(jié)電池的單體電壓與平均電壓相減,如果其中某節(jié)電池的電壓與平均電壓的差值大于0.2V,便將該電池旁路,啟動(dòng)均衡。
4.5短路保護(hù)
系統(tǒng)的短路需要很高的實(shí)時(shí)性,因此該保護(hù)通過硬件中斷的方式實(shí)現(xiàn),當(dāng)硬件檢測到短路發(fā)生后產(chǎn)生硬件中斷,主控CPU立即斷開負(fù)載回路,而當(dāng)短路解除時(shí),CPU會接收到硬件電路發(fā)送的解除保護(hù)信號,系統(tǒng)恢復(fù)正常。
4.6軟件抗干擾
整個(gè)系統(tǒng)穩(wěn)定工作的前提是電壓采樣值能夠精確,但是由于硬件電路本身結(jié)構(gòu)所限,每次采集的數(shù)據(jù)會有一定誤差,為了降低采集誤差給系統(tǒng)造成性能的降低,加入了軟件抗干擾措施。具體方式是對每一路信號都連續(xù)進(jìn)行10次采樣,然后去掉其中的最大值和最小值,對剩下的8個(gè)數(shù)據(jù)求平均值,最終得到有效的采樣值。試驗(yàn)證明該方法可使采樣誤差從10毫伏降低到5毫伏以內(nèi),從而提高了系統(tǒng)的穩(wěn)定性。
4.7小結(jié)
本章介紹了鋰離子電池組監(jiān)控系統(tǒng)的下位機(jī)軟件系統(tǒng)設(shè)計(jì),主要包括了信號采集、短路保護(hù)、均衡保護(hù)、充放電保護(hù)等模塊以及系統(tǒng)的軟件抗干擾措施,整個(gè)軟件系統(tǒng)已和硬件系統(tǒng)聯(lián)調(diào)成功,各項(xiàng)功能均已達(dá)到預(yù)期效果。
晶振相關(guān)文章:晶振原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評論