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