3、DAC工作原理:电阻分压型、R-2R梯形网络、PWM型DAC的原理与适用场景
各位工程师朋友,咱们今天聊聊DAC。数模转换器,这玩意儿在工业控制里太常见了。你想想看,PLC输出一个4-20mA信号去控制阀门,或者给变频器一个0-10V的模拟量指令,背后都是DAC在干活。
DAC的原理说穿了不复杂:把数字量变成模拟量。但实现方式五花八门。我个人习惯把常用的DAC分成三类:电阻分压型、R-2R梯形网络型、PWM型。每种都有它的脾气,选错了会出大问题。
3.1 电阻分压型DAC
这是最直观的一种。说白了,就是用一串电阻把参考电压分压,然后用开关选通。
工作原理:
假设一个8位的DAC,内部有256个等值电阻串联。参考电压Vref加在电阻串两端。每个电阻的抽头对应一个电压值。数字输入控制一组模拟开关,选通对应的抽头输出。
核心公式:
Vout = (D / 2^n) × Vref
其中D是数字输入值,n是位数,Vref是参考电压。
优点:
- 结构简单,容易理解
- 单调性保证——不会出现数字增大、输出反而减小的情况
- 输出阻抗恒定
缺点:
- 位数高了以后,电阻数量爆炸。10位就需要1024个电阻,12位就是4096个
- 电阻匹配精度要求高,否则线性度会变差
- 开关数量多,芯片面积大
适用场景:
主要用于低分辨率、低速场合。比如一些简单的电压基准源、面板上的数字电位器。我在一个老式的温度控制器里见过这种方案,8位精度,控制一个加热器,够用了。
注意:我曾经在一个项目里想用电阻分压型DAC做12位精度,结果发现电阻匹配根本做不到。后来老老实实换了R-2R方案。嗯,这里要注意,超过10位就别考虑这种结构了。
3.2 R-2R梯形网络DAC
这是工业控制里最主流的DAC结构。为什么?因为它只需要两种阻值的电阻:R和2R。
工作原理:
R-2R网络像一个梯子,每个梯级对应一位数字输入。电流从参考电压流入,经过梯形网络分配到各个支路。每个数字位控制一个开关,决定该支路的电流是流向输出端还是地。
核心公式:
Vout = (Vref × Rf / R) × (b1/2 + b2/4 + ... + bn/2^n)
其中b1是最高位,bn是最低位,Rf是反馈电阻。
优点:
- 只需要R和2R两种电阻,匹配性好
- 可以做到很高的分辨率,16位甚至更高
- 开关数量少,只有n个
- 速度快,适合中高速应用
缺点:
- 对电阻精度要求依然很高,尤其是高位
- 开关的导通电阻会影响精度
- 输出阻抗随数字码变化
适用场景:
R-2R DAC是工业控制的主力。PLC的模拟量输出模块、伺服驱动器的速度指令、数据采集系统的输出通道,基本都是R-2R结构。我记得有一次调试一个伺服驱动器,发现输出有毛刺,查了半天是DAC的参考电压纹波太大。加了个去耦电容就解决了。
实战技巧:我建议在设计R-2R DAC电路时,参考电压一定要干净。用低噪声的基准源,比如REF5025这类。另外,反馈电阻Rf最好和梯形网络里的R严格匹配,否则增益误差会让你头疼。
3.3 PWM型DAC
这个有意思。PWM型DAC不是传统意义上的DAC芯片,而是用微控制器的PWM模块加上外部滤波电路实现的。
工作原理:
微控制器输出一个占空比可调的方波。这个方波经过低通滤波器,把高频分量滤掉,剩下的直流分量就等于占空比乘以高电平电压。
核心公式:
Vout = Duty × Vhigh
其中Duty是占空比(0~1),Vhigh是PWM的高电平电压。
优点:
- 成本极低——只需要一个定时器和几个阻容元件
- 分辨率可以很高——PWM定时器的位数决定了分辨率
- 功耗低
- 容易隔离——通过光耦或磁耦隔离PWM信号
缺点:
- 响应速度慢——需要低通滤波器,滤波时间常数大
- 输出纹波大——尤其是分辨率高的时候
- 需要额外的滤波电路
适用场景:
PWM型DAC适合对速度要求不高、但对成本敏感的场合。比如LED调光、风扇调速、简单的加热控制。我做过一个项目,用STM32的PWM加一个二阶RC滤波器,实现了12位的DAC输出,控制一个比例阀,效果还不错。
避坑指南:我曾经在一个项目里用PWM做DAC控制电机速度,结果发现电机在低速时抖动。为什么?因为PWM频率太低,滤波后的电压纹波被电机感受到了。后来我把PWM频率从1kHz提高到20kHz,问题解决了。记住,PWM频率至少要比滤波器的截止频率高10倍以上。
3.4 三种DAC的对比
| 参数 | 电阻分压型 | R-2R梯形网络 | PWM型 |
|---|---|---|---|
| 分辨率 | 低(≤10位) | 中高(8~16位) | 高(取决于定时器) |
| 速度 | 慢 | 快 | 慢 |
| 成本 | 中 | 中高 | 低 |
| 纹波 | 小 | 小 | 大 |
| 单调性 | 保证 | 需注意 | 保证 |
| 典型应用 | 简单电压基准 | PLC模拟量输出 | 低成本调速 |
3.5 选型建议
说了这么多,到底怎么选?我个人习惯这样判断:
- 看位数:8位以下,电阻分压型够用。10位以上,R-2R是首选。如果对速度没要求,PWM也能上12位。
- 看速度:需要快速响应的,比如伺服驱动器的电流环,必须用R-2R。慢悠悠的加热控制,PWM就行。
- 看成本:批量大、成本敏感,PWM是王道。一个电阻加一个电容,几分钱的事。
- 看环境:工业现场干扰大,R-2R的参考电压要处理好。PWM信号容易隔离,适合需要电气隔离的场合。
最后说一句:你想想看,DAC选型其实就是在分辨率、速度、成本之间找平衡。没有最好的,只有最合适的。我见过有人用16位的R-2R DAC去控制一个加热器,纯属浪费。也见过有人用PWM去控制一个高速伺服阀,结果响应跟不上。选型前,先搞清楚你的负载需要什么。
好了,关于DAC的三种主流方案,今天就聊到这儿。下一章咱们讲讲ADC,那个更有意思。