便攜式電子設(shè)備一般帶有鋰電池,其電量的計(jì)算,最廉價(jià)的方案是通過偵測電池的電壓來實(shí)現(xiàn)。
比如曾經(jīng)做過的一個(gè)電紙書閱讀器的項(xiàng)目,也就是Kindle這類產(chǎn)品:
其電池電壓偵測電路非常簡單:
兩個(gè)電阻對(duì)電池的電壓進(jìn)行分壓,經(jīng)過電容濾波后送給MCU的ADC管腳進(jìn)行電壓測量。
這個(gè)電路在系統(tǒng)關(guān)機(jī)后還會(huì)一直消耗電池的電量。以鋰電池電壓為4.2V為例,浪費(fèi)的電流為9.3uA:
9.3uA看似不大,在有些要求極致低功耗的應(yīng)用場景,也是不能接受的。
如果MCU的ADC輸入阻抗較小,那么兩個(gè)分壓電阻的取值要更小一些,比如30Kohm和15Kohm,浪費(fèi)的電流就更大了,會(huì)達(dá)到93uA。
如何解決這個(gè)問題,實(shí)現(xiàn)關(guān)機(jī)功耗為0呢?
一、第1個(gè)推薦電路
在不進(jìn)行電壓測量時(shí),把兩個(gè)分壓電阻的放電回路斷開。加入一個(gè)NMOS管即可:
單片機(jī)的GPIO,即MCU_Control控制MOS管Q1的柵極:
1、需要測量電池電壓時(shí)輸出高電平,將MOS管Q1打開。
2、不需要測量電池電壓時(shí)輸出低電平,將MOS管Q1關(guān)閉。
這個(gè)電路需要注意,在MOS管Q1關(guān)閉時(shí),電阻R2沒有參與分壓,MCU的ADC引腳通過電阻R1直接連接到電池,需要注意ADC引腳是否能夠承受鋰電池4.2V的電壓值。
二、第2個(gè)推薦電路
如果不能承受,那么把電路改動(dòng)一下,將MOS管上移到兩個(gè)電阻之間:
假設(shè)MCU的GPIO輸出的高電平為3.3V,即MCU_Control輸出3.3V,那么在MOS管打開時(shí)各點(diǎn)電壓如下:
所以MOS管的Vgs = 3.3V - 1.4V = 1.9V。
查看MOS管AO3400的數(shù)據(jù)手冊(cè),其Vgs的范圍是0.65V-1.45V:
MOS管導(dǎo)通要求的Vgs最大值為1.45V,小于上述電路的1.9V,所以上述電路可以使用。
提醒大家在選型MOS管的型號(hào)時(shí),務(wù)必注意Vgs這個(gè)參數(shù)。
如果MCU的GPIO是1.8V的,那必然不能把上述電路的MOS管打開。
三、第3個(gè)推薦電路
如果不能滿足MOS管對(duì)Vgs最小值的要求,繼續(xù)改進(jìn)一下。
改進(jìn)需要付出代價(jià),下面不再使用NMOS,改為使用PMOS(同等參數(shù)情況下PMOS更貴),并加入更多的元器件。
將MOS管繼續(xù)上移:
1、當(dāng)MCU_Control輸出高電平時(shí),三極管Q2打開,MOS管Q1打開,電阻R1、R2與電池Vbat連接形成放電回路,MCU_ADC可以進(jìn)行電池電壓偵測。
2、當(dāng)MCU_Control輸出低電平,或者M(jìn)CU完全斷電時(shí),R6將三極管Q2的基極拉到地,三極管Q2關(guān)閉,MOS管Q1關(guān)閉,電阻R1、R2與電池Vbat斷開。
具體原理見文章《帶軟開啟功能的MOS管電源開關(guān)電路》(點(diǎn)擊閱讀),對(duì)PMOS管電源開關(guān)電路做了非常詳細(xì)的介紹。
另外需要注意MOS管對(duì)Vgs最大值的要求,不能超過最大值,否則MOS管會(huì)損壞。
假設(shè)電池電壓Vbat為12V,在三極管Q2打開時(shí),MOS管Q1的Vgs = -12V:
而這顆MOS管AO3401A的Vgs的極限最大值正是±12V:
已達(dá)到參數(shù)上限。
這種情況可以加入一個(gè)電阻進(jìn)行分壓:
四、總結(jié)
本文從只有兩個(gè)電阻進(jìn)行分壓的電路開始,為實(shí)現(xiàn)關(guān)機(jī)功耗為0,對(duì)電路進(jìn)行擴(kuò)展,并針對(duì)存在的問題逐步改進(jìn)。
3種電路都有其適用范圍,大家可以根據(jù)自己的產(chǎn)品功能特點(diǎn)進(jìn)行選用。
五、擴(kuò)展閱讀