我有一个使用arduino uno的近乎完成的原型。基本上它的目的是使用重型继电器打开和关闭2000w主交流加热负载。继电器的输入来自主电源,但使用专用仪表连接到电力公司,该仪表仅在23-07小时之间在夜间开启。 arduino的力量是顺便进行的,所以这种情况继续存在。
整个东西很好地装在一个盒子里,前面有一个小的液晶显示器和一个按钮,用20厘米的电线连接到arduino板上(我正在使用一个原型)。
按下一个10k电阻,按下时将其拉至接地。我在输入引脚=引脚2上放了一个0.47 uF的电容,以便稍微去掉电路。在软件中,我在下降沿使用中断检测按钮按下。整件事情很好......除了......:
当电力公司接通负载交流输入时,有时会将其识别为按下按钮!我认为,苏打电源尖峰会在20厘米的按键线中产生电压,这被认为是下降沿。我怎么能避免这个?
我配备万用表,示波器,焊接......所以我可以详细尝试任何建议。
答案 0 :(得分:0)
我在构建燃油喷射流量计时遇到了类似的问题。按下按钮启动模拟发动机运行顺序,为继电器供电。该继电器然后为6个喷射器供电。发生的情况是,只要按下按钮,喷油器关闭就会产生电流并使整个系统重新启动。我发现有效的解决方案是使用电池为喷射器供电,而不是电源本身。这通过我的继电器将arduino电源与注射器电源隔离开来。问题当然是现在我需要保持电池充电。我正在寻找更优雅的解决方案。
答案 1 :(得分:0)
我试图在硬件中解决这个问题,但遗憾的是失败了。 这些是我试过的选项,但是没有用
最后,我实施了以下软件解决方案:
第一次按下按钮时,必须按下按钮1秒才能使按钮实际变为活动状态。由于AC开启,这种情况永远不会发生,因为这是一个非常短暂的尖峰。我将其编程到arduino中,使用中断检测按钮按下,然后微延迟(在ISR内),检查按钮仍然按下1秒后。
按下最初的1秒按钮后,按钮保持活跃1分钟