脉冲宽度调制(Pulse Width Modulation,简称 PWM)是一种周期性的方波信号,可以通过调整方波上升沿和下降沿所占的时间比例来实现对电源输出电压大小的调节,从而控制对电机、灯泡等设备的控制,也可以用来实现数字音频和直流电机控制等。
在单片机控制中,占空比(Duty Cycle)便是关键因素之一。占空比是指 PWM 方波中高电平所占的比例或时间与周期的比值,它控制着负载在整个周期时间里工作的时间比例,也直接决定了输出设备受到的电压大小。
由上可见,PWM 信号的占空比控制电压大小,所以单片机 PWM 占空比的意义在于控制输出信号的电压大小,使其与实际需求匹配,达到对设备的精细控制。
比如,常见的直流电机的转速可以通过调节其驱动口的PWM 占空比大小来实现。如果占空比为100%时,电机会一直保持全速旋转;如果为50%时,电机每秒钟只完成一半的转速,也就是说,电机旋转速度被减半;如果占空比为0时,则表示电机停止旋转,实现了控制。
在单片机中,PWM 发生器可以设置占空比大小,常见的有 Timer0/1/2/3 等。计算 PWM 占空比公式如下:
占空比 = (T - t)/ T × 100%
T 为周期,t 为高电平的时间。
单片机 PWM 占空比在实际应用中非常广泛,下面以几个案例进行说明:
(1)小车行驶控制:当占空比为50%时,小车行驶速度为正常速度,当占空比为75%时,小车行驶速度增加;如果占空比减小,小车行驶速度也随之减小。
(2)LED 渐变控制:调整 PWM 方波的占空比,可以实现 LED 灯渐变的效果,如仿生灯、彩虹灯等效果。
(3)伺服电机控制:通过控制 PWM 波占空比、周期等参数,可以实现伺服电机的精准控制,如精准的角度控制等。