第一:
5毫秒显然不够。我国采用的交流电是50Hz,也就是一个周期是20毫秒,半周期是10毫秒。
那么要确保在交流电压过零的时候触发,最小保持时间必须大于10毫秒。
第二。你触发一次,只能保证交流接通半个周期,至交流电压再次过零的时候会关断。所以你必须施加恒定的触发信号或者保证每10毫秒同步地触发MOC3041。
-----也就是说,这个MOC3041,不具备像寄存器或者D触发器那样的保持功能。
你用MOC3021 可以, 这个是不带过零触发的. 带过零检测的是不能用在调压方面的, 只能用于开关控制方面.
然后你的电路中要有检测过零部件,触发信号接到中断中, 最好是全波方式, 这样的话, 10ms中断一次, 在中断中你可以设置触发时间, 不要超过10ms, 最大9ms足够, 9ms时电压也接近20V了,
调节范围可以从1ms 开始到 9ms , 触发时间越短, 电压越高
MOC3041是过零导通的光耦晶闸管(是固态继电器SSR),只具备发光二极管发光触发后晶闸管过零点时导通功能,并不具备移相触发功能,不能作为调压使用,只能作为固态继电器使用,可以作为调功使用(通断时间调节)。
一般的,用可控硅来调电压,是控制电源在半周期波上的导通角,因此你的控制信号必须与电源波形同步(不知道你这样做了没有);
而通过零点来控制电源导通的,严格来说,没有调节电源电压的作用,而是具有调节电源输出功率的作用。