應用于各種類(lèi)型電池的充電系統
要確定電池狀態(tài),就要進(jìn)行電壓、電流、溫度的測量,把他們通過(guò)復用器輸入微控制器中的ADC。根據這些值,在固件中確定狀態(tài),充電電流通過(guò)改變PWM占空比來(lái)控制。PWM輸出連接到SEPIC變換器(其控制流進(jìn)電池的電流)里的MOSFET門(mén)。這些步驟關(guān)系到CPU,因此有些延遲。不同的電池,特別是鋰電池,對于過(guò)充電非常敏感,在高電壓下可能變得非常不穩定。要額外增加過(guò)電壓和過(guò)電流保護,硬件保護電路就要增加比較器。這些比較器會(huì )關(guān)閉充電直到用戶(hù)復位或達到一個(gè)安全的工作環(huán)境。根據測量到的參數值和電池類(lèi)型,CPU決定電池狀態(tài)和相應的PWM占空比。傳統上,CPU檢測充電曲線(xiàn)所需的條件,可以在代碼中定義為常數,并可手動(dòng)修改。例如以下代碼。
當充電曲線(xiàn)需要改變時(shí),BATTERY_PROFILE設置為0或1以在兩種充電曲線(xiàn)之間進(jìn)行切換。所有狀態(tài)的電壓、電流、溫度限制都保存為常數,并可以作出相應改變。如果同一電池類(lèi)型需要不同的電平,需要修改代碼鍵入新參數。這意味著(zhù)這種應用的用戶(hù)需要注意代碼改變充電曲線(xiàn)和充電器限制。通過(guò)使用組件式方法,當開(kāi)發(fā)人員選擇合適的IP模塊時(shí),可以鍵入參數來(lái)改變電池充電器充電曲線(xiàn)。例如,鋰電池和鎳氫電池組件如圖4所示。
圖4:可以為不同電池鍵入參數的GUI使用這些組件,應用工程師可以添加充電器組件到已有的應用中,并設置適當的充電曲線(xiàn)。所有其他的硬件(比較器,PWM等)和軟件(狀態(tài)機)也都由組件生成。使用可編程結構,例如賽普拉斯的PSoC,通過(guò)軟件程序,硬件組件就可編程并實(shí)現。這種方法可以用于實(shí)現圖3中鋰電池和鎳氫電池的充電器硬件。在項目中增加一個(gè)USB部件,電池參數就可以送到計算機。數據繪制實(shí)現使用C#軟件工具。其他任何通訊方式和類(lèi)似工具都可以用來(lái)繪制數據。電池模擬器可以用來(lái)模擬鋰電池和鎳氫電池的實(shí)時(shí)獲得圖形。得到的圖形如圖5所示。
圖5:鋰電池和鎳氫充電圖形
在電流中看到的噪聲是使用電壓仿真器改變電壓時(shí)的開(kāi)關(guān)噪聲。由于使用電壓仿真器,電壓改變特別快,對應電壓的變化,PWM輸出的建立時(shí)間和響應就可以看到上面的噪聲結果。在電池中電壓變化是非常緩慢的,從而開(kāi)關(guān)噪聲并不明顯。圖1和圖2鋰電池和鎳氫電池的充電階段可以在圖5中看到。因此可以看出,只需簡(jiǎn)單改變SoC固件,就可以使用同樣的硬件實(shí)現多種充電器。通過(guò)簡(jiǎn)單部件,就可以增加充電功能到主要應用中。
評論