什么是脉冲宽度调制?使用按键来控制PWM的占空比

电子说

1.2w人已加入

描述

什么是脉冲宽度调制?

那先搬出一段概念: 脉冲宽度调制 (英语:Pulse Width Modulation,缩写: PWM ),简称 脉宽调制 ,是将模拟信号变换为脉冲的一种技术,一般变换后脉冲的周期固定,但脉冲的占空比会依模拟信号的大小而改变。

那大家肯定又会问,什么是占空比?其实占空比就是指有效电平占整个输出信号的比例。PWM在实际应用中有什么作用呢,我们以呼吸灯为例,为大家演示PWM的具体用法与实际作用。

详细程序讲解

首先,配置定时器,将定时器配置为约100us中断一次。同时在主函数我们使PWM的占空比(在这里即OUT的值)不断改变,从0自加到100,再从100 自减到0。50MS的延迟控制灯亮暗的频率。大家还可以使用按键来控制PWM的占空比,来实现亮度控制。

电机驱动

在定时器中断函数里,我们设置一个计数位,不断从0增加到100,同时在计数位大于设置的占空比OUT时,输出高电平(P1=0xFF),小于设置值OUT输出低电平(P1=0X00)。那么PWM波的频率也就是1s/(100us*100)=100Hz,(1s除以每次中断时间*count)。

电机驱动

这个时候io口输出的其实是按图中所示的由高低电平组成的波形。一个高电平加一个低电平即为一个周期。

电机驱动

效果展示

实际运行效果,LED灯逐渐变亮又逐渐变暗,如果调节变化的速率,还会有新的发现,大家可以试一试。

以上为使用定时器生成PWM波的方法,现在许多比较新的单片机自带PWM输出,例如stc12c5a60s2,stm32等,配置的方法各不相同,但是都能实现PWM的输出与控制。PWM作为一种十分常用的工具,在灯光,电机控制方面有非常广泛的应用,大家如果不满足于简单的呼吸灯,还可以通过电机驱动控制电机,用PWM来实现电机调速,希望大家可以通过动手实践,掌握PWM的使用方法。

电机驱动

电机驱动

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分