查看: 1630|回复: 9

[其他] 看门狗能解决程序卡死的问题吗?

[复制链接]
  • TA的每日心情
    奋斗
    2018-12-29 10:57
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2018-5-8 20:11 | 显示全部楼层 |阅读模式
    当arduino非正常死机,程序不继续跑了,这时候在程序后面的看门狗有用吗?我说的不是像进入死循环那种。而是板子真真的卡了(就像电脑蓝屏一样,啥操作都动不了了,只能手动重启)。

    该用户从未签到

    发表于 2018-5-8 21:16 | 显示全部楼层
    有用的,不过最好还是找到卡死的根本原因,看门狗只作为应付意外的手段而已

    ps: 电脑也可以做到设置 watchdog,当出现问题的时候自动重启,通常可以用 superio 来实现
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-12-29 10:57
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2018-5-8 21:26 | 显示全部楼层
    Zoologist 发表于 2018-5-8 21:16
    有用的,不过最好还是找到卡死的根本原因,看门狗只作为应付意外的手段而已

    ps: 电脑也可以做到设置 watch ...

    领教了!!

    我还想问一下,其实我现在程序就是一个很简单的if判断并执行digitalwrite的一个流程。大概就是从引脚读取遥控器的PWM信号,根据PWM信号的不同,用另一个引脚改变高低电平从而控制继电器的通断。继电器的通断控制着一个电磁阀的开闭(有单独的电源供电)。

    我发现只要是电磁阀发生动作,程序就容易死(随机的)。但是如果不给电磁阀供电,仅仅是动作继电器,无论我动多少次,程序都好好的跑。我怎么感觉是电磁阀对arduino产生的反向的干扰呢?有没有这种可能呀?

    该用户从未签到

    发表于 2018-5-9 08:03 | 显示全部楼层
    llltom 发表于 2018-5-8 21:26
    领教了!!

    我还想问一下,其实我现在程序就是一个很简单的if判断并执行digitalwrite的一个流 ...

    你电磁阀的电是独立的吗?

    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-12-29 10:57
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2018-5-9 09:46 | 显示全部楼层
    本帖最后由 llltom 于 2018-5-9 09:47 编辑
    Zoologist 发表于 2018-5-9 08:03
    你电磁阀的电是独立的吗?

    是的。因为电磁阀要求工作电压是12V直流电,所以我另外用电源给电磁阀供电的。继电器在12V电源和电磁阀中间做一个开关。继电器5V供电和信号控制都有Arduino提供。另外,电磁阀那个回路没有加二极管,有没有可能是电磁阀断电时反向电动势太高了,通过继电器影响到了arduino?

    该用户从未签到

    发表于 2018-5-9 09:47 | 显示全部楼层
    llltom 发表于 2018-5-9 09:46
    是的。因为电磁阀要求工作电压是12V直流电,所以我另外用电源给电磁阀供电的。继电器在12V电源和电磁阀中 ...

    听起来是电磁阀电磁干扰导致的,你把他和arduino 放的远一点先试试看
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-12-29 10:57
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2018-5-9 10:03 | 显示全部楼层
    Zoologist 发表于 2018-5-9 09:47
    听起来是电磁阀电磁干扰导致的,你把他和arduino 放的远一点先试试看

    好像不是。已经隔了70cm左右~
  • TA的每日心情
    郁闷
    2019-8-21 11:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-8-21 11:21 | 显示全部楼层
    楼主有解决问题吗,我也遇到十分类似的问题。也是连接继电器和电磁阀,仅动作继电器可以,动作电磁阀会随机发生复位现象(对这点我也十分奇怪,程序里并没有看门狗,然而就是复位了)
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2019-8-21 12:01 | 显示全部楼层
    Lin2580 发表于 2019-8-21 11:21
    楼主有解决问题吗,我也遇到十分类似的问题。也是连接继电器和电磁阀,仅动作继电器可以,动作电磁阀会随机 ...

    电磁阀有着非常强力的电磁干扰,并且以电磁波形式出现。
    别说 70cm 了,我们之前做实验基本隔壁屋都能感受到干扰而死机重启。

    建议给电磁阀装个续流二极管;如果非要高速开关(例如水幕显示),用屏蔽罩把UNO罩起来
  • TA的每日心情
    奋斗
    2018-12-29 10:57
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-9-13 16:14 | 显示全部楼层
    Lin2580 发表于 2019-8-21 11:21
    楼主有解决问题吗,我也遇到十分类似的问题。也是连接继电器和电磁阀,仅动作继电器可以,动作电磁阀会随机 ...

    已经解决了。9楼的方法我没试过,你也可以尝试一下。但综合大家的意见以及我后面的测试应该就是继电器在开合瞬间,负载的电流突变产生的影响。可以试一下diy一个电子灭弧器。另一个帖子里有提到解决方案:https://www.arduino.cn/thread-77912-1-1.html
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    全国机器人等级考试配件购买
    全国机器人等级考试配件购
    本人想自己教小孩机器人等级考试,需要购买机器人等级考试的配件,可是淘宝上的太
    【Arduino】108种传感器系列实验(24)---水位传感器模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【Arduino】108种传感器系列实验(96)---433M无线发射接收模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【Arduino】108种传感器系列实验(93)---CSR8350蓝牙音乐模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【Arduino】108种传感器系列实验(89)--- 4*4位 RGB LED 全彩模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表