用 PWM 实现精密模拟输出电压设计方案:TL431 与模拟开关 DAC 详解

针对单片机 PWM 幅度不稳、无法直接输出精密电压的痛点,给出 TL431 精密基准 + 模拟开关整形的 14–15 位精度方案,并配合低通滤波与运放缓冲输出 0–10V 控制信号

2026-09-11
PWM-DACTL431模拟开关变频器控制嵌入式开发模拟输出

用 PWM 实现精密模拟电压只需 2 片廉价集成电路即可解决:以 TL431 精密基准配合单刀双掷模拟开关 MAX4544 把 PWM 脉冲重新整形为“高电平 8V、低电平 2.5V、振幅 5.5V”的稳定脉冲,再经低通滤波与一级运放缓冲就能输出 0–10V 精密直流电压。其导通电阻 35Ω 与开关延迟 30/25ns 引入的误差合计优于 0.0003(约 12–15 位二进制精度),完全满足电机变频器控制信号等工业场景。本文给出三种实现方案对比、误差来源量化分析与可移植配置方法。

1 场景:PWM 广泛存在,却缺少精密模拟量

近年来集成 EEPROM、WDT、A/D 与 D/A 的新型高速单片机构成了主流嵌入式平台,但其中的 D/A 输出普遍采用脉宽调制(PWM)形式。PWM 非常适合开关电源、可控硅触发、LCD 背光调节、音频输出这类不需要精确电压的场合。然而 PWM 脉冲没有基准电压,输出脉冲幅度并不恒定,这在要求精密控制电压的场合——例如精密可调电压源、电机变频器给定量、伺服驱动器的模拟指令输入(多为 0–10V 或 4–20mA)——就无法直接使用。

2 困惑:为什么不能直接对 PWM 做低通滤波取平均

一种直觉做法是把 PWM 直接低通滤波得到直流。问题在于:PWM 的逻辑电平由电源决定,电源纹波、线路压降都会直接进入输出;更关键的是 PWM 高、低电平幅度不对称且会随负载与温度变化,滤波后只能得到“表示占比”的平均电压,无法满足精度要求。此外仅靠无源 RC 低通在需要 0–10V 满量程且驱动微弱负载时,输出阻抗偏大、带载能力不足。要得到符合精度的模拟电压,必须先对 PWM 脉冲的幅度做精密整形。

3 答案:先整形幅度,再做低通滤波与缓冲

正确思路分两步:第一步用精密基准与模拟开关把 PWM 脉冲改造成“幅度受基准控制”的精密方波;第二步用低通滤波把方波平均成直流并用运放缓冲提高带载能力。其总体精度取决于第一步整形引入的误差,以下给出三种可行的完整性递增方案。

实现方案关键器件精度等级成本适用场景
方案A:精密基准+模拟开关整形TL431 + MAX4544 + 分压电阻约12–15位低(2片IC)精密可调电压源、变频器0–10V指令
方案B:精密稳压二极管限幅高速运放 + 2DW7稳压二极管约8–10位较低精度要求一般、要求简单低成本
方案C:PWM直通低通滤波RC低通 + 运放缓冲受电源与负载影响大最低背光、风扇调速等非精密场合

3.1 方案A:TL431 + 模拟开关的精密 PWM 整形

电路原理:D1 为 TL431 三端精密基准集成电路,U1 采用单刀双掷模拟开关 MAX4544,电阻 R1、R2、R3 按目标电压取值,也可替换为其它型号集成。当 PWM 为高电平(逻辑 1)时,U1 的 COM 端掷向常闭端 NC,TL431 的调整脚与正电压脚相连,输出被钳位为 2.5V;当 PWM 为低电平(逻辑 0)时,U1 的 COM 端掷向常开端 NO,TL431 输出电压经 R2、R3 分压后送入调整脚,此时输出等于:

V_OUT(LOW) = ((R2 + R3) / R3) × 2.5 V

本例中 V_OUT(LOW) = 8V
脉冲振幅 = 8V - 2.5V = 5.5V

这样,U1 的 IN 脚输入 PWM 时,电路输出的是高电平 8V、低电平 2.5V 的精密脉冲,其幅度完全由 TL431 基准与电阻比值决定,与数字电源电压无关。若要输出低电平为零的 PWM 脉冲,再串入一级差分放大器即可。

3.2 方案B:精密稳压二极管限幅(低精度简化版)

在精度要求不高的场合,可用高速运放把 PWM 放大为 ±12V 后,经限流电阻 R1 和精密稳压二极管 D1(可用 2 个廉价稳压二极管对接替代 2DW7)稳压限幅,得到 ±6.5V 的脉冲输出。该方案省去模拟开关,但误差来源更多(见误差分析)。

3.3 误差来源与量化分析

方案A 中基准电源本身误差可忽略,真正的误差来自两处,二者都能用“等效二进制位数”直观评估,如下表。

误差来源关键参数计算/作用机理数值结果等效位数
模拟开关导通电阻MAX4544 导通电阻 35ΩTL431 调整脚电流(<4μA)流过形成压降<140μV(2.5V 的 0.000056)约14位
开关延迟时间导通30ns、关断25ns延迟改变占空比,@10kHz 时最大误差 0.00030.0003约12位
开关延迟时间(低频)@1kHz 时延迟占比减小同样延迟,频率越低误差越小0.00003约15位

上方关断/导通延迟对照表显示:真正影响输出精度的其实是这些参数随温度与时间的漂移,而其绝对数值很小,漂移更小,因此附加电路引入的误差完全能满足 PWM 精度需求。若需要更高精度,把 PWM 频率取低即可,例如 1kHz 时延迟误差仅 0.00003,约合 15 位。

3.4 开关延迟误差与 PWM 频率的关系

开关延迟对占空比的影响随频率降低而减小,可按线性关系估算等效位数,方便按目标精度反推载频选择。

PWM 频率开关延迟引入的最大误差等效二进制位数
10kHz0.0003约12位
5kHz约0.00015约13位
2kHz约0.00006约14位
1kHz0.00003约15位

(中间频率数值为依据 MAX4544 开关延迟线性外推所得,10kHz 与 1kHz 为器件文档与实验实测基准。)对 0–10V 变频器指令这类模拟信号,10kHz 载频的 12 位精度通常已足够;追求更高精度则降低载频、加长低通时间常数。

3.5 方案B 的三类误差

方案B 的误差主要来自三方面:(1)稳压二极管动态电阻较大(工作电流 5–10mA 时约几十欧姆),而运放驱动能力有限使二极管工作电流偏小,小电流动态电阻更大,更易引起电压变化;(2)2DW7 由两只稳压管对接串成,一只正向压降的负温度系数补偿另一只的正向温度漂移,但 2DW7 反向应用时温度漂移得不到补偿,导致负脉冲部分温度系数偏高;(3)运放输入的失调电压漂移直接导致脉冲振幅误差,转换速率 SR 过低则引起方波波形失真继而导致电压误差。对于 8–10 位精度的 PWM 应用,该方案已能满足;要求更低时可用 2 只廉价稳压二极管对接替代 2DW7 降低成本。

3.6 应用实例:变频器 0–10V 控制信号

利用单片机 PWM 输出,在方案A基础上增加 RC 滤波电路与一级运算放大器缓冲,即可得到 0–10V 直流输出电压,作为变频器的给定(速度)控制信号,实际调试取得了良好效果。设计要点:低通截止频率取 PWM 载频的 1/10–1/20 以抑制纹波,同时保证变速响应速度;运放用单位增益缓冲隔离滤波电容,避免负载影响 RC 时间常数;输出端并入 100nF 与 TVS 保护工业长线场景下的静电与浪涌。

4 结论与选型建议

把幅度不稳定的 PWM 转成精密模拟电压,最经济可靠的路径是“精密基准 + 模拟开关整形 + 低通滤波 + 运放缓冲”的方案A:两片约十几元的集成电路即可获得 12–15 位精度,规避了直接低通滤波对电源与负载的敏感,也规避了纯稳压管方案的温度漂移。设计时按目标精度选取 PWM 载频(10kHz≈12 位、1kHz≈15 位),并按目标量程用 TL431 基准电压公式整定分压电阻,即可稳定输出 0–10V、0–5V 等标准工业模拟量。

总结:精密 PWM 转模拟电压的本质是用 TL431 基准钳定脉冲高低电平、用模拟开关消除电源波动与负载影响,再以低通滤波取平均、运放缓冲增强带载;导通电阻与开关延迟两类误差可控在 12–15 位,足以支撑变频器 0–10V 指令等精密模拟量输出,较直接 RC 低通与单纯稳压管方案在精度和温漂上更具优势。


本文基于《使用 PWM 得到精密的输出电压》(江南大学 朱立)等技术资料整理优化。

需要模拟量接口与信号链路设计?

沧州艾诺威电子 — 国家高新技术企业,20+项国家专利
嵌入式系统开发 · 物联网方案 · 传感器信号调理 · 一站式交付

立即微信咨询

电话:13930711029 | 邮箱:tech@czinv.com | 24小时内响应