1. PWM 基础概念:从方波到精准控制
各位同学好,我是老周。今天咱们开始《PWM输出模块硬件调试》的第一章。说实话,PWM 这东西,我入行头三年天天跟它打交道——从最简单的 LED 呼吸灯,到后来给伺服电机做速度环,核心都是这玩意儿。
PWM 的全称是 Pulse Width Modulation,中文叫脉冲宽度调制。说白了,就是通过调节一个方波信号里高电平的宽度,来模拟出不同的电压或功率。你想想看,数字芯片只能输出 0 或 1,但现实世界需要 0.3V、2.5V、50% 亮度这些连续值,怎么办?PWM 就是那个桥梁。
一句话总结:PWM 是用数字信号的占空比,来等效模拟信号的幅度。
1.1 什么是 PWM?—— 一个开关的快速舞蹈
想象你手里有个开关,控制一盏灯。你每秒开关 1000 次,每次开的时间占总时间的比例不同,人眼看到的就是不同亮度。这就是 PWM 的本质——高速开关,平均效果。
一个标准的 PWM 信号有三个关键参数:
- 周期(Period):一个完整开关循环的时间,单位通常是微秒或毫秒。
- 频率(Frequency):周期的倒数,1 秒内有多少个周期,单位 Hz。
- 占空比(Duty Cycle):高电平时间占整个周期的百分比。
举个例子,频率 1kHz(周期 1ms),占空比 30%,那就是每 1ms 里,高电平 0.3ms,低电平 0.7ms。我习惯用示波器看这个波形,一眼就能判断占空比准不准。
我的小习惯:调试时先用万用表测 PWM 引脚的直流平均电压。如果占空比 50%,供电 3.3V,那平均电压应该在 1.65V 左右。差太多?说明驱动电路或滤波有问题。
1.2 占空比与频率 —— 两个核心旋钮
占空比和频率,就像音响上的音量旋钮和均衡器。占空比决定“多大”,频率决定“多快”。
| 参数 | 物理含义 | 典型范围 | 影响 |
|---|---|---|---|
| 占空比 | 高电平时间占比 | 0% ~ 100% | 控制输出平均电压/功率 |
| 频率 | 每秒开关次数 | 几十 Hz ~ 几 MHz | 决定响应速度、噪声、损耗 |
占空比很好理解:50% 就是一半时间开一半时间关。但要注意,占空比不是线性对应所有物理量。比如 LED 调光,人眼对亮度的感知是对数的,所以 50% 占空比看起来并不是一半亮——这个后面调光章节我会细讲。
频率的选择就讲究了。我踩过一个坑:给一个直流电机做 PWM 调速,选了 20kHz,想着人耳听不到就行。结果电机嗡嗡响,发热严重。后来查资料才发现,频率太低(< 50Hz)电机抖动,太高(> 50kHz)MOSFET 开关损耗剧增。最后我定在 1kHz 左右,平衡了噪声和效率。
避坑指南:我曾经在一个项目中,把 PWM 频率设到 200kHz,结果驱动芯片直接过热保护。后来一算,开关损耗是 1kHz 时的 200 倍。频率不是越高越好,要看你驱动的负载和器件的开关速度。
1.3 PWM 的应用场景 —— 三个经典战场
PWM 的应用太广了,但最经典的三个场景,我几乎每个项目都遇到过。
1.3.1 电机调速
直流电机转速和两端电压成正比。用 PWM 控制 MOSFET 或 H 桥,改变占空比就能改变电机平均电压,从而调速。
- 占空比 0%:电机停转
- 占空比 50%:半速旋转
- 占空比 100%:全速旋转
我做过一个四轴飞行器的电调,PWM 频率设在 400Hz,占空比 1ms~2ms 对应油门 0%~100%。注意,电机是感性负载,PWM 关断时会产生反电动势,必须加续流二极管,否则 MOSFET 必烧——这个我吃过亏。
1.3.2 LED 调光
LED 调光是最直观的 PWM 应用。人眼有视觉暂留效应,只要 PWM 频率高于约 100Hz,就看不到闪烁。我一般用 1kHz 以上,既无闪烁,又不会产生可闻噪声。
但要注意:LED 的亮度与电流近似线性,但人眼感知是对数的。所以调光曲线要做 gamma 校正。比如你要 50% 的视觉亮度,实际占空比可能只需要 25% 左右。
经验值:我常用的 LED 调光频率是 1kHz~5kHz。低于 200Hz 会看到闪烁,高于 20kHz 可能产生可闻的线圈啸叫(如果用了电感驱动)。
1.3.3 音频输出
这个可能有些同学没想到——PWM 还能做音频?没错,早期的手机扬声器驱动,很多就是用 PWM 实现的。原理是:用高频 PWM(通常 > 200kHz)模拟音频信号的幅度变化,再通过低通滤波器还原出模拟音频。
我调试过一个 Class-D 音频功放,PWM 频率 384kHz,占空比随音频信号变化。输出端接一个 LC 低通滤波器,把高频载波滤掉,剩下的就是放大的音频信号。效率能做到 90% 以上,而传统 Class-AB 只有 50%~70%。
但这里有个坑:PWM 的分辨率要够。比如你用 8 位 PWM(256 级),音频动态范围只有 48dB,听起来会有量化噪声。我建议至少 10 位(1024 级)以上。
1.4 知识体系总览
下面这张图,是我自己画的知识结构。你可以把它当作本章的导航图,也是后续章节的索引。
1.5 本章小结
好了,第一章就到这里。我们理清了三个核心概念:
- PWM 是什么——用占空比模拟连续量
- 占空比和频率——两个必须理解透彻的参数
- 三个经典应用——电机、LED、音频,各有各的讲究
我个人觉得,PWM 是嵌入式工程师必须玩熟的基本功。后面的章节,我们会深入到寄存器配置、波形测量、驱动电路设计、故障排查……一步步来,别急。