ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

小信号采集电路设计:AD620与LM358实战指南

小信号采集电路设计:AD620与LM358实战指南 1. 为什么小信号采集总翻车从一次称重传感器调试说起前阵子帮朋友调一套称重采集板传感器是350欧姆桥式应变片满量程输出大约20mV。他直接用STM32的12位ADC去采结果读数跳得跟心电图一样静止状态下末位能飘几十个码。他以为是ADC不行换了16位外置ADC还是飘。最后把示波器挂上去一看桥路输出端叠加了大约30mV的工频干扰和几十毫伏的共模噪声——信号本身才20mV噪声比信号还大后面接什么ADC都是白搭。这个场景在工业现场、医疗仪器、电池测试、传感器变送器里太常见了。小信号采集的模拟电路核心矛盾从来不是ADC位数够不够而是信号在进入ADC之前有没有被干净地放大和调理。AD620加LM358这套组合就是解决这个矛盾的经典方案AD620负责把差分小信号干净地放大LM358负责把放大后的信号做电平搬移、缓冲和滤波最后送进ADC。整套电路成本不高但能把微伏到毫伏级的信号稳稳地送到伏特级让后级ADC真正发挥出它的分辨率。这篇文章面向的是需要自己动手做采集板的硬件工程师、电子爱好者、做毕业设计的学生以及被小信号噪声折磨过的嵌入式开发者。我会从器件选型的逻辑讲起把AD620的增益计算、LM358的跟随器与电平搬移、PCB布局中的地平面与走线策略、以及实测中遇到的坑一层层拆开讲清楚。文中给出的参数和布局建议都是我在实际打板调试中验证过的你可以直接抄作业也可以根据自己的传感器特性做调整。需要先说明一点AD620和LM358都是非常成熟的通用器件网上资料很多但大部分资料只告诉你这样接不告诉你为什么这样接以及这样接在PCB上会出什么问题。这篇文章的重点就放在后者——那些只有真正打过板、焊过元件、用示波器盯过波形的人才会踩到的细节。2. AD620与LM358的分工逻辑谁干什么为什么不能互换2.1 AD620的核心价值在于共模抑制不是放大倍数很多人选AD620是冲着仪表放大器这个名头去的觉得它放大倍数准、漂移小。这些都对但AD620真正的杀手锏是共模抑制比CMRR。以AD620为例在增益为100时CMRR典型值能达到100dB以上。这意味着如果输入端有1V的共模干扰折算到输出端只相当于10微伏的差模误差。对于桥式传感器那种输出端本身就带着几伏共模电压的场景这个指标是决定性的。AD620的增益公式非常简洁G 1 49.4kΩ / Rg。其中49.4kΩ是芯片内部激光修调过的电阻Rg是你在1脚和8脚之间外接的增益电阻。比如你要增益100Rg 49.4k / 99 ≈ 499Ω。要增益1000Rg ≈ 49.45Ω。这个公式的精度直接取决于Rg的精度所以Rg一定要用低温漂的金属膜电阻精度至少1%温漂最好在25ppm/℃以内。我见过有人用普通碳膜电阻做Rg结果温度一变增益就跟着变采集出来的数据随环境温度漂查了半天以为是传感器的问题。AD620还有一个容易被忽略的特性它的增益带宽积。增益越高可用带宽越窄。增益100时带宽大约120kHz增益1000时只剩12kHz左右。如果你采的是动态信号比如振动或者音频范围内的电流波动这个带宽限制必须提前算清楚。静态或准静态的称重、温度、压力信号则完全够用。2.2 LM358在这里不是凑数的它解决的是电平搬移和驱动问题AD620输出的是以REF引脚电压为基准的双极性信号。比如你给REF接2.5V增益100输入差模±10mV输出就是2.5V ± 1V范围在1.5V到3.5V之间。这个信号理论上可以直接进ADC但实际中往往还需要LM358做两件事。第一件是电平搬移和缓冲。有些ADC的输入范围是0到3.3V而AD620的输出可能因为REF设置不当而超出这个范围。用LM358搭一个电压跟随器配合电阻分压网络可以把信号压缩或搬移到ADC的舒适区。跟随器的高输入阻抗不会从AD620输出端偷电流低输出阻抗又能驱动ADC的采样电容这是它最本职的工作。第二件是有源滤波。LM358虽然带宽只有1MHz左右压摆率0.3V/μs看起来不快但做几十赫兹到几赫兹的低通滤波绰绰有余。在AD620输出和ADC之间插一级二阶有源低通把工频和高频开关噪声滤掉效果立竿见影。我通常会把截止频率设在信号最高频率的3到5倍既保证信号不被衰减又能把大部分带外噪声挡掉。2.3 为什么不用LM358直接放大微小信号这是新手最容易犯的错误觉得LM358便宜两个运放直接用它搭仪表放大器电路不就行了问题在于LM358的输入失调电压典型值是2mV最大能到7mV而且温漂不小。你的信号本身可能才10mV失调电压和信号一个量级放大之后全是直流误差根本没法用。AD620的输入失调电压典型值只有30μV最大125μV比LM358小两个数量级。这就是为什么前端必须用AD620LM358只能放在后面做已经放大过的信号处理。对比项AD620LM358输入失调电压30μV典型2mV典型共模抑制比100dBG10070dB左右增益带宽积取决于增益G100时约120kHz1MHz输入偏置电流1nA典型20nA典型适用位置前端小信号放大后级缓冲、滤波、电平搬移这张表的核心信息是AD620负责把微弱差分信号从噪声里捞出来LM358负责把捞出来的信号整理成ADC喜欢的样子。分工明确不能颠倒。3. 增益电阻与REF引脚的取值计算别让ADC白白浪费量程3.1 从传感器满量程反推增益假设你用的是350Ω桥式称重传感器灵敏度2mV/V激励电压5V。满量程输出就是2mV/V × 5V 10mV。如果你希望满量程时AD620输出接近ADC的满量程比如ADC参考电压是3.3V你希望输出在0.3V到3.0V之间摆动那么输出摆幅是2.7V对应输入10mV增益就是270。取整用增益250或300都可以关键是留出余量别让信号削顶。Rg 49.4k / (G - 1)。G250时Rg 49.4k / 249 ≈ 198.4Ω。这个阻值不是标准值你可以用200Ω的1%金属膜电阻实际增益就是1 49.4k/200 248和250差不到1%完全可接受。如果你非要精确可以用两个电阻串联或并联凑出198Ω但说实话传感器本身的灵敏度误差可能就有5%纠结电阻的0.5%意义不大。3.2 REF引脚不是随便接的它决定了输出的零点AD620的REF引脚决定了输出信号的基准电压。如果你把REF接地输出就是以0V为基准的双极性信号负半周会被单电源供电的AD620削掉。如果你把REF接到2.5V输出就以2.5V为中心摆动正负对称。对于单电源供电比如5V和GND的场景REF通常接到电源中点让输出有最大的对称摆幅。REF引脚的驱动源很关键。它不能直接用一个电阻分压就完事因为分压点的阻抗会和AD620内部的电阻网络相互作用影响CMRR。正确做法是用一个运放缓冲分压点或者用专用的基准电压芯片。我通常用LM358的另一半做一个电压跟随器把两个10kΩ电阻分压得到的2.5V缓冲后送到REF引脚。这样REF的源阻抗极低不会拖累AD620的性能。注意REF引脚的电压精度直接影响输出的零点精度。如果你用5V供电两个10kΩ电阻分压电阻的1%误差会导致REF电压偏差50mV放大250倍后输出零点偏差就是12.5V——当然实际不会这么夸张因为AD620的CMRR会抑制一部分但零点漂移是实实在在的。所以分压电阻要用1%精度或者直接用基准芯片。3.3 单电源供电时的偏置陷阱AD620在单电源下工作时输入端不能接近电源轨。它的输入共模范围通常是从负电源轨往上1.9V左右具体看数据手册。如果你用5V单电源输入共模电压必须高于1.9V否则输入级晶体管会截止输出直接饱和。桥式传感器在5V激励下输出共模电压大约是2.5V刚好在范围内这是幸运的。但如果你用的是热电偶或者光电二极管共模电压可能接近0V这时候就必须给输入端加偏置把共模电压抬到合适范围。我一般会在传感器和AD620之间加两个高精度电阻做偏置把输入共模抬到2V左右。这两个电阻的阻值要远大于传感器阻抗避免加载效应。比如传感器阻抗350Ω偏置电阻用100kΩ对信号的分流影响不到0.4%可以接受。但偏置电阻的噪声会直接注入输入端所以要用低噪声的金属膜电阻并且并联电容滤掉电阻热噪声。4. LM358后级电路跟随器、滤波器与ADC接口的配合4.1 电压跟随器不是接上就行反馈路径有讲究LM358做电压跟随器输出直接连到反相输入端这是标准接法。但在PCB上这个反馈走线要尽可能短最好直接走在运放引脚下方避免被其他信号干扰。我见过一个案例反馈线绕了半个板子结果输出端引入了开关电源的纹波跟随器变成了天线。反馈路径越短环路面积越小抗干扰能力越强。另外LM358的输出端如果直接驱动ADC的采样电容可能会因为运放的输出阻抗和ADC的采样开关产生振铃。解决方法是在LM358输出和ADC输入之间串一个几十欧姆的电阻再并一个小电容比如100pF到地形成一个简单的RC缓冲。这个电阻电容的取值要根据ADC的采样速率调整采样越快RC时间常数要越小。4.2 二阶有源低通的参数怎么定我常用的拓扑是Sallen-Key二阶低通用LM358的一半搭。截止频率f_c 1 / (2π√(R1R2C1C2))。为了计算简单通常取R1 R2 RC1 C2 C则f_c 1 / (2πRC)。比如你要100Hz截止取R 10kΩ则C 1 / (2π × 10k × 100) ≈ 159nF取标准值150nF或220nF都可以。但Sallen-Key有一个坑它的品质因数Q取决于电阻电容的比值。如果R1和R2相等C1和C2也相等Q 0.5这是临界阻尼没有峰值。如果你想要更陡的滚降可以把C1取大一些Q会升高但太高会在截止频率附近产生增益峰值反而放大噪声。对于采集电路我建议Q取0.707左右巴特沃斯响应通带最平坦。具体做法是C1 2 × C2R1 R2这样Q ≈ 0.707。4.3 单电源下LM358的输入输出范围限制LM358的输入共模范围是0V到Vcc-1.5V输出范围是0V到Vcc-1.5V左右。这意味着在5V供电下输入信号不能超过3.5V输出也不能超过3.5V。如果你把AD620的输出可能到3.5V以上直接送给LM358输出就会削顶。所以要么降低AD620的增益让输出不超过3V要么给LM358用更高的供电电压比如9V或12V。我个人的习惯是给模拟部分单独用9V供电通过LDO从主电源降压得到然后再用电阻分压产生4.5V的REF。这样AD620和LM358都有足够的余量信号摆幅可以做到0.5V到8.5V后级ADC如果支持外部参考可以用3.3V参考加电阻分压把8.5V压缩到3.3V以内。多这一级分压虽然麻烦但换来了更大的动态范围。5. PCB布局实战地平面、走线与去耦的每一个细节5.1 地平面分割模拟地和数字地到底怎么处理关于模拟地和数字地的处理网上有各种说法有人说要完全分开有人说要统一。我的经验是在采集板这种小信号场景下统一地平面反而更稳但前提是布局合理。完全分割地平面会导致回流路径断裂信号跨越分割缝时会产生严重的电磁辐射和地弹。正确的做法是整板用一个完整的地平面但把模拟部分和数字部分在物理上分区布局。AD620、LM358、基准源、传感器接口放在板子的一侧MCU、晶振、数字接口放在另一侧。ADC如果放在中间它的模拟输入引脚朝向模拟区数字输出引脚朝向数字区。地平面保持完整让回流电流自然地从信号下方流过环路面积最小。如果非要用磁珠或0Ω电阻把模拟地和数字地分开那只能在ADC下方单点连接而且连接点要尽量宽。但说实话在10MHz以下的采集板里统一地平面几乎总是更好的选择。我做过对比测试同一块板子统一地平面的噪声比分割地平面低3到5dB。5.2 AD620输入端的保护与滤波AD620的输入端非常脆弱差分输入电压超过电源轨就会损坏。工业现场传感器线缆可能感应到几百伏的瞬态所以输入端必须加保护。我通常在每个输入端串一个100Ω的电阻然后对地并一个BAT54S双肖特基二极管把电压钳位在电源轨附近。这个100Ω电阻同时和AD620输入端的寄生电容形成低通对高频干扰有一定抑制作用。但要注意输入端的串联电阻会引入热噪声。100Ω电阻在室温下的热噪声密度大约是1.3nV/√Hz对于AD620本身0.85nV/√Hz的噪声来说会增加大约50%的噪声。如果你的信号非常微弱这个电阻要取小一些比如22Ω或47Ω或者用低噪声的金属箔电阻。保护二极管的漏电流也要小否则会在高阻抗传感器上产生额外的失调。5.3 去耦电容的摆放不是越近越好而是要回路最短AD620和LM358的电源引脚都需要去耦。标准做法是每个电源引脚配一个0.1μF陶瓷电容和一个10μF钽电容。但关键在于电容的接地回路。0.1μF电容要尽可能靠近引脚它的接地端要直接打到地平面过孔要短。10μF电容可以稍微远一点放在电源入口处。我见过有人把去耦电容放在芯片背面通过过孔连接结果效果很差。因为过孔有电感高频去耦效果大打折扣。正确的做法是把电容放在芯片同一面紧贴引脚接地端用多个过孔打到地平面。如果空间实在紧张至少保证0.1μF电容在同一面。还有一个细节AD620的REF引脚也需要去耦。如果REF是用电阻分压得到的分压点要并一个1μF到10μF的电容到地滤掉电源噪声。这个电容的接地也要干净不能和数字部分的接地混在一起。5.4 信号走线的包地与远离小信号走线最怕的是被干扰。AD620的输入走线要尽可能短最好走成差分对两条线等长、等宽、紧挨着走这样共模干扰会同时耦合到两条线上被AD620的CMRR抑制掉。走线两侧可以铺地铜并打屏蔽过孔形成包地结构把走线和外界隔离开。同时输入走线要远离任何高频或大电流走线。开关电源的电感、晶振、数字总线、继电器驱动线这些都要和模拟输入保持至少5mm以上的距离。如果实在避不开就在中间加一条接地走线作为隔离。我通常会在模拟输入区域下方挖空数字部分的电源平面减少通过电源平面耦合的噪声。6. 实测中的三个典型故障与排查链路6.1 输出一直饱和在电源轨先查REF再查输入共模第一次打板回来上电发现AD620输出直接顶到4.8V怎么调输入都没反应。排查过程是这样的先用万用表量REF引脚发现是0V——原来我忘了焊分压电阻。REF为0V时AD620输出只能往正方向摆稍微有点失调就饱和了。补上电阻后输出恢复正常。第二次遇到饱和REF正常但输入共模电压只有0.3V低于AD620单电源下的最低共模要求。传感器是热电偶输出共模接近0V。解决办法是在输入端加偏置电阻把共模抬到2V。这个坑的教训是单电源供电时一定要先确认输入共模电压在数据手册规定的范围内否则后面怎么调都是白费。6.2 读数跳动大用示波器看噪声频率对症下药有一块板子ADC读数每隔几秒跳一次幅度不大但很烦人。用示波器AC耦合看AD620输出发现是50Hz工频干扰幅度大约20mV。排查发现传感器线缆没有屏蔽而且和一根220V电源线平行走了半米。换成屏蔽线并远离电源线后干扰降到2mV以下。另一次是高频噪声示波器上看是几十kHz的开关纹波。查电源发现是DC-DC模块的开关频率耦合进来的。在DC-DC输出后加了一级LC滤波再把模拟部分的LDO换成高PSRR的型号噪声就压下去了。这个案例说明噪声排查一定要先看频率工频、开关频率、数字时钟频率对应的解决手段完全不同。6.3 增益不对量Rg量输入输出算实际增益有人反馈说增益设了100但实际测出来只有60多。让他量Rg发现焊的是1kΩ而不是499Ω。原来他手头没有499Ω就用1kΩ代替忘了改增益公式。换回499Ω后增益正常。这个坑很低级但确实常见。我的习惯是在PCB上把Rg的位置留成两个焊盘可以并联也可以串联方便凑出非标准阻值。还有一种情况是增益随频率下降。如果输入信号频率接近AD620在该增益下的带宽极限增益会明显下降。比如增益1000时带宽只有12kHz你输入10kHz信号增益可能只有700。这时候要么降低增益要么换带宽更高的仪表放大器。AD620不是万能的它的带宽和增益是 trade-off 关系。7. 从这块板子延伸出去的几个实用改进方向7.1 用ADR421替代电阻分压做REF电阻分压做REF最大的问题是精度和温漂。两个1%的10kΩ电阻分压比误差可能到2%温漂如果都是100ppm/℃温度变化20℃时REF电压会漂0.2%。对于高精度采集这个漂移不可接受。ADR421的初始精度0.04%温漂3ppm/℃虽然贵一点但省去了校准的麻烦。如果预算有限至少要用0.1%精度的电阻并且两个电阻要紧挨着放保证温度一致。7.2 在ADC前加一级RC抗混叠即使LM358后面已经有低通滤波ADC输入端还是建议加一级简单的RC。因为ADC采样时会产生电荷注入如果前端驱动不够快采样瞬间的电压跌落会影响精度。在ADC输入和地之间并一个1nF到10nF的电容再串一个100Ω电阻可以吸收采样电荷同时进一步滤高频。这个RC的截止频率要远高于信号带宽避免影响有用信号。7.3 预留校准接口批量生产时每块板的增益和零点都会有微小差异。我习惯在PCB上预留两个测试点一个接AD620输出一个接REF方便产线用万用表快速校准。软件上也可以做两点校准输入已知的小信号和满量程信号记录ADC读数算出斜率和截距后续测量用这个系数修正。这样即使硬件有5%的误差软件校准后也能做到0.1%以内。7.4 考虑用INA333等新一代器件AD620是经典但毕竟年头久了。INA333是TI的微功耗仪表放大器失调电压25μV温漂0.1μV/℃CMRR在G100时也有100dB而且静态电流只有50μA适合电池供电的场景。如果对功耗有要求可以看看INA333或者AD8237。不过AD620的优点是资料多、价格便宜、供货稳定对于学习和一般工业应用完全够用。8. 焊接与调试中的几个手感经验焊AD620的时候芯片是SOIC-8封装引脚间距1.27mm不算难焊但要注意别把焊锡拖到相邻引脚。我的习惯是先用镊子对准位置焊一个角固定然后检查对齐再焊其他引脚。焊完后用放大镜看一遍确认没有桥接。AD620的1脚和8脚之间接Rg这两个引脚离得很近Rg的焊盘不要设计得太大否则焊锡容易连到旁边的引脚。调试的时候先不焊传感器用信号源给AD620输入端加一个已知的差分电压比如10mV然后量输出。如果输出不对先查电源、REF、Rg这三个没问题再查输入共模。我一般会准备一个简单的分压电路用电池和电阻产生一个稳定的毫伏级信号比信号源还干净适合做基准测试。LM358的焊接没什么难度但要注意它的输入引脚如果悬空输出会乱跳。调试时如果发现LM358输出异常先检查输入引脚有没有虚焊或者悬空。另外LM358的输出端如果直接接示波器探头探头的电容可能会导致振荡最好串一个100Ω电阻再测。最后说一个关于PCB打样的经验小信号采集板建议用沉金工艺不要用喷锡。喷锡的表面平整度差焊接时容易虚焊而且锡的电阻率比金高对于微伏级信号来说焊点的热电动势也会有影响。沉金虽然贵一点但焊点可靠接触电阻小长期稳定性好。我做过对比同一块板子沉金和喷锡的噪声底差了一倍多虽然不全是焊点的原因但焊点质量确实有影响。
返回列表