淺析帶數(shù)據(jù)顯示的鋰電池充電系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
鑒于市場(chǎng)上鎳鎘電池和鋰電池共存的局面,本文設(shè)計(jì)的充電器可以對(duì)這兩種電池進(jìn)行充電,對(duì)鎳鎘電池組采用脈沖充電方式,對(duì)鋰電池組采用恒流充電方式,這是依據(jù)電池的不同機(jī)理而設(shè)計(jì)的,真正做到了一機(jī)兩用,此為該充電器的創(chuàng)新點(diǎn),也是設(shè)計(jì)的難點(diǎn)。充電器的寬屏LCD可以同時(shí)顯示4組充電器的充電狀態(tài),也可單獨(dú)顯示一組充電器上電池的各項(xiàng)參數(shù),做到了對(duì)電池充電過(guò)程的實(shí)時(shí)監(jiān)測(cè)。
系統(tǒng)整體設(shè)計(jì)
系統(tǒng)設(shè)計(jì)目標(biāo)是:
1.可同時(shí)對(duì)4組8.4V的鋰離子電池或9.2V的鎳鎘電池進(jìn)行充放電。
2.可與電池組中的芯片通信,判斷電池的化學(xué)性質(zhì)。
3.對(duì)于不同化學(xué)性質(zhì)的電池,將采用相應(yīng)的充電方式。
4.可與電池組中的芯片通信,得到該電池組的電壓、充電電流、容量等參數(shù)。
5.充電器帶有LCD,可顯示電池的各項(xiàng)數(shù)據(jù)。
該充電器的功能框圖如圖1所示。
圖1 系統(tǒng)整體設(shè)計(jì)結(jié)構(gòu)圖
系統(tǒng)硬件設(shè)計(jì)
總控單元的設(shè)計(jì)與實(shí)現(xiàn)
總控單元是由微控制器PIC16F873和鍵盤控制芯片ZLG7289A構(gòu)成的。主要任務(wù)是負(fù)責(zé)與各個(gè)充電單元通信,并處理用戶輸入與LCD顯示信息。鍵盤控制芯片在這里負(fù)責(zé)6個(gè)按鍵和12個(gè)LED的控制。
ZLG7289A與微控制器之間通過(guò)SPI總線進(jìn)行雙向通信。主控單元每秒查詢一次各個(gè)充電單元,獲取當(dāng)前充電單元的信息,如有無(wú)電池、電池性質(zhì)、電池電壓等。之后由LCD模塊向用戶顯示。
充電單元的設(shè)計(jì)與實(shí)現(xiàn)
TP8002鋰離子電池
充電控制芯片
TP8002是一款高效獨(dú)立開關(guān)模式鋰離子電池充電控制器。該控制器有4.2V和8.4V兩個(gè)版本。
TP8002-8.4具有500kHz開關(guān)頻率,是高效電流模式的PWM控制器。通過(guò)驅(qū)動(dòng)一個(gè)外部P溝道MOSFET,它可以提供4A的充電電流,而效率可高達(dá)90%。輸出電壓設(shè)置為8.4V,最終浮動(dòng)電壓并具1%的精度,而充電準(zhǔn)確度為5%。此外,該器件可在9V~22V范圍內(nèi)的多種墻上適配器上運(yùn)行。與遲滯拓?fù)浣Y(jié)構(gòu)充電器相比,TP8002-8.4的快速運(yùn)行頻率與電流模式架構(gòu)使之能夠使用小型電感器和電容器。
鋰離子/鎳鎘電池兩用
充電單元的總體設(shè)計(jì)
從前面對(duì)TP8002的分析可知,該芯片是針對(duì)鋰離子電池的充電控制器,要實(shí)現(xiàn)對(duì)鎳鎘電池充電需要解決以下問(wèn)題:首先,TP8002對(duì)電池電壓進(jìn)行監(jiān)測(cè),保證電池電壓不超過(guò)8.4V。但對(duì)于鎳鎘電池組,充電截止電壓可以達(dá)到9.2V。其次,鎳鎘電池充電即將結(jié)束時(shí),需要對(duì)電池進(jìn)行以正常電流30%和10% 的涓流充電。所以,第二個(gè)需要解決的問(wèn)題是如何控制恒流充電的電流大小。此外,對(duì)鎳鎘電池充電應(yīng)使用脈沖充電方式。即以1s為周期,95%的時(shí)間用來(lái)充電,1%的時(shí)間用來(lái)放電,其余時(shí)間不充電也不放電。最后,如何判斷某一個(gè)電池是鋰離子電池還是鎳鎘電池,因?yàn)槿舭唁囯x子電池誤判為鎳鎘電池,會(huì)使充電電壓高于8.4V,這對(duì)鋰離子電池是十分危險(xiǎn)的,而將鎳鎘電池誤判為鋰離子電池,則可能造成電池充電不足。因此,必須保證極低的誤判率。
本部分根據(jù)TP8002的工作原理,設(shè)計(jì)了既可以對(duì)鋰離子電池進(jìn)行恒流-恒壓充電,又可以對(duì)鎳鎘電池進(jìn)行脈沖式充電的電路。充電單元的總體功能框圖如圖2 所示。其中,信號(hào)調(diào)理電路使充電器既可以對(duì)8.4V的鋰電池充電,又可以對(duì)9.2V的鎳鎘電池充電,同時(shí)也起到控制充電電流大小的作用。
圖2充電單元的總體功能框圖
利用微控制器控制TP8002的工作狀態(tài),配合放電電路使充電器可以對(duì)鎳鎘電池進(jìn)行脈沖方式充電。
微控制器通過(guò)一定的通信協(xié)議(HDQ16)與智能電池通信,確定其容量、化學(xué)性質(zhì)等關(guān)鍵參數(shù)。
信號(hào)調(diào)理電路的設(shè)計(jì)
為了使TP8002可對(duì)高于8.4V的電池進(jìn)行恒流充電,并可調(diào)節(jié)充電電流,在TP8002的BAT和SENSE端與采樣電阻之間加入一級(jí)信號(hào)調(diào)理電路。該電路的主要功能是對(duì)采樣電阻兩端的信號(hào)進(jìn)行運(yùn)算,針對(duì)不同化學(xué)性質(zhì)的電池,將相應(yīng)的信號(hào)送給TP8002。該信號(hào)調(diào)理電路如圖3所示。
圖3信號(hào)調(diào)理電路的功能圖[!--empirenews.page--]
這里定義采樣電阻兩端的電壓值是VBAT和Vsense,那么充電電流在采樣電阻上的壓降VRS為:VRS=Vsense-VBAT,該信號(hào)為減法器的輸出。設(shè)乘法器的乘系數(shù)為K,那么乘法器的輸出為KVRS。對(duì)于鋰子電池,二選一開關(guān)將選通電池電壓VBAT;對(duì)于鎳鎘電池,二選一開關(guān)將選通7V恒定電壓。這里設(shè)二選一模擬開關(guān)的輸出為V1,那么加法器的輸出Vs應(yīng)為:Vs=KVRS+V1,這樣一來(lái),送到TP8002的BAT和SENSE兩端的電壓之差應(yīng)為KVRS。只要正確控制K值,就可以使充電電流為正常充電電流的1/K。因此,可以通過(guò)二選一開關(guān)控制電流為恒流充電時(shí)的10%或30%。
對(duì)于TP8002的BAT端輸入值,當(dāng)開關(guān)選通鋰離子電池時(shí),BAT的輸入即是電池電壓。此時(shí),TP8002可以控制整個(gè)鋰離子的充電過(guò)程。不需任何外界的干預(yù)。
當(dāng)開關(guān)選通了7V恒定電壓后,BAT端的輸入恒定為7V,此時(shí),TP8002無(wú)法知道電池的真實(shí)電壓,只認(rèn)為電池電壓為7V。所以,盡管電池電壓高于 8.4V,仍會(huì)以恒定電流對(duì)電池進(jìn)行充電。在這種情況下,需要微控制器的干預(yù),否則,會(huì)造成電池的過(guò)充。由于微控制器內(nèi)部帶有ADC,可以監(jiān)測(cè)電池電壓的變化。當(dāng)電池電壓達(dá)到指定值時(shí),減小充電電流,直至電池充滿。這樣就可以對(duì)9.2V的鎳鎘電池進(jìn)行充電了。
脈沖充放電電路的設(shè)計(jì)
由于TP8002是恒流充電控制芯片,因此,必須使用微控制器控制其充電使能引腳COMP。當(dāng)需要TP8002輸出充電脈沖時(shí),使控制COMP引腳的端口變?yōu)楦咦钁B(tài),使COMP引腳自行升至360mV以上時(shí),便有充電電流輸出。放電時(shí),必須將COMP引腳拉低,使TP8002關(guān)斷充電電流。之后,再打開放電電路。微控制器選用PIC16F873,它是一款基于Flash的8位微控制器。內(nèi)部有定時(shí)器、看門狗電路、10位ADC等模塊。
圖4充電單元主程序流程圖
微控制器以1s為周期對(duì)鎳鎘電池進(jìn)行脈沖充放電。
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件總體設(shè)計(jì)
充電單元中的微控制器主要負(fù)責(zé)充電過(guò)程的控制和與總控板的通信,程序流程如圖4所示。充電單元首先判斷是否有電池,如果有電池放入,則判斷充放電狀態(tài),默認(rèn)是充電狀態(tài),該狀態(tài)可由總控單元改變。若充電單元處于充電狀態(tài),則繼續(xù)判斷電池的化學(xué)性質(zhì),針對(duì)不同的電池采用不同的充電方式。若處于放電狀態(tài),則對(duì)電池組進(jìn)行放電,直到電池電壓低于閾值電壓后,轉(zhuǎn)為充電狀態(tài)。
除主程序外,總控單元與充電單元的通信是在中斷服務(wù)程序中實(shí)現(xiàn)的。當(dāng)充電單元收到總控單元的指令后,進(jìn)入中斷。若指令是查詢數(shù)據(jù)指令,則向總控單元發(fā)送需要的數(shù)據(jù)。若是充電狀態(tài)設(shè)置指令,則依據(jù)指令設(shè)置充電單元的充電狀態(tài)。
通信協(xié)議的實(shí)現(xiàn)
通過(guò)與電池組中電能計(jì)量芯片通信的方法來(lái)判斷電池的性質(zhì)。本系統(tǒng)可以與遵循HDQ16接口協(xié)議的智能電池組進(jìn)行通信,除了電池組的化學(xué)性質(zhì)外,還可以將電池組的容量、電壓、充電電流、編號(hào)等數(shù)據(jù)一并讀取,供充電器顯示之用。
充電單元可以通過(guò)HDQ總線對(duì)智能電池進(jìn)行讀操作。HDQ16接口協(xié)議是基于指令的協(xié)議。一個(gè)處理器發(fā)送8位指令碼給智能電池,這個(gè)8位的指令碼由兩部分組成,7位HDQ16指令碼(位0~6)和1位讀/寫指令。讀/寫指令指示智能電池存儲(chǔ)接下來(lái)的16位數(shù)據(jù)到一個(gè)指定的寄存器,或者從指定的寄存器輸出 16位數(shù)據(jù)。在HDQ16里,數(shù)據(jù)字節(jié)(指令)或者字(數(shù)據(jù))的最不重要的位會(huì)優(yōu)先傳輸。
一個(gè)塊的傳輸包括三個(gè)不同的部分。第一部分經(jīng)由主機(jī)或者智能電池把HDQ16引腳置邏輯低狀態(tài)一個(gè)tSTRH:B時(shí)間后開始發(fā)送。接下來(lái)的部分是真正的數(shù)據(jù)傳輸,數(shù)據(jù)位在tDSU:B時(shí)間間隔里是有效的,負(fù)邊界用來(lái)開始通信。數(shù)據(jù)位被保持一個(gè)tDH:DV時(shí)間間隔,以便允許主機(jī)或智能電池采樣數(shù)據(jù)位。
在負(fù)邊界開始通信后,最后一部分通過(guò)返回給HDQ16引腳一個(gè)邏輯高狀態(tài),至少保持tSSU:B時(shí)間間隔來(lái)停止傳輸。最后一個(gè)邏輯高狀態(tài)必須保持一個(gè)tCYCH:B時(shí)間間隔,以便有時(shí)間讓塊傳輸完全停止。
如果發(fā)生通信錯(cuò)誤(e.g.,tCYCB>250ms),主機(jī)就發(fā)送給智能電池一個(gè)BREAK信號(hào),讓其控制串行接口。當(dāng)HDQ16引腳在一個(gè)時(shí)間間隔,或者更長(zhǎng)時(shí)間里為邏輯低狀態(tài)時(shí),智能電池就會(huì)偵測(cè)BREAK。然后,HDQ16引腳回到其正常預(yù)設(shè)高邏輯狀態(tài)一個(gè)tBR時(shí)間間隔。然后,智能電池就準(zhǔn)備從主機(jī)那里接收指令。
HDQ16引腳是開漏的,需要一個(gè)外部的上拉電阻。
圖5是用邏輯分析儀顯示的一次HDQ總線上的通信波形。
圖5一次HDQ總線通信波形
結(jié)語(yǔ)
本文提出的充電系統(tǒng)從技術(shù)上很好地解決了上述問(wèn)題,通過(guò)LCD顯示屏可以清晰便捷地讀出電源的剩余容量、已有充放電次數(shù)、充電及放電電流、電池電壓、容量統(tǒng)計(jì)和電池特性等重要內(nèi)容,并且通過(guò)設(shè)定,可以判斷電源是否達(dá)到報(bào)廢標(biāo)準(zhǔn),及時(shí)提醒操作者更新電源。