第三讲:信号调理电路设计(一)——仪表放大器深度解析
大家好,欢迎来到第三讲。
上一讲我们聊了传感器,知道了传感器输出的信号有多「脆弱」。微伏级的电压,叠加着几伏的共模噪声,直接送ADC?那基本是找死。所以,我们需要一个「信号调理」环节。今天,我们就来啃这块硬骨头——仪表放大器。
为什么普通运放不行?
你可能会问:我手头有LM358,便宜又好用,为什么非要用仪表放大器?
嗯,这个问题我当年也问过。刚入行时,我用LM358搭了个差分放大电路,去采集一个桥式压力传感器。结果呢?传感器没动,输出已经飘了1V。查了半天,发现是共模电压在作怪。
普通运放的共模抑制比(CMRR)通常在60-80dB。而工业现场,共模干扰动不动就是几伏甚至几十伏。你想想看,一个10V的共模信号,哪怕只被放大1%,那也是100mV的误差。对于满量程只有10mV的传感器来说,这误差直接让数据报废。
仪表放大器,说白了就是为解决这个问题而生的。
仪表放大器的核心:三运放结构
经典的仪表放大器,内部是三个运放组成的。我习惯把它拆成两级来看:
- 第一级:两个运放构成对称的差分输入级。这一级只放大差模信号,对共模信号基本无视。
- 第二级:一个标准的差分放大器,把第一级输出的差分信号转换成单端信号。
为什么这样设计?因为第一级的两个运放,它们的增益由同一个电阻Rg决定。只要Rg选得准,两个通道的增益就完全一致。共模信号在两端被同等放大,然后在第二级相减抵消——这就是高CMRR的秘密。
关键点:仪表放大器的CMRR,主要取决于第一级运放的匹配精度,以及Rg的稳定性。
共模抑制比(CMRR)—— 一个不能忽视的指标
CMRR的定义很简单:差模增益除以共模增益。单位是dB。
公式:CMRR = 20 * log(Ad / Ac)
举个例子:AD620的CMRR典型值是100dB(G=100时)。这意味着什么?意味着它对共模信号的抑制能力是差模信号的10万倍。一个1V的共模干扰,经过AD620后,等效到输入的误差只有10μV。
我在项目中遇到过一件事:用INA128采集心电信号,CMRR标称120dB,但实际测出来只有90dB。查了半天,发现是PCB布局的问题——两个输入走线长度差了2cm,引入了额外的共模转差模噪声。所以,芯片的CMRR再高,也架不住你layout乱来。
避坑指南:我曾经因为用了劣质的Rg电阻,导致CMRR从100dB掉到70dB。Rg必须用0.1%精度的金属膜电阻,温漂要低于25ppm/℃。别省这个钱,省了就是给自己挖坑。
增益设置:一个电阻搞定
仪表放大器最方便的地方,就是增益由单个电阻Rg决定。
对于AD620,增益公式是:
G = 49.4kΩ / Rg + 1
对于INA128,公式是:
G = 50kΩ / Rg + 1
举个例子:你想要100倍增益。
AD620:Rg = 49.4kΩ / (100 - 1) = 499Ω
INA128:Rg = 50kΩ / (100 - 1) = 505Ω
实际选型时,我会选标称值最接近的电阻。比如499Ω和511Ω都是E96系列的标准值。选499Ω,实际增益是100.2倍,误差0.2%,完全可以接受。
小技巧:如果你需要精确的增益,可以用两个电阻串联。比如需要100倍,可以用499Ω+6.8Ω=505.8Ω,这样增益就是99.9倍。不过说实话,大多数场合下,直接用标准电阻就够了。
常用芯片选型:AD620 vs INA128
这两款芯片,是我用得最多的。来做个对比:
| 参数 | AD620 | INA128 |
|---|---|---|
| 供电电压 | ±2.3V ~ ±18V | ±2.25V ~ ±18V |
| 静态电流 | 1.3mA | 700μA |
| 输入偏置电流 | 1nA(最大) | 5nA(最大) |
| CMRR(G=100) | 100dB(最小) | 120dB(典型) |
| 带宽(G=100) | 120kHz | 200kHz |
| 噪声(0.1-10Hz) | 0.28μVpp | 0.2μVpp |
| 价格(1k批量) | 约$3 | 约$4 |
我的选型建议:
- AD620:适合大多数工业采集场景。功耗稍高,但输入偏置电流更低,适合高阻抗传感器。我习惯用它来做压力传感器、应变片的信号调理。
- INA128:适合高精度、低噪声的场景。比如心电信号、热电偶的微弱信号。CMRR更高,噪声更低,但价格也贵一点。
如果你做电池供电的设备,可以考虑INA128,它的静态电流只有700μA,比AD620省了一半。
实际电路搭建:一个完整的例子
我们以AD620为例,搭建一个压力传感器的信号调理电路。
传感器输出:0-10mV(满量程)
目标输出:0-2.5V(适合3.3V ADC)
所需增益:250倍
计算Rg:
Rg = 49.4kΩ / (250 - 1) = 198.4Ω
选标称值:200Ω(1%精度)
实际增益:49.4k / 200 + 1 = 248倍
输出范围:0-2.48V,完美
电路连接要点:
- 第2脚(-IN)接传感器负输出
- 第3脚(+IN)接传感器正输出
- 第1脚和第8脚之间接Rg
- 第4脚接负电源(-5V)
- 第7脚接正电源(+5V)
- 第5脚(REF)接ADC的参考地
- 第6脚(OUT)接ADC输入
注意:REF脚不能悬空!我见过有人把REF脚空着,结果输出直接饱和到电源轨。REF脚必须接到一个低阻抗的参考电压上。如果是单电源供电,REF接VCC/2;如果是双电源,REF接GND。
供电与去耦:容易被忽视的细节
仪表放大器对电源噪声很敏感。我建议:
- 每个电源引脚对地接一个10μF电解电容+0.1μF陶瓷电容
- 电容尽量靠近芯片引脚,走线要短
- 如果可能,用LDO给仪表放大器单独供电,别和数字电路共用电源
有一次,我在一个项目里用了开关电源给AD620供电,结果输出纹波有50mV。后来换成线性稳压器,纹波直接降到1mV以下。所以,模拟电路的前端,别省那几块钱的LDO。
输入保护:别让浪涌毁了你的芯片
工业现场,传感器线缆可能很长,难免会感应到静电或者浪涌。我习惯在输入端加保护:
- 两个输入端对地各接一个10kΩ的限流电阻
- 两个输入端之间反并联两个1N4148二极管
- 每个输入端对电源和地各接一个TVS管(比如SMAJ5.0A)
这样做的好处是:即使输入电压超过电源轨,电流也会被二极管和TVS管泄放掉,不会烧芯片。代价是增加了约0.1μV/√Hz的噪声,但对于大多数工业应用来说,完全可以接受。
总结一下
仪表放大器,是模拟信号链中承上启下的关键环节。选对了,你的数据采集系统就成功了一半。选错了,后面再怎么折腾也白搭。
下一讲,我们会继续聊信号调理电路,重点讲滤波器的设计。到时候我会分享一个我踩过的坑——关于有源滤波器自激振荡的问题。嗯,那是个让人印象深刻的故事。
今天就到这里。记住:好的设计,从选对芯片开始。