STM32F103双向可控硅调节220V调光
简介:
这是基于STM32F103RBT6这个MCU设计的硬件电路,利用外部中断接收触发信号,定时器进行PWM占空比的输出,485进行指令控制占空比,通过可控硅实现220V市电的输出。
原理:
这个是输入波形的输出波形的大致原理。
解析:这里进入的是220V电压,为50HZ。经过我们原理中的B1这个器件波形变成100HZ的波形,再进过器件U6转成如图100HZ的波形,这个为MCU输入同步信号检测。当我们检测到一个上升沿的时候启动PWM信号输出,这里PWM也要设为100HZ的频率。输出这个波形可以自己调节占空比,当PWM为低电平的时候可控硅不导通,高电平的时候导通,通过可控硅再次将波形转化为50HZ。
程序逻辑:
程序逻辑流程图:
解析:我们通过指令将这个占空比数值传给PWM配置(定义一个全局变量)。这里每次检测到上升沿就进行一次PWM启动,完成后退出中断,这里要一直采集输出信号进行波形校正,所以在中断里面进行配置。这里采用上升沿中断比较好,因为有硬件延时。
下面是实现的效果图,第一张图片是输入检测输出占空比为10%的PWM两个波形,第二张图片是40%的PWM占空比和220V输出的两个波形,效果如下:
注意:
这里中断方式采用上升沿中断较好,因为硬件也有延时,定时器计数要采用向下计数,因为PWM那个基准值,当计数值大于这个基准值的时候输出为低电平,小于这个基准值的时候为高电平。
如果需要资源可以从这里下载哦,攒一下小积分,谢谢!https://download.****.net/download/liulvqaing/11227256
小生打字不易,简单分享一下自己途中遇到的一下问题和见解,如有错误,大佬可以指出共同学习,如对你有帮助,也可以意思一下(*^_^*)谢谢!