TP4056 实现可编程锂电充电器+电量计
本文作者:t3486784401
鏈接:https://www.mydigit.cn/forum.php?mod=viewthread&tid=250916&extra=
手頭有些容量非常小的軟包鋰電,直接使用市面上的大功率充電板(500mA/1A)倍率太大,容易損壞電池。
索性拿 TP5046 搭一套充電系統,配合 Arduino 實現電壓、電流采樣,實現電池容量檢測。
【原理】
TP4056 是 1A 鋰電池線性充電器,適合 3.7v 三元鋰電池充電。
芯片除了自帶指示燈驅動(充電/滿電),還支持單電阻 Rprog 設定、檢測電流:
圖中 Rprog 與恒流電流的關系:
Icc= 1v/Rprog *1200
實時充電電流與 Vprog 的關系:
Ibat= Vprog/Rprog *1200
恒流階段 Vprog=1.0v,充滿以后 Vprog<0.1v.?
使用 ADC 同步采樣電池電壓 Vbat、參考電壓 Vprog 即可獲得電壓、電流參數,
電流參數對時間進行積分,即可獲得電池容量參數。
【硬件】
硬件的主要功能包括:電壓電流濾波采樣、編程電阻 Rprog 的動態切換。
Rprog 采用 8-4-2-1 比例方式由 Arduino 切換,調整 IO 通斷即可設定 60mA-950mA 充電電流,步進值 60mA.
硬件做成了 Arduino 擴展板的形式,由于 TP4056 需要有些散熱設計,因而再搭棚一層 TP4056 最小系統。
Vprog 由 ADC 直接采樣,Vbat 經過 47k-10k 分壓網絡后采樣,最后焊接擴展板:
安裝上 Arduino UNO 的組合樣子:
【軟件】
由于沒有復雜的控制邏輯,整套代碼使用 ICCAVR 編寫:
運行過程中使用串口助手接收電壓、電流數據,供后期計算使用:
附上運行固件及源碼,供參考或直接燒錄:公眾號后臺回復關鍵詞:008,或者?可編程充電。
【效果】
堆疊板上保留了 TP4056 經典的紅/綠充電狀態指示,效果如下:
串口收到的數據統一替換下格式粘貼進 EXCEL,順手處理電壓電流換算:
最終 EXCEL 繪制電池充電電壓(藍)、電流(紅)曲線,含時間標簽:
電流曲線(紅)下方的面積即為電池容量,實際用 EXCEL 做個累加直接就有了。
我這個二手軟包電池測得大約 160mAh 的容量。
從電流曲線上可以明顯看出 TP4056 工作流程:恒流到4.2v,再恒壓到1/10電流,最終停止充電。
電壓曲線則可以看出 3.9-4.2v 區間段容量較大,恒流持續時間較長;而 <3.7v 區間幾乎沒什么容量。
以上,使用 TP4056 搭接了一套可編程鋰電充電系統,支持電壓電流采樣,可用于估算電池容量。
恒流充電電流 60mA-950mA 可調,可以適配各路中小容量的三元鋰電池充電。
最后祝大家 DIY 愉快!
推薦閱讀:
專輯|Linux文章匯總
專輯|程序人生
專輯|C語言
我的知識小密圈
關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~
總結
以上是生活随笔為你收集整理的TP4056 实现可编程锂电充电器+电量计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在酷狗上下载付费歌曲
- 下一篇: cad管线交叉怎么画_高效设计!多种方式