PWM 转模拟电压计算器

输入PWM占空比和供电电压,计算平均输出电压、RC低通滤波器参数和输出纹波。

实时计算 — 输入参数后自动更新结果
VCC 0V Vavg HIGH LOW 0 Ton T 2T RC低通滤波: R=10kΩ, C=100nF

输入参数

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位25612.9 mV19.5 mV
10位10243.2 mV4.9 mV
12位40960.8 mV1.2 mV
16位655360.05 mV0.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,确保足够衰减