PWM 转模拟电压计算器
输入PWM占空比和供电电压,计算平均输出电压、RC低通滤波器参数和输出纹波。
输入参数
V
%
mV
计算结果
平均输出电压
1.650 V
D × VCC = 0.5 × 3.3
PWM周期
1.000 ms
1 / 1 kHz
高电平时间
500.0 µs
D × T
分辨率(8位)
12.9 mV
VCC / 256 步
建议截止频率
159 Hz
≤ PWM频率/10
建议 RC 参数
10kΩ + 100nF
fc ≈ 159 Hz
公式说明
平均输出电压
PWM信号经过低通滤波后的直流输出电压等于占空比乘以供电电压:
Vavg = D × VCC = (Ton / T) × VCC
其中:
- Vavg — 平均输出电压(V)
- D — 占空比(0~1),如50% = 0.5
- VCC — PWM高电平电压(V)
- Ton — 高电平时间,T — PWM周期
RC低通滤波器设计
要将PWM转为平滑的直流电压,需要RC低通滤波器。截止频率应远低于PWM频率:
fc = 1 / (2π × R × C)
设计准则:
- 截止频率:fc ≤ PWM频率 / 10(至少10倍衰减)
- 纹波估算:Vripple ≈ VCC × D×(1-D) / (f_PWM × R × C)
- 响应时间:τ = R × C,建立时间约 5τ
纹波电压估算
一阶RC滤波后的纹波电压(峰峰值)近似公式:
Vripple_pp ≈ VCC / (f_PWM × R × C) × D × (1 - D)
纹波在D=50%时最大,D=0%或100%时为零。
PWM DAC 分辨率
PWM作为DAC使用时,分辨率取决于PWM计数器位数:
分辨率 = VCC / 2^N (N为PWM分辨率位数)
| PWM位数 | 步数 | 步长(VCC=3.3V) | 步长(VCC=5V) |
|---|---|---|---|
| 8位 | 256 | 12.9 mV | 19.5 mV |
| 10位 | 1024 | 3.2 mV | 4.9 mV |
| 12位 | 4096 | 0.8 mV | 1.2 mV |
| 16位 | 65536 | 0.05 mV | 0.08 mV |
应用场景
- 无DAC的MCU — 用PWM+RC实现低成本DAC输出
- LED调光 — PWM直接驱动LED,不需要滤波
- 电机调速 — PWM驱动H桥控制直流电机
- 音频输出 — PWM+滤波器生成简易音频(Class-D)
- 基准电压 — 产生可调参考电压
设计建议
- PWM频率越高,滤波越容易,纹波越小
- 需要低纹波时:使用二阶RC滤波(两个RC串联)
- 需要驱动负载时:RC滤波后加运放跟随器(buffer)
- 典型选值:R = 1k~100kΩ,C = 100nF~10µF
- PWM频率 ≥ 10 × fc,确保足够衰减