过零激活继电器
如何编程过零电源触发的开关(基于固态继电器或三端双向可控硅开关)? 对于不熟悉此主题的人员:打开230V电源,当电源线的正弦波过零时-结果是将电流快速尖峰引起的电磁干扰降至最低。 具体来说,我希望尽可能多地迁移到软件中。当交流输入功率为正一半时,检测电路由一个小变压器,一个二极管和一对电阻器组成,以保持电平和电流处于检测状态,当连接到输入GPIO引脚时,检测电路提供“ 1”,而为负“ 0”。输出包括一些固态继电器和使它们继续运行的基本要素(上拉等),并连接到输出GPIO引脚。 问题是时序:使用50Hz AC时,我们在一秒钟内得到100个零交叉,一个半周期为10ms。为了使过零距离保持合理的距离以保持较低的EMI,我们在过零事件发生之前(或之前)不应激活超过10%的输出,这意味着+ -1ms容差。这并不意味着1毫秒的反应时间-我们可以合理预期下一个零交叉恰好发生在第一个零点之后的10毫秒,或者是第四个零点-40毫秒。关于粒度-如果我们允许20毫秒的反应时间,则必须在19到21毫秒之间,而不是18或22。 我该如何实现这样的计时器-在输入检测到边沿后的1ms内触发输出GPIO,或者在此后的10ms的固定倍数内触发输出GPIO-最好允许一些负偏置(例如,变压器和继电器引入1.6ms延迟;因此我希望触发器自输入脉冲起关闭8.4+(n * 10)ms,这样偏置就抵消了电路引入的延迟。)-当然,这都是“根据用户要求”,例如,用户写“ 1到/ sys / class / ...文件,并在最近(大约)机会将输出打开。用户写“ 0”,并且过零到达时,特定的继电器断开。 我相信这将需要编写或修改内核模块。您能否指出我在内核中处理Raspberry Pi的GPIO引脚的是什么,我可以将其附加到哪种定时器(除非已经有一些定时器)才能获得这种功能?