管州等
摘 要:介紹一種基于DS2438芯片為采集器,以STC89C51為控制器的大功率蓄電池實(shí)時(shí)狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)。該系統(tǒng)的可實(shí)現(xiàn)對(duì)蓄電池的剩余電量的準(zhǔn)確預(yù)測(cè),避免傳統(tǒng)的測(cè)試電壓代替剩余電量的方式。讓電動(dòng)汽車(chē)運(yùn)行時(shí)更為可靠,提高了電池性能。
關(guān)鍵詞:DS2438;STC89C51;剩余電量;大功率蓄電池
0 引言
當(dāng)前電動(dòng)車(chē)逐漸普及,蓄電池作為一種簡(jiǎn)單有效的儲(chǔ)電方式而被廣泛使用在電動(dòng)車(chē)中。而蓄電池的儲(chǔ)電能力有限,因此需要精確的計(jì)算剩余電量和續(xù)航路程,保證車(chē)子的正常行駛。目前蓄電池剩余電量的計(jì)算有很多種方法,例如密度法(比重法)、電壓法、安時(shí)法。傳統(tǒng)方法是測(cè)電池電壓代替電量,在啟動(dòng)時(shí)電流增大,端電壓降低,故剩余電量表的指針明顯偏轉(zhuǎn),不能達(dá)到精確測(cè)量電量的目的。本系統(tǒng)的原理是安時(shí)法,能夠?qū)﹄娏鞣e分來(lái)記憶電池的充放電,測(cè)算電池電量,故而精確計(jì)算剩余電量。同時(shí)能夠?qū)崟r(shí)監(jiān)測(cè)電池的溫度、電壓等參數(shù),有利于延長(zhǎng)蓄電池的循環(huán)使用次數(shù)。
1 DS2438芯片介紹
DS2438芯片被命名為 Smart Battery Monitor,是Maxim公司推出的智能電池監(jiān)測(cè)芯片,是一種十分小巧、快速、精確的電池檢測(cè)芯片。它具有功能強(qiáng)大、體積小、硬件接線簡(jiǎn)單等優(yōu)點(diǎn),內(nèi)部自帶A/D,通過(guò)單總線來(lái)讀取,可以方便地實(shí)現(xiàn)對(duì)蓄電池組運(yùn)行狀態(tài)的監(jiān)測(cè)。DS2438的引腳排列如圖1所示。
1.1 溫度測(cè)量
DS2438內(nèi)集成的溫度傳感器。將芯片緊貼于被測(cè)電池就能夠測(cè)量溫度。結(jié)果放入溫度寄存器中,可通過(guò)單總線接口串行傳送。 DS2438測(cè)量的溫度范圍為-55℃~125℃,分辨率為0.03125℃。
1.2 電壓測(cè)量
DS2438內(nèi)置10位的電壓A/D轉(zhuǎn)換器,用于測(cè)量電壓。當(dāng)芯片收到轉(zhuǎn)換電壓的命令時(shí),片內(nèi)ADC轉(zhuǎn)換器將對(duì)Vad管腳上的電壓進(jìn)行數(shù)字轉(zhuǎn)換,轉(zhuǎn)換時(shí)間為4ms。結(jié)果被保存在兩字節(jié)的電壓寄存器。電壓寄存器格式。
DS2438 ADC 的測(cè)量范圍為0~10V,分辨率為10mV,最大量程為0~10.23V。
1.3 電流測(cè)量
DS2438內(nèi)置電流A/D轉(zhuǎn)換器,用于測(cè)量蓄電池的電流。芯片通過(guò)VSENS+和VSENS-兩引腳之間電阻的電壓間接得出電流。測(cè)量系統(tǒng)硬件電路圖7。VSENS+接線端外接電阻R1,VSENS-端接RC低通濾波電路,濾除尖波電流干擾。電流A/D轉(zhuǎn)換器每工作頻率約為36Hz。結(jié)果保存在兩字節(jié)的電流寄存器中。最高位S為符號(hào)位,表示電池是充電還是放電。電流寄存器格式如圖5所示。
該寄存器存儲(chǔ)的實(shí)際數(shù)值是RSENS兩端的電壓值,電池電流可由下面的公式計(jì)算出來(lái)。
I=電流寄存器中的值/(4096*RESES)(RSENS的單位是Ω)
1.4 剩余電量的測(cè)量
DS2438集成電流累加器Integrated Current Accumu-lator(ICA),可以跟蹤測(cè)量電池的剩余電量。ICA是對(duì)電池組投入使用后的全部流入和流出電池進(jìn)行積分的一個(gè)電流寄存器,故ICA的值可以表示為電池的剩余電量。如上所述,電池組電流是通過(guò)頻率為36Hz的外接電阻RSENS上的電壓獲得的。根據(jù)此值的正、負(fù)而將此值進(jìn)行積分存儲(chǔ)在ICA寄存器中。ICA是一個(gè)8位的二進(jìn)制計(jì)數(shù)器,它綜合了每次測(cè)得的外接電阻RSENS上的電壓。
剩余電量可由下式計(jì)算得出:
剩余電量=ICA/(2048*RSENS)(Ahr)
2 硬件設(shè)計(jì)
本系統(tǒng)以STC89C51單片機(jī)為核心,通過(guò)單總線對(duì)DS2438芯片進(jìn)行讀寫(xiě),測(cè)算剩余電量、電壓、電流、溫度參數(shù)。加入了LCD1602液晶,可以對(duì)電池的剩余電量和溫度進(jìn)行實(shí)時(shí)顯示,同時(shí)充分利用了DS2438自帶的EEPROM進(jìn)行掉電保護(hù),保存計(jì)算好的電量的值。
由于本系統(tǒng)測(cè)量的是大功率蓄電池組電量,而DS2438是用來(lái)測(cè)量容量和電流比較小的電池,所以必須選擇合適的電流傳感器以保證測(cè)量精度與測(cè)量范圍。在這里選擇了廣泛應(yīng)用于電流測(cè)量的LA200-P。啟動(dòng)電動(dòng)車(chē)電機(jī)會(huì)產(chǎn)生幾十安倍的大電流,通過(guò)電流傳感器LA200-P使測(cè)量電路的電流變換為為主工作電路電流的2000分之一,LA200-P輸出為正負(fù)電流形式,且在DS2438的正常承受范圍之內(nèi),能達(dá)到精確測(cè)量的目的。
電壓的測(cè)量時(shí)通過(guò)將被測(cè)的電壓通過(guò)分壓的方法將電壓的值限制在測(cè)量范圍內(nèi)(0-10.23V)。
關(guān)于電路中電阻R1的選擇,電流的最小位不同,會(huì)造成最小的單元表示的電量大小不同,從而造成能夠用一個(gè)字節(jié)表示不同電量大小。選取合適的值會(huì)有合適的精度和范圍,具體的取值和電量范圍可參照DATASHEET。
3 軟件設(shè)計(jì)
本系統(tǒng)的程序主要由DS2438讀模塊,DS2438寫(xiě)模塊、顯示程序和上位機(jī)通信程序。
DS2438讀程序能夠?qū)崿F(xiàn)對(duì)電壓、電流、電量和溫度的讀取,然后將讀到的數(shù)字量轉(zhuǎn)換成對(duì)應(yīng)的實(shí)際數(shù)值,這是軟件的基礎(chǔ)部分。顯示模塊是基于LCD1602來(lái)顯示的,可以實(shí)時(shí)根據(jù)讀取的數(shù)據(jù)來(lái)顯示參數(shù)。上位機(jī)通訊是為了和上位機(jī)或者他控制器進(jìn)行通信,具體的做法是將電壓、電流、電量和溫度這些參數(shù)轉(zhuǎn)換成一個(gè)一維數(shù)組,然后通過(guò)UART通信協(xié)議來(lái)向外發(fā)送數(shù)據(jù),設(shè)置好波特率,有相應(yīng)的開(kāi)始位和結(jié)束位,這樣方便上位機(jī)和其他控制器數(shù)據(jù)的接收。
最后重點(diǎn)介紹DS2438的寫(xiě)模塊。最初的程序不能對(duì)芯片進(jìn)行寫(xiě)數(shù)據(jù),這就沒(méi)有工程的實(shí)用性。因?yàn)槿绻荒軐?duì)芯片的電量寄存器ICA設(shè)置初始化的值,就意味著電量寄存器工作之后只能從零開(kāi)始,這樣蓄電池的初始值就只能設(shè)置成0,只能把電池放完電,然后接入芯片,這樣才能保證電量數(shù)據(jù)的正確性,但是這樣對(duì)電池的損害很大。基于這些考慮,對(duì)芯片的寫(xiě)數(shù)據(jù)必須實(shí)現(xiàn),在和團(tuán)隊(duì)深入研究芯片的DATASHEET后,才發(fā)現(xiàn)這款芯片寫(xiě)數(shù)據(jù)時(shí)是先寫(xiě)到緩存區(qū),然后在復(fù)位脈沖的作用下才能寫(xiě)入指定的地址中,修改程序之后能夠?qū)崿F(xiàn)對(duì)芯片的寫(xiě)數(shù)據(jù)。且可以對(duì)電量寄存器的初值進(jìn)行設(shè)置和校正,同時(shí)DS2438芯片自帶40個(gè)字節(jié)的EEPROM,可以把想保存的數(shù)據(jù)寫(xiě)到這個(gè)區(qū)域而掉電保護(hù),不需要用外部的EEPROM。
4 結(jié)語(yǔ)
本文主要講訴了使用測(cè)量小容量電量的芯片來(lái)測(cè)量大功率電量的方法,成功的實(shí)現(xiàn)對(duì)電池的電流、電壓、電量和溫度的測(cè)量,并且充分利用該芯片的功能,實(shí)現(xiàn)對(duì)芯片的寫(xiě)數(shù)據(jù),將該技術(shù)真正具有工程實(shí)用性。并且實(shí)現(xiàn)電量的精準(zhǔn)測(cè)算,對(duì)電動(dòng)車(chē)的續(xù)航能力有一定的預(yù)測(cè),減少電量不足對(duì)電池的損害,有利于蓄電池的循環(huán)利用。
參考文獻(xiàn):
[1]嚴(yán)加朋,王大志,金有超.基于DS2438的大功率蓄電池狀態(tài)檢測(cè)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(11).
[2]郭屹松.基于DS2438的智能電池監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].北京石油化工學(xué)院學(xué)報(bào),2008(03).
[3]郭天祥.新概念51單片機(jī)C語(yǔ)言教程——入門(mén)、提高、發(fā)、拓展 [M].電子工業(yè)出版社,2009(01).
[4]Dallas Semiconductor.DS2438 Smart Battery Monitor,2003-02-06.
項(xiàng)目名稱(chēng):安徽大學(xué) 國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目“基于雙電源自由切換車(chē)內(nèi)安全監(jiān)控的電動(dòng)車(chē)的研究”。項(xiàng)目編號(hào):201410357065。endprint