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

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

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

Duty Cycle Examples.png

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

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

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

面积等效原理

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

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

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

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

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

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

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

SPWM

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