STM32F103双向可控硅调节220V调光

简介:

这是基于STM32F103RBT6这个MCU设计的硬件电路,利用外部中断接收触发信号,定时器进行PWM占空比的输出,485进行指令控制占空比,通过可控硅实现220V市电的输出。

原理:

这个是输入波形的输出波形的大致原理。STM32F103双向可控硅调节220V调光_第1张图片

STM32F103双向可控硅调节220V调光_第2张图片

解析:这里进入的是220V电压,为50HZ。经过我们原理中的B1这个器件波形变成100HZ的波形,再进过器件U6转成如图100HZ的波形,这个为MCU输入同步信号检测。当我们检测到一个上升沿的时候启动PWM信号输出,这里PWM也要设为100HZ的频率。输出这个波形可以自己调节占空比,当PWM为低电平的时候可控硅不导通,高电平的时候导通,通过可控硅再次将波形转化为50HZ。

程序逻辑:

程序逻辑流程图:

STM32F103双向可控硅调节220V调光_第3张图片

 

解析:我们通过指令将这个占空比数值传给PWM配置(定义一个全局变量)。这里每次检测到上升沿就进行一次PWM启动,完成后退出中断,这里要一直采集输出信号进行波形校正,所以在中断里面进行配置。这里采用上升沿中断比较好,因为有硬件延时。

下面是实现的效果图,第一张图片是输入检测输出占空比为10%的PWM两个波形,第二张图片是40%的PWM占空比和220V输出的两个波形,效果如下:

STM32F103双向可控硅调节220V调光_第4张图片STM32F103双向可控硅调节220V调光_第5张图片

 

注意:

这里中断方式采用上升沿中断较好,因为硬件也有延时,定时器计数要采用向下计数,因为PWM那个基准值,当计数值大于这个基准值的时候输出为低电平,小于这个基准值的时候为高电平。

如果需要资源可以从这里下载哦,攒一下小积分,谢谢!https://download.csdn.net/download/liulvqaing/11227256

 

小生打字不易,简单分享一下自己途中遇到的一下问题和见解,如有错误,大佬可以指出共同学习,如对你有帮助,也可以意思一下(*^_^*)谢谢!

你可能感兴趣的:(STM32F1)