原创 继电器都是mS级,在开关时一定要延时后再继续程序

2006-12-30 01:17 5421 15 15 分类: 工业电子
云中月8888 发表于 2006-2-28 00:12 ZLG-ARM ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

如果


如果控制两个继点器K1,K2,在运行中K1闭合,K2断开,此时来了一个干扰,使watchdog复位,即使我根据0xaa55重新初始化,也可能使K1,K2状态发生瞬间变化....


hotpower 发表于 2006-2-28 00:33 ZLG-ARM ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

继电器都是mS级,在开关时一定要延时后再继续程序


最好避免一开一关同时出现...

watchdog复位后,由于你的NOINIT变量已记忆2个继电器的状态(注意:IO是要被复位的!!!最好有IO的备份寄存器!!!)

故在reset后,0x55aa还保持着(因为并没真正掉电),所以在此处可以根据需要先恢复继电器reset前的状态.

这样就避免了继电器节点打火...

我的程序没一个不带0x55aa的,他很好用,有时不得不断电将vcc/gnd短路才能解除...

再:最好加法拉电容增加系统掉电的时间,这样0x55aa会更有效,因为多提供了异常事件处理的时间.

发表于 2006-2-28 00:53 ZLG-ARM ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

搞工控抗干扰的一个理论基础就是<<论持久战>>


当开关继电器后,若不延时而让程序走的话,随着时间的推移(当然是mS级了).

如果程序走到关键部位,如写入eeprom,则此时继电器才真正的动作,由于火花或

电源抖动都可能造成系统复位或eeprom写入失败.

最好的办法就是先躲避"敌人的攻击",暂时进入低功耗,等敌人背过身后,再给他一枪!!!

躲避和暂时退却并非是"丢人之事",而是为以后的攻击做准备!!!

所以延时是必须的,而且是最好关中断和休眠...

http://bbs.21ic.com/club/bbs/ShowAnnounce.asp?v=&ID=1996020
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
15
关闭 站长推荐上一条 /3 下一条