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