打印

STC单片机掉电后立即保存数据求救

[复制链接]
楼主: 夏日飞鹰
手机看帖
扫描二维码
随时随地手机跟帖
21
NE5532老师才高八斗,已归纳总结了常规经典之掉电保护电路之集合。

但社会在发展,技术也在发展,常规经典电路成本过高,铁电价格在小家电中根本不敢问鼎,大容量电容的价格也不低,在为1分1厘而争成本的小家电中,是个很大的瓶颈。

文采超群的匠人曾经将软件滤波器的经典用法加以归纳总结,写出大作《10种软件滤波方法》,广为流传,让人敬佩。

哪位朋友能将NE5532老师归纳总结的常规经典之掉电保护电路之集合,发扬光大,举一反三,不求10种经典之掉电保护电路,只要求给出一半,即5种经典之掉电保护电路,俺送《两轮自平衡小车套件》一套,以资感谢。

使用特权

评论回复
22
123jj| | 2011-1-23 06:09 | 只看该作者
取样电路是否合适?IN4信号是脉动直流,加D7何用?
9013的Vb>5V会不会有危险?
nywjlwjh 发表于 2011-1-22 23:08



LS小朋友爱动脑,今后必成大器,赞一个!

LZ的电路有误,不能正常工作!

推荐3楼的常规经典掉电保护电路,除了滤波电容需取的较大,其他都比较优秀,能可靠正常工作,建议LS小朋友参考之。

使用特权

评论回复
23
nywjlwjh| | 2011-1-23 20:48 | 只看该作者
3楼推荐的电路学习了,我一直用单片机的AD检测7805输入端电压,当电压低于一定值就保存参数,保存后一直检测电源电压,当电压高于一定值再工作,否则一直检测直到彻底没电。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
123jj + 1
24
123jj| | 2011-1-23 21:34 | 只看该作者
顶LS, 这也是一种比较好的方法,特别是现在Cortex-Mx价格低廉,使用量相当大,应用面相当广,其片内A/D所带的比较采样值功能,大大简化了程序设计,减少了程序占用MPU时间。

使用特权

评论回复
25
夏日飞鹰|  楼主 | 2011-1-24 16:01 | 只看该作者
本帖最后由 夏日飞鹰 于 2011-1-24 16:05 编辑

谢谢大家了,我这电路用AT89C51时是可以正常工作的,由于三极管是周期性导通和关闭的,所以在程序里连续8次检测不到掉电信号时就对数据进行保存,对于STC此方法已不奏效了,23楼所推荐的采用AD检测的方法,我得试试了
还有就是STC89C52RC能按照datesheet所说的在3.5V时正常工作吗?

使用特权

评论回复
26
adamlu| | 2011-1-24 17:25 | 只看该作者
3楼的大虾所言很有道理。原先的这个电路是现在印板上用的,用AT89S52,存储芯片是AT24C32,程序中的两个外部中断都有其它用途,原先的程序是在1MS中断中扫描相应的口线,如果变低的话,就关断所有的输出,进入存储。但是换原有的芯片抗干扰差,换STC的结果就存不了。

使用特权

评论回复
27
123jj| | 2011-1-24 18:37 | 只看该作者
LS两位朋友,你们所犯的错误,其实很简单,一句话,换芯片想当然,在电路不变的前提下,没有选对相应厂家的芯片!

众所周知,ATMEL公司是世界级的大公司,生产工艺比较先进,生产的芯片工作电压范围比较宽,在较低的工作电压下也能可靠工作,而你们所选的厂家芯片,工艺相应差点,芯片工作电压范围比较窄,因此,其生产的芯片划分两个挡次,即高电压芯片和低电压芯片,你们所选的高电压芯片,正常工作电压5V,在低于3.8V时已不能可靠工作!更不要去看datesheet所说的在3.5V时正常工作了。

因此,在不改变电路的情况下,选用宽范围工作电压的芯片代用,一般上手就能正常工作,如华邦(新唐)的芯片,本论坛中颖的MCU, 成功率都比较高,当用你们所选的工作电压很窄的芯片,用于掉电保护时对电路设计要求极高,电路设计需考虑的方方面面很多,一般菜鸟水平有限者建议绕道,设计的成功率及可靠性都较差。

以上所言,仅供两位参考。

使用特权

评论回复
28
lfc315| | 2011-1-25 20:43 | 只看该作者
在程序里连续8次检测不到掉电信号时就对数据进行保存
等待8次是否就是等待80毫秒了?
掉电之后再等80毫秒?

使用特权

评论回复
29
123jj| | 2011-1-26 08:58 | 只看该作者
LS朋友看贴仔细,赞一个。

使用中断方式检测掉电信号确实存在一个小问题,那就是抵抗外界的干扰性比较差,在特殊的工业操作环境中,电网上接了各用动态负载,除了产生高频脉冲干扰外,还有些负载如电机,具有自发电功能,发出的电能反馈到电网,引起供电电源波型奇变,因此,50Hz的过零点易受干扰,从而影响中断检测掉电信号的可靠性和准确性,为提高检测掉电信号的可靠性和准确性,往往在程序中加入数字滤波,LS有朋友提出的在程序里连续8次检测不到掉电信号时就对数据进行保存,即检测到第一个掉电信号之后再检测8次(等80毫秒确定之),确实长了点,电路需提供足够大的电容,存储掉电后的供电工作能源。

为加速对掉电信号的可靠反应,在技术上,往往采用最老土的方法,即对输入工频脉冲,加一级RC滤波器,进行积分处理,将原来使用中断方式检测掉电信号改为使用电平或电压方式检测掉电信号,可大大的提高检测的可靠性和稳定性,减小掉电检测响应时间,也大大缩短了从掉电事件发生到写入保护数据的时间,从而大大减小了供电大容量电解电容的容量,在N年前,确实是一个了不起的技术进步。

使用特权

评论回复
30
123jj| | 2011-1-26 09:15 | 只看该作者
再提供一些N年前做过的实验数据。

使用中断方式检测掉电信号,电源滤波电容总容量为2000u(变压器交流输出经整流后接的滤波电容+经7805降压稳压后接的滤波电容之总和)时,能可靠检测掉电信号进行掉电保护操作。当在同一电源中并入交流电机频繁启停时,有时会失误,不能可靠储存备份数据。
将上述电路的电源滤波电容总容量降低为1500u时,也能工作,但不是很可靠。

当对输入工频脉冲,加一级RC滤波器,进行积分处理,将原来使用中断方式检测掉电信号改为使用电平方式检测掉电信号,在电源滤波电容总容量为1000u(变压器交流输出经整流后接的滤波电容+经7805降压稳压后接的滤波电容之总和)时,能可靠检测掉电信号进行掉电保护操作。当在同一电源中并入交流电机频繁启停时,也能可靠工作,储存备份数据,未出现失误现象。
将加一级RC滤波器,进行积分处理的上述电路的电源滤波电容总容量降低为470u时,也能可靠工作。

使用特权

评论回复
31
yzm8900| | 2011-1-26 09:18 | 只看该作者
很精彩,学习

使用特权

评论回复
32
夏日飞鹰|  楼主 | 2011-1-26 09:37 | 只看该作者
30# 123jj
大侠用的是什么MCU啊

使用特权

评论回复
33
123jj| | 2011-1-26 10:11 | 只看该作者
呵呵!大侠不敢当,请收回。

N年不搞技术啦,忘的差不多啦~~~

二十几年前,能有什么MCU啊?

经典的8085, Z80, 8031, 8035, 6805都用过~~~

使用特权

评论回复
34
123jj| | 2011-1-26 10:19 | 只看该作者
早期的掉电数据备份是放在RAM中的,用微型电池或法拉电容供电。

后来出现了EEPROM, 改用EEPROM保存掉电数据, 省略了电池~~~

再后来,出现了廉价的FLASH和高贵的铁电,用FLASH保存掉电数据俺用过,铁电太昂贵,俺用不起,没玩过,呵呵~~~

使用特权

评论回复
35
tomking311| | 2011-1-27 10:03 | 只看该作者
没必要这么复杂!看我的电图

使用特权

评论回复
36
tomking311| | 2011-1-27 10:03 | 只看该作者
[img][/img]

使用特权

评论回复
37
tomking311| | 2011-1-27 10:05 | 只看该作者
file:///E:/未命名

使用特权

评论回复
38
tomking311| | 2011-1-27 10:06 | 只看该作者
file:///E:/未命名.jpg

使用特权

评论回复
39
tomking311| | 2011-1-27 10:07 | 只看该作者

使用特权

评论回复
40
123jj| | 2011-1-27 10:41 | 只看该作者
呵呵!
LS肯动脑子,不错,赞一个!
小声问一下,本电路供电全部用24V, 即运放输出摆幅在0-24V之间,请问准备用什么方法控制电压不高于5V的数字电路储存掉电数据?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则