把下午看到的一些资料总结一下,聊聊笔者对 PWM 与 SPWM 的肤浅认识

首先,PWM 的全称是“Pulse-width modulation”,即“脉冲宽度调制”,是将模拟信号变成脉冲的一种技术。

要产生一个 PWM 波,即是将模拟信号调制成不同占空比一系列的脉冲。这里,占空比指的是一个周期内,高电平持续时间与周期之比。如下图所示:

Duty Cycle Examples.png

那么,要如何产生 PWM 波呢?

这需要我们使用电压比较器。将锯齿波/三角波作为反相端的输入,同相端输入的是我们要编码的模拟信号。如下图所示:

PWM

注:一个可以对于给定的信号简单产生脉冲宽度调制的方法,收到信号 (红色线) 相比于一个锯齿波 (蓝色线),当后者比前者小时,调制后信号会在高状态,反之则在低状态。

面积等效原理

很多玩单片机的朋友一定都是通过 PWM 控制 LED 亮度入门的。

那么为什么我们单片机上面的 LED 在 PWM 波的作用下,不会一亮一灭,而是显示出渐变的亮度呢?那是因为,我们 PWM 波的频率的是很高的,LED 在如此快速的切换频率下,还没灭透就又被点亮了,如果你看过白炽灯熄灭后的余光,你大概能猜到我的意思。

更严谨的说法,应该要用面积等效原理来解释:

冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。——《电力电子技术》,王兆安

也就是说,我们可以把 PWM 波的输出波形等效成一个模拟信号(毕竟 PWM 波也是模拟信号编码来的)。上面所指的惯性环节可以是 LC 积分环节或者 RC 积分环节,它们都有延迟的功能。

如果你想看看实验效果,可以参考 这里

我们认为,LED 上面也应该存在类似的延迟环节。

SPWM

一个暴论,SPWM 即为调制波 (上述的锯齿波/三角波) 为正弦波的 PWM。