如今物聯(lián)網(wǎng)發(fā)展越來越好,單片機和鋰電池組合已經(jīng)越來越普遍,生產(chǎn)單片機的商家當讓不會放過此商機,不斷推出隨物聯(lián)網(wǎng)發(fā)展的單片機。
首先帶大家了解一下什么是鋰電池:
鋰電池在充滿電的時候,是4.2V;在用完電的時候,不是0V,而是2.7V左右,每個廠家制作的鋰電池,略有差異…
鑒于鋰電池材料的局限性,電壓超過4.2V,會發(fā)生危險,比如燃燒;電壓低于2.7V左右,會造成無法再次充電,總之…
鋰電池電壓過高和過低,都會造成永久損壞,所以…
我們的產(chǎn)品在使用鋰電池的時候,需要時刻監(jiān)測鋰電池電壓。
充電的時候,不要超過4.2V,這個要求,需要產(chǎn)品中加入充電管理芯片,充電管理芯片會自動在4.2V的時候切斷充電。
放電的時候,也就是產(chǎn)品在正常使用的時候,不要讓鋰電池電壓低于2.7V,比如,在2.7V的時候,自動強制關(guān)機。
那么,鋰電池電壓監(jiān)測電路應該怎么設(shè)計呢?
如上圖所示,應該是初學者最先想到的辦法。不過,仔細分析后會發(fā)現(xiàn),有大問題,我們來分析一下···
VBAT連接到鋰電池正極,通過兩個電阻分壓,連接到單片機的ADC引腳。ADC測到的電壓,就是鋰電池電壓的一半···
因為鋰電池的電壓范圍大概在2.7V到4.2V之間,所以ADC引腳的電壓會在1.35~2.1V之間,不會超過普通單片機的3.3V電壓,看起來很合理,不過···
當產(chǎn)品處于關(guān)機狀態(tài)時,我們以為鋰電池就不耗電了,其實,通過電路可以發(fā)現(xiàn),鋰電池其實還在通過2個10k的電阻耗電···
隨著時間的推移,該產(chǎn)品放著放著電就減少了,而且當電池電壓減少到2.7V以下時,就可能無法充起電來了···
我在國外的一款產(chǎn)品上,看到了這樣的一個電路,當然,已經(jīng)把它使用到我的產(chǎn)品當中
上面電路,很巧妙的解決了這個問題,代價是電路板上多了1個MOS管和2個電阻,CTRL引腳是單片機的一個普通引腳,在單片機斷電的時候,要求是高阻態(tài),否則也會耗電···
這里加MOS管并不是用來控制“是否要測量電池電壓”,而是為了在產(chǎn)品關(guān)機的時候,不要讓鋰電池電池的電壓通過兩個分壓電阻。
此時,還有個問題要解決···
產(chǎn)品在正常使用的過程中,當電池電壓小于3.3V時,LDO的輸出電壓,就不再是3.3V了,隨著電池電壓的減小,LDO的輸出電壓也會減小,此時…
如果一直使用3.3V作為基準來測量電池電壓,就會出現(xiàn)錯誤,所以…
需要使用有基準電壓引腳的單片機,或者有“內(nèi)部參考電壓”+“內(nèi)部測量通道”功能的單片機···
用基準電壓引腳計算電池電壓,這個大家都清楚,我重點說一下“內(nèi)部參考電壓”+“內(nèi)部測量通道”這個功能。
簡單來說,有了“內(nèi)部參考電壓”+“內(nèi)部測量通道”之后,我們就可以直接通過內(nèi)部測量通道得到精確的VDD電壓,而不必使用基準電壓芯片了,畢竟···
基準電壓芯片也挺貴的,還得在電路板上占個地方,以及多幾分錢的焊接費用···
下面,我們以STC8G系列單片機為例來說一下。
STC8G的ADC第15通道,用來測量內(nèi)部參考電壓源,內(nèi)部參考電壓為1.19V,通過測量它的值,反推出VDD值。
如上圖的代碼,會獲得真實的VDDA值,最終會計算出單位是毫伏真實的電池電壓。