顯示功能的鋰電池和鎳鎘電池充電系統
鑒于市場上鎳鎘電池和鋰電池共存的局面,本文設計的充電器可(ke)以(yi)對(dui)這兩種(zhong)電(dian)(dian)池進行充(chong)電(dian)(dian),對(dui)鎳鎘電(dian)(dian)池組采(cai)用(yong)脈沖(chong)充(chong)電(dian)(dian)方式,對(dui)鋰電(dian)(dian)池組采(cai)用(yong)恒(heng)流充(chong)電(dian)(dian)方式,這是(shi)依據電(dian)(dian)池的(de)(de)(de)不同(tong)機理(li)而設計(ji)的(de)(de)(de),真正做到了一機兩用(yong),此為該充(chong)電(dian)(dian)器(qi)的(de)(de)(de)創新點(dian),也(ye)是(shi)設計(ji)的(de)(de)(de)難點(dian)。充(chong)電(dian)(dian)器(qi)的(de)(de)(de)寬屏LCD可(ke)以(yi)同(tong)時(shi)顯(xian)(xian)示(shi)4組充(chong)電(dian)(dian)器(qi)的(de)(de)(de)充(chong)電(dian)(dian)狀態,也(ye)可(ke)單獨顯(xian)(xian)示(shi)一組充(chong)電(dian)(dian)器(qi)上電(dian)(dian)池的(de)(de)(de)各項參(can)數,做到了對(dui)電(dian)(dian)池充(chong)電(dian)(dian)過程的(de)(de)(de)實(shi)時(shi)監測。
系統整體設計
系統設計目標是:
1.可同時對4組8.4V的(de)鋰(li)離子電(dian)池或9.2V的(de)鎳鎘電(dian)池進(jin)行(xing)充放電(dian)。
2.可(ke)與(yu)電(dian)池組(zu)中的(de)芯片通信(xin),判斷電(dian)池的(de)化學(xue)性質。
3.對(dui)于不同化學性質(zhi)的電池,將(jiang)采(cai)用相應的充電方式。
4.可與電(dian)(dian)池(chi)組中的(de)芯片通(tong)信,得到該電(dian)(dian)池(chi)組的(de)電(dian)(dian)壓、充電(dian)(dian)電(dian)(dian)流、容(rong)量等參數。
5.充電器(qi)帶有LCD,可顯(xian)示電池的(de)各項數據。
系統硬(ying)件設(she)計
總控單元的設(she)計(ji)與實(shi)現
總控單(dan)元(yuan)(yuan)是由微控制(zhi)器PIC16F873和鍵(jian)盤控制(zhi)芯片ZLG7289A構成的。主(zhu)要任務是負責(ze)與各個(ge)充(chong)電單(dan)元(yuan)(yuan)通(tong)信(xin),并處理用戶(hu)輸(shu)入(ru)與LCD顯示(shi)信(xin)息。鍵(jian)盤控制(zhi)芯片在(zai)這(zhe)里負責(ze)6個(ge)按鍵(jian)和12個(ge)LED的控制(zhi)。ZLG7289A與微控制(zhi)器之間通(tong)過(guo)SPI總線進行雙向通(tong)信(xin)。主(zhu)控單(dan)元(yuan)(yuan)每秒(miao)查詢一次各個(ge)充(chong)電單(dan)元(yuan)(yuan),獲取當(dang)前充(chong)電單(dan)元(yuan)(yuan)的信(xin)息,如有無電池(chi)(chi)、電池(chi)(chi)性質、電池(chi)(chi)電壓等。之后由LCD模塊向用戶(hu)顯示(shi)。
充電(dian)單元的(de)設計與實現
LTC4002鋰離子電池充電控(kong)制芯(xin)片
LTC4002是一款高效獨(du)立開(kai)關(guan)模式鋰離子電(dian)(dian)池充(chong)電(dian)(dian)控(kong)(kong)制器(qi)(qi)。該控(kong)(kong)制器(qi)(qi)有(you)4.2V和8.4V兩(liang)個版本。LTC4002-8.4具有(you)500kHz開(kai)關(guan)頻(pin)率,是高效電(dian)(dian)流模式的(de)PWM控(kong)(kong)制器(qi)(qi)。通過驅(qu)動一個外(wai)部P溝道MOSFET,它(ta)可以(yi)提供4A的(de)充(chong)電(dian)(dian)電(dian)(dian)流,而效率可高達90%。輸出(chu)電(dian)(dian)壓設置為8.4V,最(zui)終浮(fu)動電(dian)(dian)壓并具1%的(de)精(jing)度(du),而充(chong)電(dian)(dian)準確度(du)為5%。此外(wai),該器(qi)(qi)件可在9V~22V范圍(wei)內的(de)多種(zhong)墻上適配器(qi)(qi)上運(yun)行(xing)(xing)。與遲滯拓撲結(jie)構(gou)(gou)充(chong)電(dian)(dian)器(qi)(qi)相比,LTC4002-8.4的(de)快速(su)運(yun)行(xing)(xing)頻(pin)率與電(dian)(dian)流模式架(jia)構(gou)(gou)使之(zhi)能夠使用小型電(dian)(dian)感(gan)器(qi)(qi)和電(dian)(dian)容器(qi)(qi)。
鋰離(li)子/鎳鎘電池(chi)兩用充電單(dan)元的總體設計
從前面對LTC4002的分析可知,該芯片是針對鋰離子電池的充電控制器,要實現對鎳鎘電池充電需要解決以下問題:首先,LTC4002對電池電壓進行監測,保證電池電壓不超過8.4V。但對于鎳鎘電池組,充電截止電壓可以達到9.2V。其次,鎳鎘電池充電即將結束時,需要對電池進行以正常電流30%和10%的涓流充電。所以,第二個需要解決的問題是如何控制恒流充電的電流大小。此外,對鎳鎘電池充電應使用脈沖充電方式。即以1s為周期,95%的時間用來充電,1%的時間用來放電,其余時間不充電也不放電。最后,如何判斷某一個電池是鋰離子電池還是鎳(nie)鎘(ge)電(dian)(dian)(dian)池(chi)(chi)(chi),因為若把鋰離子(zi)電(dian)(dian)(dian)池(chi)(chi)(chi)誤(wu)判(pan)為鎳(nie)鎘(ge)電(dian)(dian)(dian)池(chi)(chi)(chi),會使充電(dian)(dian)(dian)電(dian)(dian)(dian)壓高于8.4V,這對(dui)鋰離子(zi)電(dian)(dian)(dian)池(chi)(chi)(chi)是十分危險的,而將鎳(nie)鎘(ge)電(dian)(dian)(dian)池(chi)(chi)(chi)誤(wu)判(pan)為鋰離子(zi)電(dian)(dian)(dian)池(chi)(chi)(chi),則可能造成電(dian)(dian)(dian)池(chi)(chi)(chi)充電(dian)(dian)(dian)不足。因此,必(bi)須保證極低的誤(wu)判(pan)率。
本部分根據LTC4002的工作原理,設計了既可以對鋰離子電池進行恒流-恒壓充電,又可以對鎳鎘電池進行脈沖式充電的電路。充電單元的總體功能框圖如圖2所示。其中,信號調理電路使充電器既可以對(dui)8.4V的(de)鋰(li)電(dian)池充電(dian),又(you)可以對(dui)9.2V的(de)鎳鎘電(dian)池充電(dian),同時也起到控制充電(dian)電(dian)流大(da)小(xiao)的(de)作用(yong)。
利用微控制器控制LTC4002的工作狀態,配合放電電路使充電器可以對鎳(nie)鎘電池(chi)進(jin)行(xing)脈沖方(fang)式充電。
微控制器通過一定的通信協議(HDQ16)與智能電池通信,確定其容量、化學性(xing)質等關鍵參數。
信號調(diao)理電路(lu)的(de)設計(ji)
為了使(shi)LTC4002可(ke)對高于8.4V的電(dian)(dian)池進(jin)行恒流(liu)充電(dian)(dian),并可(ke)調節充電(dian)(dian)電(dian)(dian)流(liu),在LTC4002的BAT和SENSE端與采樣電(dian)(dian)阻(zu)之間加入(ru)一級信號(hao)調理電(dian)(dian)路。該(gai)電(dian)(dian)路的主(zhu)要功能是(shi)對采樣電(dian)(dian)阻(zu)兩端的信號(hao)進(jin)行運算,針對不同化(hua)學性質(zhi)的電(dian)(dian)池,將相(xiang)應的信號(hao)送給LTC4002。該(gai)信號(hao)調理電(dian)(dian)路如圖3所示。
這里(li)定(ding)義(yi)采樣(yang)電(dian)(dian)(dian)(dian)(dian)阻兩(liang)端(duan)(duan)的(de)(de)(de)電(dian)(dian)(dian)(dian)(dian)壓值是VBAT和Vsense,那么(me)充電(dian)(dian)(dian)(dian)(dian)電(dian)(dian)(dian)(dian)(dian)流在采樣(yang)電(dian)(dian)(dian)(dian)(dian)阻上的(de)(de)(de)壓降VRS為(wei)(wei):VRS=Vsense-VBAT,該信(xin)號為(wei)(wei)減法(fa)器的(de)(de)(de)輸出。設乘(cheng)法(fa)器的(de)(de)(de)乘(cheng)系數為(wei)(wei)K,那么(me)乘(cheng)法(fa)器的(de)(de)(de)輸出為(wei)(wei)KVRS。對(dui)于鋰子(zi)電(dian)(dian)(dian)(dian)(dian)池(chi)(chi),二(er)選一(yi)開(kai)(kai)關(guan)將選通電(dian)(dian)(dian)(dian)(dian)池(chi)(chi)電(dian)(dian)(dian)(dian)(dian)壓VBAT;對(dui)于鎳鎘(ge)電(dian)(dian)(dian)(dian)(dian)池(chi)(chi),二(er)選一(yi)開(kai)(kai)關(guan)將選通7V恒(heng)(heng)定(ding)電(dian)(dian)(dian)(dian)(dian)壓。這里(li)設二(er)選一(yi)模擬開(kai)(kai)關(guan)的(de)(de)(de)輸出為(wei)(wei)V1,那么(me)加法(fa)器的(de)(de)(de)輸出Vs應為(wei)(wei):Vs=KVRS+V1,這樣(yang)一(yi)來,送(song)到(dao)LTC4002的(de)(de)(de)BAT和SENSE兩(liang)端(duan)(duan)的(de)(de)(de)電(dian)(dian)(dian)(dian)(dian)壓之差(cha)應為(wei)(wei)KVRS。只要正確控(kong)(kong)制K值,就可以(yi)使充電(dian)(dian)(dian)(dian)(dian)電(dian)(dian)(dian)(dian)(dian)流為(wei)(wei)正常充電(dian)(dian)(dian)(dian)(dian)電(dian)(dian)(dian)(dian)(dian)流的(de)(de)(de)1/K。因此,可以(yi)通過二(er)選一(yi)開(kai)(kai)關(guan)控(kong)(kong)制電(dian)(dian)(dian)(dian)(dian)流為(wei)(wei)恒(heng)(heng)流充電(dian)(dian)(dian)(dian)(dian)時(shi)的(de)(de)(de)10%或30%。
對于LTC4002的BAT端輸入值,當開關選通鋰離子電池時,BAT的輸入即是電池電壓。此時,LTC4002可以控制整個鋰離子的充電過程。不需任何外界的干預。
當(dang)開關(guan)選通了(le)7V恒定(ding)電(dian)(dian)(dian)壓(ya)(ya)(ya)后,BAT端的(de)輸入恒定(ding)為(wei)(wei)(wei)7V,此時(shi),LTC4002無法知道(dao)電(dian)(dian)(dian)池(chi)的(de)真實電(dian)(dian)(dian)壓(ya)(ya)(ya),只認為(wei)(wei)(wei)電(dian)(dian)(dian)池(chi)電(dian)(dian)(dian)壓(ya)(ya)(ya)為(wei)(wei)(wei)7V。所以,盡管電(dian)(dian)(dian)池(chi)電(dian)(dian)(dian)壓(ya)(ya)(ya)高于8.4V,仍會(hui)以恒定(ding)電(dian)(dian)(dian)流對電(dian)(dian)(dian)池(chi)進行充電(dian)(dian)(dian)。在這種情況下(xia),需要微(wei)控(kong)制器的(de)干預,否(fou)則,會(hui)造(zao)成電(dian)(dian)(dian)池(chi)的(de)過充。由于微(wei)控(kong)制器內部帶有(you)ADC,可(ke)以監測電(dian)(dian)(dian)池(chi)電(dian)(dian)(dian)壓(ya)(ya)(ya)的(de)變化。當(dang)電(dian)(dian)(dian)池(chi)電(dian)(dian)(dian)壓(ya)(ya)(ya)達到指定(ding)值時(shi),減小充電(dian)(dian)(dian)電(dian)(dian)(dian)流,直至電(dian)(dian)(dian)池(chi)充滿(man)。這樣就可(ke)以對9.2V的(de)鎳(nie)鎘電(dian)(dian)(dian)池(chi)進行充電(dian)(dian)(dian)了(le)。
脈沖充放電(dian)電(dian)路的(de)設計(ji)
由于LTC4002是恒(heng)流充(chong)電(dian)控(kong)制(zhi)(zhi)(zhi)(zhi)芯(xin)片,因(yin)此,必須使(shi)(shi)用微(wei)(wei)控(kong)制(zhi)(zhi)(zhi)(zhi)器(qi)控(kong)制(zhi)(zhi)(zhi)(zhi)其充(chong)電(dian)使(shi)(shi)能引(yin)(yin)腳COMP。當需(xu)要(yao)LTC4002輸出(chu)充(chong)電(dian)脈(mo)沖時,使(shi)(shi)控(kong)制(zhi)(zhi)(zhi)(zhi)COMP引(yin)(yin)腳的(de)端口變為高阻態,使(shi)(shi)COMP引(yin)(yin)腳自行升至360mV以上時,便有(you)充(chong)電(dian)電(dian)流輸出(chu)。放電(dian)時,必須將COMP引(yin)(yin)腳拉低,使(shi)(shi)LTC4002關斷(duan)充(chong)電(dian)電(dian)流。之后,再打開放電(dian)電(dian)路。微(wei)(wei)控(kong)制(zhi)(zhi)(zhi)(zhi)器(qi)選用PIC16F873,它是一款基于Flash的(de)8位微(wei)(wei)控(kong)制(zhi)(zhi)(zhi)(zhi)器(qi)。內部有(you)定時器(qi)、看門狗電(dian)路、10位ADC等模塊(kuai)。
微控制器以1s為周期對鎳鎘電(dian)池進行脈沖充放電(dian)。
系統軟件設計
系統軟件總(zong)體設(she)計(ji)
充(chong)(chong)(chong)電(dian)單元中的(de)微控(kong)(kong)制(zhi)器主要負責(ze)充(chong)(chong)(chong)電(dian)過程的(de)控(kong)(kong)制(zhi)和與(yu)總控(kong)(kong)板的(de)通信(xin),程序流程如圖(tu)4所(suo)示。充(chong)(chong)(chong)電(dian)單元首先(xian)判斷(duan)是否有電(dian)池,如果有電(dian)池放入,則(ze)(ze)判斷(duan)充(chong)(chong)(chong)放電(dian)狀(zhuang)態,默認是充(chong)(chong)(chong)電(dian)狀(zhuang)態,該狀(zhuang)態可由總控(kong)(kong)單元改變。若充(chong)(chong)(chong)電(dian)單元處(chu)于充(chong)(chong)(chong)電(dian)狀(zhuang)態,則(ze)(ze)繼續判斷(duan)電(dian)池的(de)化學性質,針(zhen)對不同的(de)電(dian)池采用不同的(de)充(chong)(chong)(chong)電(dian)方(fang)式(shi)。若處(chu)于放電(dian)狀(zhuang)態,則(ze)(ze)對電(dian)池組進(jin)行(xing)放電(dian),直到電(dian)池電(dian)壓(ya)低于閾值電(dian)壓(ya)后,轉(zhuan)為(wei)充(chong)(chong)(chong)電(dian)狀(zhuang)態。
除(chu)主程(cheng)序外,總控(kong)單元(yuan)與充(chong)電(dian)單元(yuan)的(de)通信是在中(zhong)斷(duan)服務程(cheng)序中(zhong)實(shi)現(xian)的(de)。當充(chong)電(dian)單元(yuan)收到總控(kong)單元(yuan)的(de)指(zhi)(zhi)令(ling)后,進入中(zhong)斷(duan)。若(ruo)指(zhi)(zhi)令(ling)是查詢數據(ju)指(zhi)(zhi)令(ling),則向總控(kong)單元(yuan)發送需要的(de)數據(ju)。若(ruo)是充(chong)電(dian)狀態設置指(zhi)(zhi)令(ling),則依據(ju)指(zhi)(zhi)令(ling)設置充(chong)電(dian)單元(yuan)的(de)充(chong)電(dian)狀態。
通信協議的實現
通(tong)過與(yu)電(dian)(dian)池(chi)組(zu)中電(dian)(dian)能(neng)(neng)計量芯(xin)片(pian)通(tong)信(xin)的(de)方法來判(pan)斷電(dian)(dian)池(chi)的(de)性質。本系(xi)統可以與(yu)遵循HDQ16接口協議(yi)的(de)智能(neng)(neng)電(dian)(dian)池(chi)組(zu)進行通(tong)信(xin),除了電(dian)(dian)池(chi)組(zu)的(de)化(hua)學性質外(wai),還可以將電(dian)(dian)池(chi)組(zu)的(de)容量、電(dian)(dian)壓、充電(dian)(dian)電(dian)(dian)流、編(bian)號等數據一并讀取,供充電(dian)(dian)器(qi)顯示之用。
充電(dian)單(dan)元可以通過HDQ總(zong)線對智能(neng)電(dian)池(chi)進(jin)行讀(du)操作(zuo)。HDQ16接(jie)口協(xie)議(yi)是基(ji)于指(zhi)令(ling)的(de)(de)協(xie)議(yi)。一個處理器發送8位(wei)(wei)指(zhi)令(ling)碼給智能(neng)電(dian)池(chi),這(zhe)個8位(wei)(wei)的(de)(de)指(zhi)令(ling)碼由(you)兩部分組成,7位(wei)(wei)HDQ16指(zhi)令(ling)碼(位(wei)(wei)0~6)和1位(wei)(wei)讀(du)/寫指(zhi)令(ling)。讀(du)/寫指(zhi)令(ling)指(zhi)示智能(neng) 電(dian)池(chi)存儲接(jie)下來的(de)(de)16位(wei)(wei)數(shu)據到一個指(zhi)定的(de)(de)寄存器,或者(zhe)從指(zhi)定的(de)(de)寄存器輸(shu)出16位(wei)(wei)數(shu)據。在HDQ16里(li),數(shu)據字節(指(zhi)令(ling))或者(zhe)字(數(shu)據)的(de)(de)最(zui)不重(zhong)要的(de)(de)位(wei)(wei)會(hui)優先傳輸(shu)。
一(yi)個塊的(de)(de)傳輸包括三個不同(tong)的(de)(de)部分。第(di)一(yi)部分經由(you)主機或(huo)者智能(neng)(neng)電(dian)池把(ba)HDQ16引(yin)腳置邏輯低狀態一(yi)個tSTRH:B時間后開(kai)始發送。接下來(lai)的(de)(de)部分是真正的(de)(de)數據傳輸,數據位(wei)在tDSU:B時間間隔里是有效的(de)(de),負邊界用來(lai)開(kai)始通信。數據位(wei)被保持(chi)一(yi)個tDH:DV時間間隔,以(yi)便(bian)允許主機或(huo)智能(neng)(neng)電(dian)池采樣數據位(wei)。
在負邊界開始通(tong)信后,最(zui)后一部分通(tong)過返回給HDQ16引腳一個邏(luo)輯高狀(zhuang)態,至(zhi)少保持tSSU:B時(shi)間(jian)(jian)間(jian)(jian)隔(ge)(ge)來停(ting)止傳輸(shu)。最(zui)后一個邏(luo)輯高狀(zhuang)態必須保持一個tCYCH:B時(shi)間(jian)(jian)間(jian)(jian)隔(ge)(ge),以(yi)便有時(shi)間(jian)(jian)讓(rang)塊傳輸(shu)完(wan)全停(ting)止。
如果(guo)發生通信錯誤(e.g.,tCYCB>250μs),主(zhu)機就(jiu)發送(song)給(gei)智能(neng)電(dian)池(chi)(chi)一個BREAK信號,讓其控制串行接口。當HDQ16引(yin)腳(jiao)在一個時(shi)間(jian)(jian)間(jian)(jian)隔(ge),或者更(geng)長時(shi)間(jian)(jian)里為(wei)邏(luo)輯低狀態時(shi),智能(neng)電(dian)池(chi)(chi)就(jiu)會偵測BREAK。然后,HDQ16引(yin)腳(jiao)回(hui)到其正常預設高邏(luo)輯狀態一個tBR時(shi)間(jian)(jian)間(jian)(jian)隔(ge)。然后,智能(neng)電(dian)池(chi)(chi)就(jiu)準備從(cong)主(zhu)機那里接收(shou)指令。
HDQ16引腳是開漏的,需要(yao)一個外部(bu)的上拉電阻(zu)。
圖5是用邏輯分析儀顯示的一次HDQ總線上的通信波形。本文提出的充電系統從技術上很好地解決了上述問題,通過LCD顯示屏可以清晰便捷地讀出電源的剩余容量、已有充放電次數、充電及放電電流、電池電壓、容量統計和電池特性等重要內容,并且通過設定,可以判斷電源是否達到報廢標準,及時提醒操作者更新電源。為電源維護保養工作提供明確的參考數據,降低了對操作人員專業技術水平的要求,保證了列車尾部電源的安全使用。
