鉅大LARGE | 點擊量:1187次 | 2019年11月19日
簡化針對多種化學(xué)類型電池的充電器
當(dāng)為不同電池芯容量的多種化學(xué)類型電池充電時,在不同的充電階段上,電池電壓可能會高于或低于電源電壓。因此,需要對電源電壓做升壓或降壓,以配合電池的電壓。例如,當(dāng)為一個典型電壓為1.25V的單芯NiMH(鎳金屬)電池充電時,必須對3.3V的電源做衰減或降壓。當(dāng)要為一個單芯4.1V鋰離子電池充電時,輸入電壓需要做升壓。為解決這些問題,應(yīng)用一種SEpIC(單端初級電感轉(zhuǎn)換器)作為主充電路徑(參考文獻1)。這種開關(guān)模式的dc/dc轉(zhuǎn)換結(jié)構(gòu)可以同時在某個電壓區(qū)間內(nèi)完成升降壓工作,從而提供了電源電壓的靈活性。
鋰離子與NiMH化學(xué)類型需要不同的充電曲線,但一個靈活的充電架構(gòu)可以方便地用于兩種情況。較為靈活與簡便的實現(xiàn)方式是,用微控制器上的固件,從一種化學(xué)類型切換到另一種類型。如果設(shè)計一種模塊化的充電子系統(tǒng),并將各種功能封裝到各個模塊中,就可以根據(jù)系統(tǒng)需求,使用某個系列中的不同微控制器,實現(xiàn)相同的應(yīng)用。模塊化的使用簡化了設(shè)計,開發(fā)人員就能夠為其它主要應(yīng)用增加電池充電功能,如電機控制與醫(yī)療測量等(參考文獻2)。
在控制充電電流時,電池充電器必須要確定出電池的電壓、電流與溫度。確定電池狀態(tài)的硬件對所有電池類型都是共同的,電池電壓可以高于或低于微控制器的輸入范圍。因此,工程師們一般都會用一個電阻分壓電路測量電壓,做電壓衰減。他們可以測量高側(cè)的電流,即進入電池的電流;也可以測量低側(cè)的電流,即離開電池的電流;或者,在SEpIC情況下,可以在電感的次級端使用一只電阻。電池通常都內(nèi)嵌有熱敏電阻,可以用于監(jiān)控和確保電池溫度的精度。有些商用電池制造商為降低成本而省略了這些熱敏電阻。這種情況下,用戶可以外接一只熱敏電阻,并使之與電池接觸。
采用這些測量參數(shù),微控制器就能確定并控制進入電池的充電電流。從電池充電器的角度來說,不同化學(xué)類型之間的主要區(qū)別就是充電曲線(圖1與參考文獻3)。鋰離子電池采用的是恒流恒壓的充電曲線。如果電池電壓在啟動時低于恒流閾值,則電池充電器會以少量電流供電,大約為電池容量的10%。在這個預(yù)處理階段,電池電壓會隨著充電電流而逐步增加。當(dāng)電壓達到快充閾值時,微控制器將充電電流增加到約為100%容量。這個恒流階段一直保持下去,直到電池電壓達到規(guī)定的電壓值。然后,電池充電器進入恒壓階段,在此期間,充電電流減小,同時電池電壓保持在規(guī)定的電壓值。當(dāng)電流降低到終止電流時,電池電壓保持不變,而電池充電過程終止。
在充電期間,電池中的電流隨溫度的變化而變化。如果有任何電池狀態(tài)參數(shù)(電壓、電流或溫度)超出了相應(yīng)電池充電階段所規(guī)定的范圍,則電池充電器會停止充電做保護。
NiMH電池的前兩個充電階段與鋰離子電池類似,即:20%容量的激活段,以及100%容量的恒流段。電壓下跌與溫度下跌表明了NiMH電池的恒流段結(jié)束,而電流保持恒定。在這次電壓下跌后,NiMH充電器的充電曲線進入了充電完成階段,在此期間,電流降低到約5%容量的涓流水平。這一階段提供一個恒定時間的小充電電流,直到充電終止。
使用這些充電需求,就可以將電池充電過程簡化為不同的水平,方法是用一個預(yù)先定義了電壓、電流、溫度和超時等數(shù)值的狀態(tài)機。微控制器的狀態(tài)機控制著電池的狀態(tài),以及充電所需要的電流量。圖2是一個可為這兩種電池充電的簡化的狀態(tài)機。
根據(jù)所選擇的電池化學(xué)類型,微控制器會檢查電池的狀態(tài)機,控制充電電流。電池充電的曲線可以有預(yù)編程、啟動前或自動決定三種形式。對于前兩種方式,微控制器會從用戶的輸入獲得電池類型。對預(yù)編程情況,模塊軟件會選擇充電電池的類型,用所需曲線為微控制器編程。這種決策方式適用于那些充電是附加功能的應(yīng)用。在這些應(yīng)用中,電池類型是已知的。
在啟動前方式中,微控制器會做一個附加檢查,這種檢查可以簡單到在啟動時由微控制器檢查開關(guān)的位置,從而確定電池的充電曲線與選擇。對于自動檢查方式,微控制器會在啟動后自動地做出決策,通過檢測電池的類型而選擇電池充電曲線。例如,一只單芯NiMH電池的典型電壓范圍為0.9V~1.25V,而一個鋰離子電池芯的電壓范圍為2.7V~4.2V。同樣,不同電池的溫度范圍也有差異,微控制器可以在啟動時保存和比較這些數(shù)值。自動檢查方案只能用于某些情況。一般來說,預(yù)編程與啟動前方法可用于大多數(shù)應(yīng)用。本文主要討論預(yù)編程決策,面向那些電池充電是附加功能的應(yīng)用。
兩種化學(xué)類型都使用了相同的硬件,用于電池充電器的檢測與控制(圖3)。要確定電池的狀態(tài),就要將電壓、電流和溫度以多工方式輸入到微控制器中的一只ADC,完成測量。固件使用這些數(shù)值確定出狀態(tài),通過改變pWM(脈沖寬度調(diào)制器)的占空比而控制充電電流。pWM的輸出連接到SEpIC中MOSFET的柵極上,控制流經(jīng)電池的電流。這些步驟都與CpU有關(guān),因此會有一些延遲。有些電池(包括鋰離子電池芯)對過充很敏感,在較高電壓下會變得不穩(wěn)定。比較器增加了防止過壓和過流狀況的硬件保護電路。這些比較器會在必要時中止充電,直到用戶將其復(fù)位,或電池回到安全的狀況下。
根據(jù)測得的參數(shù)值以及電池的化學(xué)類型,CpU確定出電池的狀態(tài),并相應(yīng)地改變pWM占空比。按傳統(tǒng)方法,CpU用于確定充電曲線的條件都是代碼中的常數(shù),程序員要手工修改它們(代碼清單1)。
當(dāng)需要修改充電曲線時,將電池充電曲線設(shè)為0或1,可在兩個充電曲線之間做切換。程序?qū)⑨槍λ袪顟B(tài)的電壓、電流和溫度極限保存為常數(shù),并做相應(yīng)的修改。如果某種電池類型需要不同的電壓水平,則必須修改代碼,輸入新的參數(shù),這意味著應(yīng)用的用戶必須了解修改充電曲線的代碼,以及電池充電的限制條件。而采用模塊化方案后,當(dāng)選擇了相應(yīng)的Ip(智能產(chǎn)權(quán))塊時,就可以輸入用于修改電池充電器曲線的參數(shù)。圖4給出了鋰離子電池與NiMH電池的模塊參數(shù)。
使用這些模塊后,應(yīng)用的設(shè)計者就可以為應(yīng)用增加充電器模塊,建立相應(yīng)的充電曲線。模塊還生成了所有其它的硬件塊,包括比較器與pWM,以及軟件狀態(tài)機。采用可重新編程的架構(gòu)時,如Cypress半導(dǎo)體公司的pSoC(可編程系統(tǒng)單芯片),就可以用軟件應(yīng)用,對硬件模塊做編程和實現(xiàn)。采用這種方式,開發(fā)人員可用NiMH電池的充電曲線為圖3中的硬件編程。為產(chǎn)品增加一個USB(通用串行總線)模塊,開發(fā)人員就可以將電池參數(shù)發(fā)送給計算機。用C#語言的一個軟件工具就可以繪出這些數(shù)據(jù),當(dāng)然也可以采用其它類型的通信方式和相近的工具。電池仿真器用于模仿鋰離電池和NiMH電池,獲得實時的圖像(圖5)。
由于使用了電池仿真器,電壓的變化便產(chǎn)生了電流的開關(guān)噪聲。因為使用電池仿真器的電壓變化較快,pWM輸出對一個電壓變化的響應(yīng)與安定時間可看作開關(guān)噪聲。一塊電池中的電壓變化是漸進的,因此開關(guān)噪聲在一塊實際電池中并不明顯。
通過對SoC(系統(tǒng)單芯片)固件的簡單修改,就可以用相同硬件,開發(fā)出用于多種化學(xué)類型電池的充電器。將充電曲線模塊做到元件中,便于主應(yīng)用附加電池充電的功能。