【導讀】便攜式電子設備(無論是個人電子,遠程科學儀器,還是簡單的車庫手電筒)都有一個共同點:電池。可以是鎳鎘電池,鎳氫電池,鋰電池,或任何其他可充電電池。本文將討論一種靈活的電池充電系統(tǒng),其可以應用于各種電壓,化學成分,和充電特性的電池。
當使用不同的電池容量給多種電池充電時,在不同的充電階段,電池電壓可能高于或低于電源電壓。因此需要電源電壓升壓或降壓來匹配電池電壓。例如,當3.3伏的電源電壓給一節(jié)鎳氫電池(通常是1.25 V)充電時需要降低。當給鋰電池(4.1 V)充電時,則需要升高輸入電壓。要處理這種情況,主充電路徑要選擇為單端初級電感變換器(SEPIC)。開關型DC-DC轉換具備比較大范圍的降壓和升壓能力,可以提供靈活的供電電壓。
這篇文章將會以兩種不同的可充電電池—鎳氫電池(NiMH)和鋰電池(Li-Ion)為例進行介紹。這兩種化學物質的電池需要不同的充電特性,但這兩者都能容易的使用相同靈活的充電結構為我們服務。從一種電池切換到另一種既靈活又簡單,可以用微控制器在軟件上實現(xiàn)。通過設計模塊化的充電子系統(tǒng),把功能封裝到各種組件,根據(jù)系統(tǒng)需求,同樣的應用程序可以使用不同的微控制器實現(xiàn)。組件的使用簡化了設計,這里輸入和/或輸出可以是硬件和/或軟件。這種方法使得開發(fā)者可以把電池充電功能作為一個額外特色加到主應用中,如馬達控制,準確醫(yī)學測量等。
電池充電器必須要確定電池狀態(tài)(如電壓、電流、溫度)并控制充電電流。確定電池狀態(tài)的硬件是通用的。電池電壓可以高于或低于微控制器的輸入范圍,因此,電壓測量通常是使用一個電阻分壓電路來弱化電壓。電流測量可以在高端(要進入電池的電流),或低端 (從電池出來的電流),如果是SEPIC變換器,在二次側電感使用一個電阻。電池通常有一個嵌入式熱敏電阻,其提供精確電池溫度狀態(tài)。有時在一些商業(yè)電池上為了降低成本就把它省掉了。在這種情況下,可以在接觸電池的外部放置一個熱敏電阻。
在此基礎上測量的參數(shù),電池充電電流由微控制器確定并控制。從充電器的角度來看,不同化學成分電池的主要區(qū)別是充電特性。鋰和鎳氫電池的充電特性如圖1所示
圖1:鋰電池和鎳氫電池的充電特性
如圖1所示,電流由微控制器控制,電池的電壓和溫度會發(fā)生變化。鋰電池使用恒流恒壓充電。通常電池容量一般用 “CA”表示。在啟動階段,如果電池電壓低于恒流閾值(Vrapid_start),充電器供應少量電流(大約0.1 CA)。這是預處理階段,電池電壓隨著這個小充電電流逐漸增加。當電壓達到快速充電閾值,充電電流由微控制器增加到約1 CA。這是恒流階段,這個階段一直持續(xù)到電池電壓達到指定電壓(Vfull)。然后電池充電器進入恒壓階段,這時充電電流較小,而電池電壓維持在Vfull。電流降低一直到結束,同時保持電池電壓,電池充電終止。在整個充電過程電池電流會有幾個°C的變化。如果有任何一個電池狀態(tài)(電壓、電流或溫度)超出充電器相應規(guī)定范圍,為了安全,充電器都會停止充電。
鎳氫電池的前兩個充電階段類似于鋰電池:激活電流(0.2 CA)和恒定電流(1 CA)。鎳氫電池的恒流階段結束由電池電壓下降(并降溫)來檢測,而電流是不變的。電壓下降后,鎳氫充電進入充電頂峰關閉階段,這時電流減少到滴流水平(大約0.05 CA)。在這個階段,會有一段時間的少量充電電流一直到充電結束。
[page]
基于上述充電需求,可以使用狀態(tài)機(帶預定義的電壓、電流、溫度、超時值)大大簡化電池充電。電池狀態(tài)和需要為電池充電提供的電流數(shù)量由微控制器狀態(tài)機來控制。用于這兩種類型的電池充電的簡化狀態(tài)機如圖2所示。這個框圖顯示了充電的不同階段。
圖2:充電過程不同階段框圖
根據(jù)選擇的電池化學物質,微控制器檢查特定的電池狀態(tài)機并控制充電電流。電池充電曲線可預編程,預啟動,或自動決定。對于前兩種,電池類型是由用戶選擇的。在預編程中,電池充電類型需要在組件中選擇,軟件和微控制器根據(jù)所需的充電曲線編程。這種類型應用于電池充電作為現(xiàn)有產品的一個額外功能的情況下。在這種應用中,電池類型是已知的,或不同類型的電池用于相同產品的不同版本。
在預啟動中,微控制器既有電池充電曲線又有要實現(xiàn)的充電曲線選擇,通過條件控制完成。這個控制可以簡單成一個開關位置在啟動期間選中。自動決定是由微控制器啟動后完成的,通過檢測電池類型選擇充電器充電曲線。例如,一節(jié)鎳氫電池典型的工作電壓范圍是0.9 V ~ 1.25 V之間,而一節(jié)鋰電池電壓范圍是2.7V ~ 4.2 V之間。同樣地,兩者之間的溫度范圍也不同,這些值可以保存,并在啟動的時候進行比較。自動檢查方法局限于很特殊的條件。一般來說,大多數(shù)應用中選擇預編程和預執(zhí)行。在這篇文章中,我們會重點介紹預編程,并把注意力集中在電池充電是附加功能的應用中。
如前所述,兩種電池充電器的感測和控制部分硬件是相同。電池充電器所需的外部硬件原理圖如圖3所示。
圖3:電池充電器的簡化原理圖
要確定電池狀態(tài),就要進行電壓、電流、溫度的測量,把他們通過復用器輸入微控制器中的ADC。根據(jù)這些值,在固件中確定狀態(tài),充電電流通過改變PWM占空比來控制。PWM輸出連接到SEPIC變換器(其控制流進電池的電流)里的MOSFET門。這些步驟關系到CPU,因此有些延遲。不同的電池,特別是鋰電池,對于過充電非常敏感,在高電壓下可能變得非常不穩(wěn)定。要額外增加過電壓和過電流保護,硬件保護電路就要增加比較器。這些比較器會關閉充電直到用戶復位或達到一個安全的工作環(huán)境。
[page]
根據(jù)測量到的參數(shù)值和電池類型,CPU決定電池狀態(tài)和相應的PWM占空比。傳統(tǒng)上,CPU檢測充電曲線所需的條件,可以在代碼中定義為常數(shù),并可手動修改。例如以下代碼。
當充電曲線需要改變時,BATTERY_PROFILE設置為0或1以在兩種充電曲線之間進行切換。所有狀態(tài)的電壓、電流、溫度限制都保存為常數(shù),并可以作出相應改變。如果同一電池類型需要不同的電平,需要修改代碼鍵入新參數(shù)。這意味著這種應用的用戶需要注意代碼改變充電曲線和充電器限制。通過使用組件式方法,當開發(fā)人員選擇合適的IP模塊時,可以鍵入?yún)?shù)來改變電池充電器充電曲線。例如,鋰電池和鎳氫電池組件如圖4所示。
圖4:可以為不同電池鍵入?yún)?shù)的GUI
使用這些組件,應用工程師可以添加充電器組件到已有的應用中,并設置適當?shù)某潆娗€。所有其他的硬件(比較器,PWM等)和軟件(狀態(tài)機)也都由組件生成。使用可編程結構,例如賽普拉斯的PSoC,通過軟件程序,硬件組件就可編程并實現(xiàn)。這種方法可以用于實現(xiàn)圖3中鋰電池和鎳氫電池的充電器硬件。在項目中增加一個USB部件,電池參數(shù)就可以送到計算機。數(shù)據(jù)繪制實現(xiàn)使用C#軟件工具。其他任何通訊方式和類似工具都可以用來繪制數(shù)據(jù)。電池模擬器可以用來模擬鋰電池和鎳氫電池的實時獲得圖形。得到的圖形如圖5所示。
圖5:鋰電池和鎳氫充電圖形
在電流中看到的噪聲是使用電壓仿真器改變電壓時的開關噪聲。由于使用電壓仿真器,電壓改變特別快,對應電壓的變化,PWM輸出的建立時間和響應就可以看到上面的噪聲結果。在電池中電壓變化是非常緩慢的,從而開關噪聲并不明顯。
圖1和圖2鋰電池和鎳氫電池的充電階段可以在圖5中看到。因此可以看出,只需簡單改變SoC固件,就可以使用同樣的硬件實現(xiàn)多種充電器。通過簡單部件,就可以增加充電功能到主要應用中。
相關閱讀:
探討串聯(lián)鋰離子電池組監(jiān)測系統(tǒng)的設計
探討LED通用照明市場不同功率范圍及不同電源供電
工業(yè)電源的應用設計探討