脉宽调制(PWM)

在本节中,我们将探索什么是 PWM 以及为什么我们需要它。

数字与模拟

为了理解 PWM,我们首先需要理解什么是数字信号和模拟信号。

数字信号

数字信号只有两种状态:HIGH(高电平)或 LOW(低电平)。在微控制器(MCU)中,HIGH 通常意味着全电压(5V 或 3.3V),而 LOW 意味着 0V。两者之间没有任何值。把它想象成一个电灯开关,只能是完全“开”或完全“关”。

Digital Signals

当你使用微控制器上的数字引脚时,你只能输出这两个值。如果你向引脚写入 HIGH,它输出 3.3V。如果你写入 LOW,它输出 0V。你无法告诉数字引脚输出 1.5V 或 2.7V 或任何中间值。

模拟信号

模拟信号可以在一个范围内具有任何电压值。它不仅仅是“开”或“关”,而是连续且平滑地变化。把它想象成一个调光开关,可以将亮度设置为从完全关闭到完全明亮的任何位置,中间有无限个位置。

Analog Signals

例如,模拟信号可以是 0V、0.5V、1.5V、2.8V、3.1V,或允许范围内的任何其他值。这种平滑的变化使你能够精确控制设备。

问题所在

挑战在于:大多数微控制器引脚都是数字的。它们只能输出 HIGH 或 LOW。但如果你想要做到以下几点呢:

将 LED 灯调暗到 50% 亮度,而不是仅仅完全开启或完全关闭(就像我们在快速开始的闪烁示例中做的那样)?或者控制伺服电机到 0° 到 180° 之间的任何位置?或者调节风扇速度或逐渐控制温度?

你需要某种行为类似于模拟输出的东西,但你只有数字引脚。这就是 PWM 发挥作用的地方。