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