[电路/定理] 掉电后延时关机失败

[复制链接]
3820|30
 楼主| pkuzhx 发表于 2017-12-26 17:42 | 显示全部楼层 |阅读模式
我使用stm32f070,希望电源掉电后,单片机还能工作一小段时间,保存一点数据。方案1

首先想到的是在LDO的输入端加二极管和大电容,LDO型号L78L33CD-TR。

结果测试发现这样不可行,12V输入掉电后,A点迅速掉到了3V左右,B点也迅速掉到了2V左右。
LDO的电路框图如下:

方案2
又尝试把二极管和大电容加到LD的输入端,大概框图是这样的:

二极管换了1N5819,压降0.2V,也可以勉强用吧。但是现象还是一样的,A点一断电,C点迅速降到2V左右。
但是把单片机换成一个1k电阻,断电以后,C点的电压就会缓慢下降。
求指教
两个方案都失败了,但是还不太清楚原因是什么,也不知道如何改进。
请教各位大神,一般这种掉电后延时关机的需求都是用什么方案解决的?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| pkuzhx 发表于 2017-12-26 17:53 | 显示全部楼层
27日出差一天,回来再看各位大神的高见,先行谢过了
zhangbtj 发表于 2017-12-26 17:57 来自手机 | 显示全部楼层
单片机功耗太大吧
dfyh1101 发表于 2017-12-26 18:45 来自手机 | 显示全部楼层
1秒,100毫安,掉1V,需要100毫法电容。
xukun977 发表于 2017-12-26 19:30 来自手机 | 显示全部楼层
看一眼楼主提供的框图,就知道那个不可能是LDO!

评论

我想问一下13楼说的对不对?我觉得一个系统的电流多大, 应该是由系统的负载决定的吧?电容不需要通过电阻限流了吧?  发表于 2017-12-29 08:47
我想问一下13楼说的对不对?一个系统的电流多大,  发表于 2017-12-29 08:47
很多人把所有的线性稳压芯片都称为LDO。不知道LDO只是线性稳压芯片的一种:低压差线性稳压电源。LDO的调整管(Q15)应该是PNP管,e接VIN,c接VOUT。  发表于 2017-12-28 11:20

评分

参与人数 1威望 +1 收起 理由
king5555 + 1 很给力,是78XX。

查看全部评分

nigx 发表于 2017-12-27 09:51 | 显示全部楼层
这类问题最简单的是电路中掉电检测中断告警到MCU。
pleee 发表于 2017-12-27 11:05 | 显示全部楼层
我现在做的东西是掉电工作30秒,用的是限流电阻和5.5F的法拉电容
gx_huang 发表于 2017-12-27 16:46 | 显示全部楼层
方案1肯定可以的,只要有掉电检测信号,肯定可以
lihui567 发表于 2017-12-27 17:07 | 显示全部楼层
gx_huang 发表于 2017-12-27 16:46
方案1肯定可以的,只要有掉电检测信号,肯定可以

掉电信号有,问题是怎么能延时30秒
 楼主| pkuzhx 发表于 2017-12-28 08:41 | 显示全部楼层
多谢楼上各位了。电路基础太弱,见笑了。
Jack315 发表于 2017-12-28 10:45 来自手机 | 显示全部楼层
掉电后,电路等效为一个RC放电回路。放电时间由RC时常数决定。
xmar 发表于 2017-12-28 11:24 | 显示全部楼层
本帖最后由 xmar 于 2017-12-28 11:25 编辑

用方案2,二极管后的电容改成法拉超级电容即可。
gx_huang 发表于 2017-12-28 11:25 | 显示全部楼层
lihui567 发表于 2017-12-27 17:07
掉电信号有,问题是怎么能延时30秒

你确实基础太弱了。
掉电后延时30S,你想干啥呢,这个稳压电源的输入输出电容,没有任何负载,也维持不了30S呀。
你还指望一节干电池的能量,把卫星发射到天上去呀。
如果只是保存一些数据,维持几十毫秒,是可以的。
如果要维持30S,那你要先知道这30S,电流多大,然后再考虑方案。

评论

@gx_huang :负载与电源内阻?  发表于 2017-12-29 13:33
@@若水 :准确说,是负载和电源共同决定的  发表于 2017-12-29 10:01
电流多大不是负载决定的吗?  发表于 2017-12-29 08:46
 楼主| pkuzhx 发表于 2017-12-29 08:22 | 显示全部楼层
gx_huang 发表于 2017-12-28 11:25
你确实基础太弱了。
掉电后延时30S,你想干啥呢,这个稳压电源的输入输出电容,没有任何负载,也维持不了 ...

我只要维持几十ms就行,要维持30s的不是我……
ningling_21 发表于 2017-12-29 08:27 | 显示全部楼层
二方案应该可以,关键看电流大小
mcuzone 发表于 2017-12-29 08:51 | 显示全部楼层
1,要知道你的单片机的电流有多少,LDO的静态电流又有多少;
2,要用库伦的方式计算你这个电容能储存多少能量,然后根据你的单片机的最低工作电压留足余量;

方案A完全可行,在二极管前加上一个掉电检测电路,二极管选反向电流小的
dalarang 发表于 2017-12-29 09:03 | 显示全部楼层
掉电延时的主要思路是用大容量的电容来延续一段时间的供电。
这里方案1和方案2都有一定的缺陷。
方案1的问题是电容加在12V一端,那么就要用耐压16V的点解电容,这点就不可取,16V耐压比起6.3V耐压的电容,无论是体积、容量、价格都有较大劣势。
方案2的问题是二极管有一定的压降,根据电流大小的不同,压降还不是恒定的,造成电压有点不稳。

我的建议是先用线性稳压把12V降到5V,再用LDO降到3.3V,二极管和储能大电容放在5V这一段,就可以用大容量的低耐压电容,而且法拉电容大多数耐压5.5V,刚好也适用于这个电压区间,可选的余地比较大。
dalarang 发表于 2017-12-29 09:09 | 显示全部楼层
如果工作电流比较大,5V经过二极管压降后不是很够1117的压差要求,而常见超低压差的LDO输出电流都比较小。
最好的办法是用DC-DC降到5.5V,然后通过二极管和1117降到3.3V。
w522930954 发表于 2017-12-29 09:18 | 显示全部楼层
不要检测C点  直接检测A点,电容大点维持个100ms左右应该轻松吧。前提是写flash的时候最好写单片机内部的flash,写外部的怕是不稳定。stm32的内部掉电检测是个肯,不如直接用外部中断或者比较中断
dandantcb 发表于 2017-12-29 09:23 | 显示全部楼层
楼主,你要做延时关机,你需要先自己评估一下几个参数,1.你单片机工作时的功耗,2.你LDO的静态电流,3. 12V和3.3V电源上的其他电路的功耗。通过计算这些电路的功耗和期望延时的时间就能知道你需要多大的电容来维持了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:原来可以设置签名档啊!

45

主题

730

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部