调光,是件挺费事的工作,开端是没加过零检测,成果不论怎么做pwm频率多高,都很闪,用了下面这个后就不闪了.在51hei单片机开发板上测验成功。要调光的线是过零导通的,对交流电源的操控成果只能是对半波,而不能斩波,一般要调光,调压的线,合作交流过零信号硬件,也可用变压器+二极管做过零检测电路.过零信号边缘触发中止,在过零后延时输出操控信号给光藕,使天然关断,完结一个半波的斩波操控,调整延时值就能调理输出电压了,当然,延时值依据电源频率及定时器分频比不同,有相应的取值规模,一般能用外中止担任过零边缘触发,一个边缘(至于哪个边缘与过零信号硬件结构有关)担任封闭可控硅,一个边缘担任延时核算,并写入定时器,由定时器中止来翻开可控硅 .
改动INT1中止中的移相值,即可改动输出电压,这儿T2分频比为1024,可依据主频核算出移相值取值规模
若主频12M,电源50Hz,则移相值核算约为0--117,但实际使用0-105就可以了,太大了会移相到过零方位,使可控硅不能关断
andir17,127暂时制止T2比较匹配中止(T2比较匹配中止在中止程序中启闭)
上面的是的是AVR的汇编程序,51的也能轻松完成的,万古流芳用定时器的溢出中止啦,溢出值-移相值=初始值触发可控硅用脉冲方法,核算好触发脉冲宽度对应的计数初值
同步信号输入--下沿中止写计数初值,开端计数--计数器溢出中止,判标志=0,翻开可控硅,写触发脉冲初值,写标志=1---再次溢出中止,判标志=1,关可控硅,清零标志--------再次同步中止