大多數手持設備使用堿性或可充電電池,因此測量電池容量是此類設計的關鍵特征。但是,在大多數情況下,對于預算緊張的項目而言,使用電池電量監控IC可能是一種奢望。這是一個更簡單,更便宜的選擇。
如今,即使是最便宜的微控制器也經常包括內部模數轉換器(ADC)模塊,并且由于其(相對)較低的分辨率和較高的噪聲水平,一直沒有使用該模塊。但是,那些未使用的內部ADC通道之一足以執行測試以確定電池是否仍然可用。
用于檢測電池狀態的方法稱為電化學動態響應(EDR)(參考文獻1),并由Cadex Electronics的美國專利號7,622,929授予專利。
EDR通過施加負載脈沖并評估電池對攻擊和恢復的響應時間,將負載下的電池狀況與存儲的與電池性能相關的參數進行比較。如圖1所示,好的電池具有很強的恢復特性,而接近耗盡的電池則具有較高的放電斜率和較差的恢復能力。耗盡電池的響應存在這些差異的原因有很多,例如內部電阻增加。
圖1比較了各種充電狀態下電池對臨時負載脈沖的響應,表明了它們在EDR方面的差異。
使用EDR理論,對電池電壓進行采樣以在特定時間(例如發生最大功耗時)找到最小電池電量,即可獲得有關電池運行狀況的信息。系統的初始開啟時間(也稱為“打招呼”)是衡量電池健康狀況的特別好機會。在系統完全激活之前,電池電量似乎處于安全操作水平,但是,如果電池快要用盡,則當系統達到滿負荷時,電池電量可能會立即降至安全水平以下。該設備將在不執行EDR測試的情況下以正常模式啟動,但在第一個重載時將無法控制地關閉(即,電壓下降到如圖1所示的關鍵電池電量水平)。
EDR測試實現的簡化硬件版本如圖2所示。選擇負載電阻來代表整個系統負載,因此其電阻值可能會因系統而異。生成此處顯示的數據的系統需要一個10Ω的值。電阻R1和R2用作電池電壓(Vcc)測量的分壓器,而升壓電路可確保ADC的基準保持恒定,即使在測試期間電池電壓下降時也是如此。電阻R3是開關晶體管的下拉電阻。
圖2此簡化的示意圖顯示了EDR測試實現的總體設計。
測試系統在設定的時間段(約200毫秒(msec))內對電池電壓進行采樣。在固件控制下,MOSFET僅在測量周期的一半時間內導通,然后關閉。這樣,系統就可以在滿載情況下測量電壓,并在最小負載時測量電池的恢復響應。(可以在固件中更改時間段,但是我發現200毫秒足以充分評估電池容量。)測量完成后,可以通過UART鏈接讀出結果。
用您獨特的設計讓工程界贊嘆不已:設計理念提交指南
在為演示EDR而構建的示例系統中,我使用了兩節AA堿性電池,Vcc的最大值為3.2V。升壓電壓Vdd設置為恒定的3.6V。系統通常消耗55毫安(mA),但在滿載時消耗127 mA。使用“好”電池(圖3a)和“壞”電池(即耗盡的電池(圖3b))對系統進行測試時得到的示波器軌跡表明,欠載電壓差異可能有多大。
圖3電池電壓的負載測試顯示,充滿電的電池(a)和幾乎耗盡的電池(b)的響應之間存在顯著差異。
我在某些項目中使用的示例設計基于STM32F303微控制器,其固件使用KEIL IDE用C編寫。可以在此GitHub頁面上找到固件。
測試代碼的流程圖出現在圖4中。UART收到“ S”字符后,將執行測試。ADC采樣頻率設置為250赫茲,并且如前所述,測試周期約為200毫秒。
圖4EDR測試代碼打開負載,采樣時間為測試時間的一半,然后關閉負載并完成采樣周期。
此代碼僅進行測試并收集數據。處理數據有很多選擇。在最簡單的情況下,您可以查看數據的最小值,并將其與系統的安全工作電壓水平(也稱為臨界水平)進行比較。如果在測試過程中電池電壓接近臨界水平,則可以警告系統用戶該更換電池了。
可以編寫更全面的算法來精確確定電池運行狀況,例如顯示電池電量指示器。為了更新并在顯示器或電池指示器上向用戶顯示適當的數據,應過濾所獲取的數據。負載變化使原始數據在沒有適當過濾的情況下完全無用。緩慢的無限脈沖響應(IIR)濾波器將使信號正常平滑。
總之,借助微控制器的非常基本的ADC,借助EDR方法,可以廉價地檢測電池狀態。初始加電期間的電池讀數約為200毫秒,足以對幾乎所有系統實施基本的電池運行狀況測試。
參考
電池大學電池快速測試方法
編輯:hfy
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
模數轉換器
+關注
關注
26文章
3200瀏覽量
126810 -
電池電量
+關注
關注
1文章
45瀏覽量
12569 -
可充電電池
+關注
關注
0文章
64瀏覽量
8943
發布評論請先 登錄
相關推薦
評論