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