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