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