AVR断电后写EEPROM的方法?
想用M8控制LED,瞬间断电换挡,长时间断电记忆当前挡的那种。是使用什么方法呢?
我想到的方法是用电容维持断电后3秒左右的运行时间。
怎么能用0805体积的电容在断电后维持芯片运行3秒左右时间?期间还要在断电2秒后写EEPRoM。
用普通IO测量断电立即关闭LED是不是就来不及写EEPROM了?
这个可以吗{:sweat:} 反正见过实物,没拆可开过,不知道是不是AVR。断电2秒后会记忆当前数据,但断电0.5秒内不会。
0805有10UF的电容的,理论能维持CPU运行3秒吧
楼主好想法, 我焊接了个实验,结果是只接芯片工作可以,用的47UF点解,(手头没有0805贴片), 接上LED就不行。 可能LED关闭晚了,把电耗光了吧
本帖最后由 69879 于 2012-11-29 10:53 编辑
LED+端接电源,负极端接的7135,7135的控制端接的PWM输出脚。怎么能检测到断电然后立即关闭LED,保留电容的电给芯片用 你就直接在程序里每隔1s把当前状态写进去就可以了 那样断电0.5秒内通电,读出的内容还是原内容。
想实现的是,电路电源切断0.5秒时间,把EEPROM的内容+1写入,然后2秒后还没有通电,再减1写入。 本帖最后由 69879 于 2012-11-29 11:07 编辑
写这两次没有电源支持,靠电容维持写入。现在这个动作用47UF点解可以实现,就是接上LED就不能了,分析可能是因为LED把电容的电消耗了吧,因为芯片是高电平点亮LED的。是不是改成低电平点亮就好了? 楼主继续做实验,等你的结果! {:lol:}一起啊,进度快些 本帖最后由 69879 于 2012-11-29 12:24 编辑
你也好奇? 仍然没有结果,看来要换个方法了实现了。 你在5V稳压前面检测电源,用中断。进入中断后,把耗电的端口关掉。 当有些人还在考虑怎样穿上裤子时,很多人都已经考虑消费高档羽绒服了!
这"贫富"差距太大了吧! “有些人”“很多人”?? 本帖最后由 69879 于 2012-12-4 08:31 编辑
"zhanan 你在5V稳压前面检测电源,用中断。进入中断后,把耗电的端口关掉。"
谢谢,这个办法有效果,还是有不灵的时候,可能10U电容小了吧 5V前检测,断电后关输出,再写EEPROM,我有个产品中用过,1000UF电容。 要1000这么大电容啊,看来点解小了 掉电检测 69879 发表于 2012-12-4 08:29 static/image/common/back.gif
"zhanan 你在5V稳压前面检测电源,用中断。进入中断后,把耗电的端口关掉。"
谢谢,这个办法有效果,还是 ...
检测到中断后,得把耗电的端口,外设(继电器等等)都关掉,这样对电容要求不高。不关,电容量就要加大。
检测也很简单,用两个分压电阻就行了,用引脚电平变化中断或者下跳中断。 如果你0.5S那个能成的话,不用那么麻烦了了,0.5S断完电2S之内再给电,最后关不都是一样的数据吗,所以你0.5S那个存的是你想保存的不正常的值,当2S又给电了,再改成正常值,真要2S没给电,无非就存了这个,下次开机,你可以再把数读出来做个补偿. 建议用IMP809_L芯片! 电源前检测到掉电。关耗电设备。开定时器,进低功耗模式。
页:
[1]