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