在嵌入式开发中,如果要评选一个出镜率最高的外设功能,PWM一定榜上有名。
LED调光、电机调速、舵机控制、蜂鸣器发声、开关电源控制……几乎所有涉及能量调节的场景,都离不开PWM。
很多初学者第一次接触PWM时都会有一个疑问:
明明单片机输出的只有高电平和低电平,为什么却能实现类似模拟电压的连续控制效果?
答案就在PWM(脉冲宽度调制)的本质之中。
一、PWM究竟是什么?
PWM(脉冲宽度调制)是一种利用数字开关信号模拟连续模拟量的方法。
其核心思想非常简单:
不改变输出电压幅值,只改变高电平持续时间,从而改变平均输出能量。
例如:
- 电源电压:5V
- PWM频率固定
| 占空比 | 平均电压 |
|---|---|
| 0% | 0V |
| 25% | 1.25V |
| 50% | 2.5V |
| 75% | 3.75V |
| 100% | 5V |