比如用電池供電的產(chǎn)品,需要實(shí)時(shí)檢測(cè)電壓以判斷電池的電量情況,并及時(shí)提醒用戶對(duì)電池充電或者更換電池。
再比如通過檢測(cè)電池電壓判斷斷電,及時(shí)在斷電之后采用電容上儲(chǔ)存的電荷供電,維持記錄工作,在此期間將RAM中的數(shù)據(jù)寫入flash,eeprom等非易失存儲(chǔ)器,重新上電之后再讀出恢復(fù),從而實(shí)現(xiàn)斷電記憶功能。
為了保證該功能的可靠性,產(chǎn)品需要滿足電源瞬斷試驗(yàn)要求。 比如對(duì)于電源50ms瞬斷,在斷電之后,并聯(lián)在供電電源兩端的電解電容可以繼續(xù)放電,維持負(fù)載正常工作。
50ms瞬斷要求電容在向負(fù)載放電50ms之后,其兩端的電壓仍能滿足設(shè)備正常工作要求。
電容容值的計(jì)算
以下面的電路為例,12V供電電源經(jīng)過LDO穩(wěn)壓,得到+3.3V向負(fù)載供電,
LDO電路
經(jīng)過測(cè)算,+3.3V電源的負(fù)載電流為50mA;
對(duì)于線性穩(wěn)壓器,其輸入電流等于輸出的負(fù)載電流加上線性穩(wěn)壓器的工作電流(也即靜態(tài)電流);
在上圖中,Iin=Iload+IQ,從規(guī)格書上可知,其靜態(tài)電流約為6mA,這樣+12V外部電源的負(fù)載電流為50mA+6mA=56mA。
要注意的是,對(duì)DC-DC電源,其輸入電流和輸出電流需要從功率的角度通過效率來換算;
從規(guī)格書上還可以知道,LDO的最小壓差的最大值為1.10V,即輸入電壓需要達(dá)到3.3V+1.1V=4.4V以下,LDO才能穩(wěn)定輸出+3.3V的電壓。
LDO的靜態(tài)電流以及壓差
根據(jù)這些參數(shù), +12V輸入電源兩端的電解電容C1需要取多大的容值才能保證在斷電50ms之內(nèi),+3.3V的電源電壓穩(wěn)定,從而負(fù)載正常工作。
當(dāng)+12V斷電之后,C1向通過LDO向負(fù)載放電,其放電電流為56mA。
從開始放電,至+3.3V能穩(wěn)定輸出+3.3V電壓的電壓降ΔU=(12-4.4)=7.6V;
由電容的電流電壓關(guān)系I=C*du/dt,得到C=I*Δt/ΔU=56mA*50ms/7.6V=368uF;
通過仿真軟件,用示波器測(cè)量斷電之后LDO輸入電壓的波形,可知當(dāng)電容以恒定的56mA的電流放電,放電到LDO穩(wěn)定輸出+3.3V的電壓4.4V所對(duì)應(yīng)的時(shí)間為49.9mS,與理論分析一致。
電容以恒定電流放電的電壓波形
電解電容的容量誤差大多數(shù)一般都是標(biāo)稱±20%;
鋁電解電容器的電氣性能參數(shù)受溫度影響:隨著溫度的降低,電解液的粘度增加,從而使其導(dǎo)電性能降低,因此,溫度降低時(shí)電容量會(huì)減小,溫度上升時(shí)電容量增加,且這種現(xiàn)象比其他類型的電解電容器更加明顯;
-40℃時(shí)的容量比常溫時(shí)下降10% ;
因此,電容的容量誤差應(yīng)該以標(biāo)稱容量的±30%來考慮;
理論計(jì)算得到368uF的實(shí)際容量需求,應(yīng)該選用368F/70%=525uF的電容,可選擇680uF的電容;
軟件設(shè)計(jì)的考量
在第一部分中,根據(jù)測(cè)算得到的負(fù)載電流,設(shè)備正常工作的最低電壓,瞬斷時(shí)間要求,通過電容的電流電壓關(guān)系推算出電容的容值; 并通過電源瞬斷試驗(yàn)進(jìn)行驗(yàn)證。
處理器的中斷資源有限,一般情況中中斷處理函數(shù)僅用于實(shí)時(shí)性要求非常高的業(yè)務(wù);
比如MODBUS通信;
耗時(shí)長(zhǎng)而實(shí)時(shí)性要求不好的業(yè)務(wù)一般在主循環(huán)中處理;
所以斷電檢測(cè)以及將RAM數(shù)據(jù)寫入EEPROM或者FLASH一般都在主程序中完成;
代碼中不能有while等死等待,比如軟件延時(shí),死等ADC完成等硬件標(biāo)志。
需要評(píng)估所有中斷執(zhí)行的時(shí)間,主程序最長(zhǎng)執(zhí)行時(shí)間;
在發(fā)生斷電時(shí),有可能需要耗費(fèi)這些時(shí)間之后才執(zhí)行輸入電壓檢測(cè)以及保存數(shù)據(jù)的程序;
對(duì)于STM32F103的處理器,擦除一頁(1kB)FLASH的時(shí)間最大為40ms;
寫1個(gè)word數(shù)據(jù)的時(shí)間最長(zhǎng)時(shí)間為70us,保存50個(gè)word的數(shù)據(jù)的最長(zhǎng)時(shí)間為3.5ms;
如果還需要同時(shí)備份一組數(shù)據(jù)的話,那50個(gè)word數(shù)據(jù)斷電記憶的總時(shí)間高達(dá)87ms;
顯然50ms的維持時(shí)間不滿足采用STM32F103處理器的內(nèi)部FLASH的斷電記憶的要求。
即使不額外備份一組數(shù)據(jù),要求考慮了總的中斷時(shí)間之后,主程序在在3ms之內(nèi)輪詢一次,也是難以做到的。
如果采用外置的SPI FLASH,比如MX25L系列,其只支持以sector(4KB)為單位的擦除操作,所需要花費(fèi)的時(shí)間最短為40ms, 最長(zhǎng)為200ms,顯然無法在50ms的時(shí)間內(nèi)完成斷電記憶;
如果采用EEPROM,比如AT24C系列,可以按頁寫入,即通過IIC通信發(fā)送一頁數(shù)據(jù)之后,再啟動(dòng)寫入操作,這樣寫入的時(shí)間可以達(dá)到5ms左右;
容量為8KB的AT24C64一頁的大小為32Byte,即寫入32個(gè)Byte,考慮400kbps波特率的通信時(shí)間,總耗費(fèi)約6ms,寫入100個(gè)字節(jié)的數(shù)據(jù),大概耗時(shí)約18ms,即使再備份一組數(shù)據(jù),也能在36ms內(nèi)完成,從而輪詢一次主程序的最大時(shí)間為14ms,這是努力一把可以做得到的;
有人可能會(huì)問,為什么需要在檢測(cè)到斷電之后才將數(shù)據(jù)存入非易失存儲(chǔ)器;
如果不計(jì)成本,用鐵電存儲(chǔ)器當(dāng)作非易失存儲(chǔ)器,那就可以不受限制隨時(shí)寫入了;
FLASH的擦寫壽命一般為10萬次;
EEPROM的擦寫壽命一般為100萬次;
可以通過在軟件算法在不同扇區(qū)之間做讀寫平衡以延長(zhǎng)擦寫壽命。
但是,對(duì)于一些變化快的數(shù)據(jù),依然很達(dá)到使用的壽命要求;
一些外部輸入的高速計(jì)數(shù),比如生產(chǎn)線上的生產(chǎn)計(jì)件,假設(shè)一秒內(nèi)有1次計(jì)數(shù),如果數(shù)據(jù)變化就寫入非易失存儲(chǔ)器,則1秒內(nèi)大概會(huì)擦寫1次; 大概2天擦寫次數(shù)就會(huì)達(dá)到16萬次。
綜合以上信息,
采用STM32F103處理器的內(nèi)部FLASH,通過檢測(cè)電源電壓進(jìn)行斷電記憶需要滿足至少100ms左右的瞬間要求;
采用外部SPI FLASH,很難通過檢測(cè)電源電壓進(jìn)行斷電記憶;
采用大容量的EEPROM,滿足50ms的電源瞬斷要求,可能可以做到斷電記憶。
如果成本沒有壓力,可以采用鐵電存儲(chǔ)器做斷電記快功能,鐵電存儲(chǔ)器沒有寫入次數(shù)的限制,不需要檢測(cè)斷電,可以存儲(chǔ)寫入,而且寫入的速度非???,不需要考慮寫入時(shí)間;
電源電壓檢測(cè)電路的分析
一個(gè)檢測(cè)的電源電壓檢測(cè)電路
上圖是一個(gè)簡(jiǎn)單的電源電壓檢測(cè)電路,將電源電壓通過電阻分壓之后接到MCU的ADC口。
二極管D1除了電源防反接保護(hù)之后,還可以避免電容C1上的電壓反灌到輸入電源檢測(cè)電路,使得斷電之后,可以立即被檢測(cè)到;
有幾個(gè)問題需要考慮:
1)檢測(cè)電路的工作電流,以智能灌溉的閥門控制器為例,該設(shè)備由9V堿性電池供電,實(shí)測(cè)大概為400mAh的容量;
單片機(jī)睡眠功耗大概可以做到10uA;
根據(jù)設(shè)定的定時(shí)澆灌邏輯,利用RTC的Alarm功能每天定時(shí)喚醒,驅(qū)動(dòng)閥門打開澆水,
驅(qū)動(dòng)電流大概為500mA,驅(qū)動(dòng)時(shí)間大概為1s,執(zhí)行一次消耗電量為0.14mAh,一天執(zhí)行三次總耗電為0.42mAh;
而設(shè)備待機(jī)一天消耗的電量約為0.24mAh;
一天總耗電為0.66mAh,400mAh的電池可使用606天;
而該電源電壓檢測(cè)電路的平均工作電流約為64uA,一天消耗的電量為1.54mAh,遠(yuǎn)大于單片機(jī)睡眠功耗,加上該電流,電池僅可使用180天左右;
雖然增加R2的阻值可以減少檢測(cè)電路的電流,然而,阻值大的電阻精度差,而且PCB板的表面絕緣電阻也會(huì)對(duì)測(cè)量精度造成影響。
2)MCU的端口保護(hù),在這一電路中,MCU的端口通過分壓電阻R2裸露到了外部;
當(dāng)有靜電放電、電磁干擾、閃電、接地不良、感性負(fù)載切換等情況發(fā)生時(shí),可能有浪涌電壓或者浪涌電流從外部串入MCU;
浪涌電壓時(shí)間很短,一般在幾十微秒,幅度可以達(dá)到數(shù)千伏;
正電壓可以在D1導(dǎo)通之后由C1、C2吸收,但是由于D1導(dǎo)通需要響應(yīng)時(shí)間以及走線的寄生電感的影響,不可避免會(huì)有高壓脈沖串入IO口;
電源的電壓越高,R3兩端的分壓值也越大,當(dāng)該分壓值超過MCU的工作電壓與MCU端口的上拉保護(hù)二極管的正向?qū)妷褐停?/p>
則電流通過上拉保護(hù)二極管流向MCU的供電電源;
假設(shè)電源電壓為Vin,MCU的工作電壓為V+3.3V,MCU內(nèi)部上,下拉保護(hù)二極管的導(dǎo)通電壓為Vf,流過MCU內(nèi)部二極管為Iin,則滿足下面關(guān)系式:
當(dāng)
時(shí) ,
根據(jù)MCU的規(guī)格書,流過保護(hù)二極管的電流超過10mA就可能損壞IO口,
對(duì)應(yīng)的輸入電壓為:
同理,當(dāng)負(fù)電壓低于1008V時(shí),可能損壞IO口;
針對(duì)這些情況,靠近MCU IO口放置的小電容可以起到至關(guān)重要的保護(hù)作用;
浪涌電壓或者靜電的特點(diǎn)是時(shí)間非常短,最多僅為幾十us;
電容兩端的電壓不能突變,輸入電壓通過R2,R3向電容充電,時(shí)間常數(shù)τ為,
電容兩端的電壓為:
應(yīng)該保證在高壓脈沖持續(xù)時(shí)間內(nèi),電容兩端的電壓不能被充至讓MCU的內(nèi)部保護(hù)二極管導(dǎo)通;
考慮持續(xù)時(shí)間20us,幅度為2000V的電壓,需要滿足:
問題在于,
1)如果防護(hù)電壓高達(dá)幾千V,持續(xù)時(shí)間達(dá)幾十us以上的浪涌電壓,避免其對(duì)MCU造成損壞,所需的電容容值比較大;
2)出于保護(hù)目的,選擇了大電容,同時(shí)會(huì)導(dǎo)致電容放電時(shí)間慢,導(dǎo)致MCU無法及時(shí)檢測(cè)到斷電,為了實(shí)現(xiàn)斷電記憶,有更長(zhǎng)的瞬斷時(shí)間要求 ;
需要通過雙極性TVS或者壓敏電阻對(duì)浪涌電壓進(jìn)行鉗位。
電源電壓檢測(cè)電路的改進(jìn)
可以采用三極管對(duì)檢測(cè)電路的通斷進(jìn)行控制,如下圖:
開關(guān)控制的電源電壓檢測(cè)電路
MCU的IO口輸出高、低電平通過Q1以及Q2控制電源電壓檢測(cè)電路的通路;
只有在需要檢測(cè)時(shí),才輸出高電平,使能Q1、Q2導(dǎo)通,電源電壓經(jīng)過R2,R6分壓之后送入ADC口進(jìn)行檢測(cè),如果由電池供電,這時(shí)才會(huì)消耗電池電量。
還有一種更簡(jiǎn)單的電路,可以達(dá)到一樣的效果;
優(yōu)化的電源電壓檢測(cè)電路
與上一個(gè)電路相比,少了一個(gè)PNP三極管以及兩個(gè)電路,可以節(jié)省大幾毛錢,螞蟻腳也是肉,摘下口罩之后,大形勢(shì)不明朗,能省一點(diǎn)是一點(diǎn)。
該電路設(shè)計(jì)要點(diǎn)在于選擇合適的基極、集電結(jié)、發(fā)射結(jié)的電阻,使得三極管Q1處于飽和導(dǎo)通狀態(tài);
假設(shè)三極管仍然處于放大狀態(tài),
電源電壓為Vin,MCU端口輸出高電平為VO;
B極電流為IB,C極電流為IC,BE極的壓降為VF;
電阻R1兩端的電壓為VE,三極管CE兩端的電壓為VCE,
三極管C極的電流放大倍數(shù)為β,則有以下關(guān)系式成立:
(1)
(2)
(3)
(4)
(5)
由1,4可以得到,
進(jìn)一步得到:
當(dāng)VCE<0時(shí),Q1不再處于放大狀態(tài),而進(jìn)入飽和導(dǎo)通狀態(tài),
如果取VO=3.3V,VF=0.7V, R1=10KΩ,R2=100KΩ時(shí),則有Q1處于飽和導(dǎo)通狀態(tài)的條件為:
(千分電阻)
取電流放大倍數(shù)β的最小值為50,Vin的最大值為20V,則右式的最小值為219kΩ;
所以R4只需要小于219kΩ即可以讓Q1處于飽和導(dǎo)通狀態(tài);
-
檢測(cè)電路
+關(guān)注
關(guān)注
13文章
307瀏覽量
58161 -
電容
+關(guān)注
關(guān)注
100文章
6036瀏覽量
150263 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163762 -
ldo
+關(guān)注
關(guān)注
35文章
1940瀏覽量
153310 -
電源電壓
+關(guān)注
關(guān)注
2文章
989瀏覽量
23969
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論