新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > 分析一個極簡的電源電壓檢測電路

分析一個極簡的電源電壓檢測電路

作者: 時間:2024-07-17 來源:硬件筆記本 收藏

是常用的功能。

本文引用地址:http://www.butianyuan.cn/article/202407/461112.htm

比如用電池供電的產品,需要實時檢測電壓以判斷電池的電量情況,并及時提醒用戶對電池充電或者更換電池。

再比如通過檢測電池電壓判斷斷電,及時在斷電之后采用電容上儲存的電荷供電,維持記錄工作,在此期間將RAM中的數據寫入flash,eeprom等非易失存儲器,重新上電之后再讀出恢復,從而實現(xiàn)斷電記憶功能。

為了保證該功能的可靠性,產品需要滿足電源瞬斷試驗要求。比如對于電源50ms瞬斷,在斷電之后,并聯(lián)在供電電源兩端的電解電容可以繼續(xù)放電,維持負載正常工作。

50ms瞬斷要求電容在向負載放電50ms之后,其兩端的電壓仍能滿足設備正常工作要求。


電容容值的計算

以下面的電路為例,12V供電電源經過LDO穩(wěn)壓,得到+3.3V向負載供電,


LDO電路

經過測算,+3.3V電源的負載電流為50mA;

對于線性穩(wěn)壓器,其輸入電流等于輸出的負載電流加上線性穩(wěn)壓器的工作電流(也即靜態(tài)電流);

在上圖中,Iin=Iload+IQ,從規(guī)格書上可知,其靜態(tài)電流約為6mA,這樣+12V外部電源的負載電流為50mA+6mA=56mA。

要注意的是,對DC-DC電源,其輸入電流和輸出電流需要從功率的角度通過效率來換算;

從規(guī)格書上還可以知道,LDO的最小壓差的最大值為1.10V,即輸入電壓需要達到3.3V+1.1V=4.4V以下,LDO才能穩(wěn)定輸出+3.3V的電壓。


LDO的靜態(tài)電流以及壓差

根據這些參數, +12V輸入電源兩端的電解電容C1需要取多大的容值才能保證在斷電50ms之內,+3.3V的電源電壓穩(wěn)定,從而負載正常工作。

當+12V斷電之后,C1向通過LDO向負載放電,其放電電流為56mA。

從開始放電,至+3.3V能穩(wěn)定輸出+3.3V電壓的電壓降ΔU=(12-4.4)=7.6V;

由電容的電流電壓關系I=C*du/dt,得到C=I*Δt/ΔU=56mA*50ms/7.6V=368uF;

通過仿真軟件,用示波器測量斷電之后LDO輸入電壓的波形,可知當電容以恒定的56mA的電流放電,放電到LDO穩(wěn)定輸出+3.3V的電壓4.4V所對應的時間為49.9mS,與理論分析一致。


電容以恒定電流放電的電壓波形

電解電容的容量誤差大多數一般都是標稱±20%;

鋁電解電容器的電氣性能參數受溫度影響:隨著溫度的降低,電解液的粘度增加,從而使其導電性能降低,因此,溫度降低時電容量會減小,溫度上升時電容量增加,且這種現(xiàn)象比其他類型的電解電容器更加明顯;

-40℃時的容量比常溫時下降10% ;

因此,電容的容量誤差應該以標稱容量的±30%來考慮;

理論計算得到368uF的實際容量需求,應該選用368F/70%=525uF的電容,可選擇680uF的電容;


軟件設計的考量

在第一部分中,根據測算得到的負載電流,設備正常工作的最低電壓,瞬斷時間要求,通過電容的電流電壓關系推算出電容的容值;并通過電源瞬斷試驗進行驗證。

處理器的中斷資源有限,一般情況中中斷處理函數僅用于實時性要求非常高的業(yè)務;

比如MODBUS通信;

耗時長而實時性要求不好的業(yè)務一般在主循環(huán)中處理;

所以斷電檢測以及將RAM數據寫入EEPROM或者FLASH一般都在主程序中完成;

代碼中不能有while等死等待,比如軟件延時,死等ADC完成等硬件標志。

需要評估所有中斷執(zhí)行的時間,主程序最長執(zhí)行時間;

在發(fā)生斷電時,有可能需要耗費這些時間之后才執(zhí)行輸入電壓檢測以及保存數據的程序;

對于STM32F103的處理器,擦除一頁(1kB)FLASH的時間最大為40ms;

寫1個word數據的時間最長時間為70us,保存50個word的數據的最長時間為3.5ms;

如果還需要同時備份一組數據的話,那50個word數據斷電記憶的總時間高達87ms;

顯然50ms的維持時間不滿足采用STM32F103處理器的內部FLASH的斷電記憶的要求。

即使不額外備份一組數據,要求考慮了總的中斷時間之后,主程序在在3ms之內輪詢一次,也是難以做到的。

如果采用外置的SPI FLASH,比如MX25L系列,其只支持以sector(4KB)為單位的擦除操作,所需要花費的時間最短為40ms, 最長為200ms,顯然無法在50ms的時間內完成斷電記憶;

如果采用EEPROM,比如AT24C系列,可以按頁寫入,即通過IIC通信發(fā)送一頁數據之后,再啟動寫入操作,這樣寫入的時間可以達到5ms左右;

容量為8KB的AT24C64一頁的大小為32Byte,即寫入32個Byte,考慮400kbps波特率的通信時間,總耗費約6ms,寫入100個字節(jié)的數據,大概耗時約18ms,即使再備份一組數據,也能在36ms內完成,從而輪詢一次主程序的最大時間為14ms,這是努力一把可以做得到的;

有人可能會問,為什么需要在檢測到斷電之后才將數據存入非易失存儲器;


如果不計成本,用鐵電存儲器當作非易失存儲器,那就可以不受限制隨時寫入了;

FLASH的擦寫壽命一般為10萬次;

EEPROM的擦寫壽命一般為100萬次;

可以通過在軟件算法在不同扇區(qū)之間做讀寫平衡以延長擦寫壽命。

但是,對于一些變化快的數據,依然很達到使用的壽命要求;

一些外部輸入的高速計數,比如生產線上的生產計件,假設一秒內有1次計數,如果數據變化就寫入非易失存儲器,則1秒內大概會擦寫1次;大概2天擦寫次數就會達到16萬次。


綜合以上信息,

  • 采用STM32F103處理器的內部FLASH,通過檢測電源電壓進行斷電記憶需要滿足至少100ms左右的瞬間要求;

  • 采用外部SPI FLASH,很難通過檢測電源電壓進行斷電記憶;

  • 采用大容量的EEPROM,滿足50ms的電源瞬斷要求,可能可以做到斷電記憶。

  • 如果成本沒有壓力,可以采用鐵電存儲器做斷電記快功能,鐵電存儲器沒有寫入次數的限制,不需要檢測斷電,可以存儲寫入,而且寫入的速度非???,不需要考慮寫入時間;


電路的分析


一個檢測的電電路

上圖是一個簡單的電源電壓檢測電路,將電源電壓通過電阻分壓之后接到MCU的ADC口。

二極管D1除了電源防反接保護之后,還可以避免電容C1上的電壓反灌到輸入電源檢測電路,使得斷電之后,可以立即被檢測到;

有幾個問題需要考慮:

1)檢測電路的工作電流,以智能灌溉的閥門控制器為例,該設備由9V堿性電池供電,實測大概為400mAh的容量;

單片機睡眠功耗大概可以做到10uA;

根據設定的定時澆灌邏輯,利用RTC的Alarm功能每天定時喚醒,驅動閥門打開澆水,

驅動電流大概為500mA,驅動時間大概為1s,執(zhí)行一次消耗電量為0.14mAh,一天執(zhí)行三次總耗電為0.42mAh;

而設備待機一天消耗的電量約為0.24mAh;

一天總耗電為0.66mAh,400mAh的電池可使用606天;

而該電源電壓檢測電路的平均工作電流約為64uA,一天消耗的電量為1.54mAh,遠大于單片機睡眠功耗,加上該電流,電池僅可使用180天左右;

雖然增加R2的阻值可以減少檢測電路的電流,然而,阻值大的電阻精度差,而且PCB板的表面絕緣電阻也會對測量精度造成影響。

2)MCU的端口保護,在這一電路中,MCU的端口通過分壓電阻R2裸露到了外部;

當有靜電放電、電磁干擾、閃電、接地不良、感性負載切換等情況發(fā)生時,可能有浪涌電壓或者浪涌電流從外部串入MCU;

浪涌電壓時間很短,一般在幾十微秒,幅度可以達到數千伏;

正電壓可以在D1導通之后由C1、C2吸收,但是由于D1導通需要響應時間以及走線的寄生電感的影響,不可避免會有高壓脈沖串入IO口;

電源的電壓越高,R3兩端的分壓值也越大,當該分壓值超過MCU的工作電壓與MCU端口的上拉保護二極管的正向導通電壓之和,

則電流通過上拉保護二極管流向MCU的供電電源;

假設電源電壓為Vin,MCU的工作電壓為V+3.3V,MCU內部上,下拉保護二極管的導通電壓為Vf,流過MCU內部二極管為Iin,則滿足下面關系式:


時 ,


根據MCU的規(guī)格書,流過保護二極管的電流超過10mA就可能損壞IO口,

對應的輸入電壓為:


同理,當負電壓低于1008V時,可能損壞IO口;

針對這些情況,靠近MCU IO口放置的小電容可以起到至關重要的保護作用;

浪涌電壓或者靜電的特點是時間非常短,最多僅為幾十us;

電容兩端的電壓不能突變,輸入電壓通過R2,R3向電容充電,時間常數τ為,


電容兩端的電壓為:


應該保證在高壓脈沖持續(xù)時間內,電容兩端的電壓不能被充至讓MCU的內部保護二極管導通;

考慮持續(xù)時間20us,幅度為2000V的電壓,需要滿足:



問題在于,

1)如果防護電壓高達幾千V,持續(xù)時間達幾十us以上的浪涌電壓,避免其對MCU造成損壞,所需的電容容值比較大;

2)出于保護目的,選擇了大電容,同時會導致電容放電時間慢,導致MCU無法及時檢測到斷電,為了實現(xiàn)斷電記憶,有更長的瞬斷時間要求 ;

需要通過雙極性TVS或者壓敏電阻對浪涌電壓進行鉗位。


電源電壓檢測電路的改進

可以采用三極管對檢測電路的通斷進行控制,如下圖:


開關控制的電源電壓檢測電路

MCU的IO口輸出高、低電平通過Q1以及Q2控制電源電壓檢測電路的通路;

只有在需要檢測時,才輸出高電平,使能Q1、Q2導通,電源電壓經過R2,R6分壓之后送入ADC口進行檢測,如果由電池供電,這時才會消耗電池電量。

還有一種更簡單的電路,可以達到一樣的效果;


優(yōu)化的電源電壓檢測電路

與上一個電路相比,少了一個PNP三極管以及兩個電路,可以節(jié)省大幾毛錢,螞蟻腳也是肉,摘下口罩之后,大形勢不明朗,能省一點是一點。

要點在于選擇合適的基極、集電結、發(fā)射結的電阻,使得三極管Q1處于飽和導通狀態(tài);

假設三極管仍然處于放大狀態(tài),

電源電壓為Vin,MCU端口輸出高電平為VO;

B極電流為IB,C極電流為IC,BE極的壓降為VF;

電阻R1兩端的電壓為VE,三極管CE兩端的電壓為VCE,

三極管C極的電流放大倍數為β,則有以下關系式成立:


(1)


(2)


(3)


(4)


(5)

由1,4可以得到,


進一步得到:


當VCE<0時,Q1不再處于放大狀態(tài),而進入飽和導通狀態(tài),

如果取VO=3.3V,VF=0.7V, R1=10KΩ,R2=100KΩ時,則有Q1處于飽和導通狀態(tài)的條件為:


(kΩ)

取電流放大倍數β的最小值為50,Vin的最大值為20V,則右式的最小值為219kΩ;

所以R4只需要小于219kΩ即可以讓Q1處于飽和導通狀態(tài);




評論


相關推薦

技術專區(qū)

關閉