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