一文搞懂什么是PWM!
内容提要
脉冲宽度调制(PWM)是一种通过将电信号分散成离散形式来降低平均功率的方法。PWM的实现方式是通过比较锯齿波和调制波来确定输出极性。可以通过改变脉冲的时间宽度来获得所需的波形。PWM可以用于产生不同的波形,如正弦波。现代MCU通常具有硬件PWM发生器,可以直接产生PWM。本文介绍了PWM的原理,并通过STM32实现了一个呼吸灯的程序。
延伸解读
占空比决定平均电压
文章指出,PWM波的平均值直接与占空比相关。在周期固定的情况下,高电平时间越长,平均电压越高。这解释了为什么通过调节占空比就能等效输出不同幅值的模拟信号,也是呼吸灯亮度渐变的基础。
比较器如何生成PWM
PWM的实现依赖锯齿波与调制波的比较:当锯齿波低于参考值时输出低电平,高于时输出高电平。改变参考值即可改变占空比。若参考值随时间线性上升,占空比便从0%逐渐增至100%,对应输出电压逐渐升高。
中央对齐PWM的特点
根据载波形状,PWM可分为中央对齐和边沿对齐两类。中央对齐PWM的载波先递增再递减,脉冲中心固定在时间窗格中心,两边对称伸缩。这种模式在电机控制等对对称性有要求的场景中更常见。
从原理到MCU实现
现代MCU通常集成硬件PWM发生器,配置寄存器即可输出PWM,无需软件模拟。文章以STM32为例,通过定时器通道输出PWM,并在主循环中周期性增减比较值,实现呼吸灯效果。这展示了PWM从理论到嵌入式应用的典型路径。
Q&A
PWM是什么?它的全称和基本定义是什么?
PWM的全称是脉冲宽度调制(Pulse-width modulation),是一种通过将有效的电信号分散成离散形式来降低电信号所传递的平均功率的方式。
PWM的输出平均值和占空比有什么关系?
PWM波形的平均值直接与占空比有关。占空比D决定了高电平在一个周期内所占的比例,从而影响平均电压值。
PWM是如何实现的?它的工作原理是什么?
PWM实现的原理是通过将锯齿波或三角波(载波)与所需合成的波形(调制波)进行比较,然后确定PWM输出的极性(通常是ON或OFF)。具体通过振荡器输出锯齿波与参考值比较,当锯齿波小于参考值时输出低电平,大于时输出高电平。
如何用PWM产生一个电压逐渐升高的波形?
要产生电压逐渐升高的波形,可以将需要调制的波形设置为斜坡输出的波形,这样占空比会逐渐从0%增大到100%,从而实现电压逐渐升高。
PWM可以调制出正弦波吗?什么是SPWM?
是的,PWM可以调制出正弦波,这种技术称为SPWM(正弦脉宽调制)。通过将正弦波作为调制波与载波比较,即可生成SPWM波形。
中央对齐PWM是什么?它有什么特点?
中央对齐PWM是PWM的一种分类,根据载波波形的形状,其完整周期包括先递增再递减的过程(增加增加减少减少)。脉冲波的中心固定在时间窗格的中心,脉冲波的两边可以移动,使得波的宽度被延伸或压缩。
如何用STM32实现呼吸灯效果?
基于STM32(如NUCLEO-F767ZI),通过CubeMX配置三路PWM输出,在程序中循环改变比较寄存器(CCR)的值,使占空比逐渐增大再减小,从而实现呼吸灯效果。示例代码中使用了TIM4、TIM12和TIM3的PWM通道。