你的延时是不是有问题??单片机的定时器是不是向上计数的?怎么我看你程序觉得你用向下计的呢? 还有看你程序似乎是:(moc30=0)先开启可控硅然后根据dw的数值去决定延时多少再关控制信号(moc30=1),但是有一点是,可控硅若不是可控关断的话,就有问题了,普通可控硅是开通之后只要有电流就不会关断,它只会在交流电过零时自动关断.要想达到调光效果,可以这样控制:过零检测后开始延时(根据dw的数值),延时到后开启可控硅,然后必须在交流电再次过零前撤消控制信号,以便可控硅过零时关断,当再检测到过零信号再重复上面的控制就可以了,也就是说你的控制信号是100HZ的脉冲才得.
原理没错,程序逻辑也没有错,检查一下硬件电路吧,灯只工作半个周期,50HZ,应该会闪才对
控制端需加二极管
过零检测中,接的103电容,可能会改变相位角度,从而影响后,后面的检测。
我想问的是继电器起什么作用?求解答谢谢