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