智能充電器絕對不僅僅是一款業(yè)余 DIY 的充電器, 他也將是一塊入門級別的 STM32 開發(fā)板。附件內(nèi)容分享了該STM32 智能充電器全部教程。 讓您從零開始學(xué)習(xí)充電器。 從您學(xué)習(xí) STM32 , 所以你可以盡可能的放心, 即使您對 STM32 還沒有任何接觸, 只要您有決心, 只要有 C 語言基礎(chǔ),,你完全可以經(jīng)過這個(gè)項(xiàng)目的引導(dǎo)后學(xué)會智能充電器, 學(xué)會利用 STM32 開發(fā)項(xiàng)目。
STM32 智能充電器功能更新內(nèi)容:
1.增加快速充電功能(測試了5個(gè)電池多次充電 只有一次失誤:一個(gè)電池過放 在充電30分鐘出現(xiàn)假負(fù)壓 誤判了 呵呵)
2.增加參數(shù)設(shè)置(可以設(shè)置單個(gè)電池容量 所有的充電參數(shù)都是根據(jù)這個(gè)容量來配置 LCD背光設(shè)置 LED設(shè)置等)
3.繼續(xù)完善電池內(nèi)阻測試(雖然直流測試法缺點(diǎn)頗多 但是 繼續(xù)改善 應(yīng)該還是可以比較靠近的)
4.修整標(biāo)準(zhǔn)充電(先放完電再沖)
STM32 智能充電器板子測量電壓跟萬用表的對比
對于快充 我是根據(jù)Panasonic的一份資料來做的
充電曲線如下:
1. 預(yù)沖 預(yù)沖電流0.2C 達(dá)到預(yù)沖截止電壓跳轉(zhuǎn) 超過預(yù)沖時(shí)間跳轉(zhuǎn)over 超過最高電壓(1.8)跳轉(zhuǎn)over
2. 不帶監(jiān)控快充 這個(gè)時(shí)候充電是快充電流0.4C(暫時(shí)設(shè)置0.4C 測試完畢可以調(diào)整到0.5C) 但是不檢測負(fù)壓 充電時(shí)間10分鐘 充電過程監(jiān)視最高電壓
3. 帶監(jiān)控快充 檢測負(fù)壓 負(fù)壓值采用#defined設(shè)定 目前是5mv 負(fù)壓出現(xiàn) 充電結(jié)束 超過最高電壓轉(zhuǎn)over 超過最長時(shí)間over
4. 整個(gè)充電過程有總的最長時(shí)間
5. 目前溫度檢測 ntc雖然焊接上去了 但是 還沒想好用什么辦法跟電池良好接觸 暫時(shí)溫度沒考慮進(jìn)來
負(fù)壓值的比較 采用數(shù)列方式 每一秒鐘均值作為比較對象 數(shù)列里面每一個(gè)數(shù)值跟電壓最高值比較 比較結(jié)果用-1和+1標(biāo)示 最后算數(shù)列總和 就知道負(fù)壓的情況
參數(shù)設(shè)置 全部保存到flash里面 下次開機(jī)會自動讀取 有記憶功能
可以在充電前設(shè)置電池容量 所有各個(gè)狀態(tài)中的充電電流都是根據(jù)這個(gè)容量來計(jì)算的
比如 標(biāo)準(zhǔn)充電0.1C 快速充電0.4C 放電0.2C等等
這樣 就不是固定一個(gè)電流值
針對不同的電池 就可以“量身定做”了
內(nèi)阻測試 以前的版本因?yàn)榧与姇r(shí)間太短 就檢測了 讀數(shù)不對 所以誤差較大
以前是采用 (V1-V0)/I 的公式算的
V1 = 恒流充電時(shí)電壓
I = 恒流充電電流
V0 = 不充電時(shí)電壓
總是感覺V0 在哪個(gè)時(shí)間點(diǎn)測試 不好把握
所以 現(xiàn)在采用 (V1-V2)/(I1-I2)
呵呵
現(xiàn)在我的電池測量結(jié)果是80毫歐左右
電池是三洋的正品電池 正確數(shù)值應(yīng)該是20毫歐左右的
結(jié)果還是有很大誤差
嗯 繼續(xù)努力
標(biāo)準(zhǔn)充電 是使用0.1C電流沖16小時(shí)
這個(gè)模式下 截止充電就是只有2個(gè)因素
一個(gè)是最高電壓 一個(gè)是16小時(shí)這個(gè)時(shí)間
考慮到放進(jìn)去充電的電池 可能還有電
有電的電池還是沖16小時(shí)
那肯定過沖
也考慮過按照電壓的比例估算剩余電量
從而自動調(diào)整充電時(shí)間
但是 電池電壓跟容量 基本不比例
每個(gè)電池的個(gè)體性質(zhì)也不一樣
于是 干脆一不做二不休
直接0.2C放電完畢 再開始標(biāo)準(zhǔn)充電
STM32 智能充電器制作成功后實(shí)物展示: