从应变片到双积分A/D:2kg电子秤的1g信号链路设计 简介面向电子设计课程设计、毕业设计及传感器初学者这份doc文档围绕基于电阻应变式传感器的2kg手提电子秤给出较完整的设计参考与实现框架。内容从电阻应变片受力后阻值变化出发串联测量电桥、差动放大、A/D转换和LED显示等单元说明惠斯通电桥输出与重量之间的关系并涉及LM358差动放大倍数设置、ICL7107接口、零位调节、Tedea-Huntleigh 2kg拉式称重传感器选型以及整机工作流程配有系统总体方案、工作原理和电路结构示意便于理解微弱信号从采集、放大到模数转换与显示的全过程。压缩包仅含1个doc文件约91KB单文件结构简明内容集中适合查阅和二次整理。已有265人学习下载可作为课程设计框架参考也能帮助补齐传感器选型、信号调理与显示环节的基础知识对报告撰写与电路搭建具有参考价值。1. 微弱的电阻变化一台 2kg 电子秤凭什么能读出一克把 2kg 砝码压上去电阻应变式传感器里那几片箔式应变片阻值变化全部加起来往往不到 0.1 欧——相对 350 欧的桥臂电阻只有万分之几。整台电子秤要做的所有事情就是把这万分之一量级的电阻变化稳稳当当地翻译成显示屏上的四位数字。反直觉的地方在于真正决定精度的不是传感器本身而是它之后那条链路——电桥怎么把电阻差转成电压差、差动放大器怎么在放大的同时把共模噪声压下去、双积分 A/D 又怎么在工频干扰里把有效信号积分出来。搞懂电子秤本质上是搞懂一条「毫伏级信号如何活着走到数字域」的通路而这条通路上的每一级都有明确的取舍理由。2. 应变片与惠斯通电桥0.1 欧的电阻变化怎么变成毫伏电压2.1 从构件变形到电阻变化应变片这条物理链有多脆电阻应变片的结构并不复杂一层聚酰亚胺基底上面蚀刻出几微米厚的康铜箔敏感栅两端引出导线再盖一层保护膜。用专用胶粘到弹性体上之后敏感栅就跟着弹性体一起变形。金属丝被拉长时长度增加、截面积减小两个因素同向推高电阻这就是压阻效应的几何来源。工程上把它写成一个极简的线性关系ΔR / R K · ε其中 K 是应变片灵敏系数康铜箔的典型值在 2.0 附近ε 是应变单位微应变µε。一台 2kg 量程的传感器弹性体在满载时的应变通常在 8001000µε代进去得到 ΔR/R ≈ 0.002。若桥臂电阻是 350Ω满载时单片的电阻变化约 0.7Ω而在轻载区变化量可以小到毫欧级——题目里给的 0.00050.1Ω 这个范围对应的正是从「几乎没变」到「满载」的全过程。这条物理链脆弱的地方不在公式而在胶层。几十微米厚的粘接层既是力的传递介质也是滞后的来源加载瞬间胶层被压缩读数会略低于稳态值长时间受力后胶层缓慢蠕变读数又会一点点往上爬。所以同一颗传感器快称和慢称的结果能差出几个分度这不是电路的问题是力学路径的问题。2.2 惠斯通电桥四个桥臂不是冗余设计单个应变片的电阻变化太小直接用欧姆表测根本分辨不出来而且引线电阻、接触电阻、温度漂移全都会混进来。惠斯通电桥解决的正是这件事它把「绝对电阻」的比较变成了「电阻比值」的比较。四个桥臂 R1R4 围成一圈一个对角线接激励电压 E另一个对角线取输出电压 Uo。设 R1、R2 组成左半边R3、R4 组成右半边则Uo E · [ R1/(R1R2) − R4/(R3R4) ]平衡条件很干净R1·R3 R2·R4 时 Uo 0。一旦某一片受力变化平衡被打破输出一个与失衡量成正比的电压。这个结构的巧妙之处在于激励源的波动、环境温度的均匀变化会同时作用在四个桥臂上作为共模量被差分输出抵消掉大半。假设只有 R1 是工作片其余三片是固定电阻可以推得Uo E/4 · (ΔR/R) · 1 / (1 ΔR/(2R))分母那个 1/(1ΔR/2R) 就是单臂电桥的非线性误差项。当 ΔR/R 0.002 时误差约 0.1%对三位半的秤来说可以接受但已经吃掉了一个分度的余量。按题目给的参数激励 E 5V传感器灵敏度取 2mV/V满载输出就是 5V × 2mV/V 10mV。这 10mV 就是整条模拟链路的输入信号——后面所有的放大、滤波、转换都是为这 10mV 服务的。零位调整电路也挂在这张网上。RP1 是一只滑动式线性可变电阻与固定电阻构成微调支路跨接在桥臂之间。载荷为零时四片应变片的阻值不可能绝对相等0.1% 的容差在 350Ω 上就是 0.35Ω比满载变化的一半还大RP1 的作用就是把这点初始失衡用可调电阻抵消掉让显示屏回到零。它本质上是一个硬件版的「去皮」。2.3 全桥、半桥与单臂灵敏度、线性度和温漂的三角同样四片应变片接法不同性能差出一大截。这是电子秤设计里第一个真正的取舍点。接法工作片数相对灵敏度非线性误差温度补偿单臂1/4 桥1E/4·ΔR/R约 ΔR/2R需另设补偿片半桥邻臂2E/2·ΔR/R仍存在两片同温自然抵消全桥4E·ΔR/R理论上为零完全自补偿单臂接法最省片但灵敏度只有全桥的四分之一满载 10mV 的信号变成了 2.5mV对后面的放大器和 A/D 分辨率要求直接翻了四倍。更麻烦的是温度工作片受热膨胀会产生虚假应变而另外三片固定电阻不会这部分漂移会原样出现在输出里。半桥把两片工作片放在相邻桥臂上一片受拉、一片受压形变方向相反输出叠加而温度漂移相减。灵敏度翻倍温度问题基本解决代价是弹性体上要贴着两个面。全桥四片全工作两拉两压输出是单臂的四倍非线性项也因为对称而互相抵消。代价是成本和贴片工艺——四片的位置、角度、胶层厚度必须高度一致否则对称性被破坏前面说的那些好处会打折扣。手提秤这类对体积和成本敏感的产品常见做法是半桥或全桥很少用单臂硬撑。题目里的测量电桥用的是 R1R4 四片箔式应变片加 R5、R6 和 RP1 组成的零调网络走的是全桥思路。这个选择的直接后果是满载 10mV 的差分信号、接近零的非线性误差以及一个相对干净的共模基底——为下一级的差动放大创造了条件。3. 差动放大电路LM358 怎么把 10mV 抬到 A/D 认得的电平3.1 为什么要差动共模抑制不是玄学电桥输出的是浮地差分信号从传感器到电路板要走一段导线。这段导线就像一根天线电源纹波、日光灯的镇流器、开关电源的开关沿都会在两根线上感应出几乎相同的干扰电压。单端放大器的做法是「一根线接输入一根线接地」等于把干扰和有用信号一起放大 G 倍送进 A/D——信噪比一点没改善。差动放大器的做法是只放大两个输入端之间的差值。干扰作为共模量在理想情况下被完全抵消。衡量这个能力的指标是共模抑制比 CMRR定义为差模增益与共模增益之比用 dB 表示。这里有个容易被忽略的点系统的 CMRR 并不等于运放手册上的 CMRR。经典的四电阻差分放大器其共模抑制能力几乎完全由外部电阻的匹配精度决定。假设 R2/R1 与 R4/R3 失配 1%整个电路的 CMRR 大概只有 40dB 左右远低于 LM358 自身 7085dB 的水平。也就是说花大价钱买高 CMRR 的运放却用 5% 精度的电阻等于把性能白扔了。三运放仪表放大器就是为了解决这个矛盾而生的前两级 A1、A2 构成同相并联结构对差模信号给足增益对共模信号只做跟随增益为 1。共模量在第一级根本没被放大等到第二级做差分相减时电阻失配带来的误差相对就小得多。这就是为什么仪表放大器敢用普通精度的电阻而四电阻差分电路不敢。3.2 三运放结构的增益1 2R8/R7 是怎么推出来的推导过程只有两步靠的是虚短。A1 的反相端与 A2 的反相端分别通过 R8 连到各自的输出同时这两个反相端之间跨接 R7。由于虚短A1 反相端电位等于 Vi1A2 反相端电位等于 Vi2。流过 R7 的电流就是I (Vi1 − Vi2) / R7这个电流没有别的通路只能从 A1 的输出流出、经左侧 R8、穿过 R7、再经右侧 R8 流回 A2 的输出。所以输出端的电压差为Vo I · (R8 R7 R8) (1 2R8/R7) · (Vi1 − Vi2)即Avf 1 2 · R8 / R7题目里给的是 R8 30k、R7 5.1k代进去 Avf ≈ 12.76。而正文中写的 Avf 1 R8/R7是把两个 R8 当成一个来算的写法——只有当 R7 跨接在某一级的反相端与输出端之间即标准同相放大器结构时才成立。三运放拓扑里 R7 悬在两个反相端之间系数必须是 2。这个差别不小12.76 与 6.88整整差了一倍直接决定后面满量程够不够用。第二级是标准的差分减法器通常取四个等值电阻使增益为 1只负责把双端转成单端并进一步压制共模。LM358 内部是两个独立运放做完整的三运放仪表放大器需要两片或者前级用一片双运放、后级再用一片的一半。用一段代码把增益和电阻取值的关系算清楚# 三运放仪表放大器增益与电阻取值核算 R8 30e3 # 反馈电阻两只等值 R7 5.1e3 # 跨接在 A1/A2 反相端之间的增益设定电阻 G 1 2 * R8 / R7 print(f当前增益 G {G:.2f}) # 反过来想要某个增益R7 该取多少 def r7_for(gain, r8R8): return 2 * r8 / (gain - 1) for target in (10, 12.76, 20, 50): print(fG{target:5} - R7 {r7_for(target)/1000:.2f} kΩ)运行结果会告诉你R7 5.1k 对应 12.76 倍想要 20 倍R7 得换成 3.16k想要 50 倍R7 只有 1.22k这时 R7 上的电流变大A1、A2 的输出摆幅压力陡增。增益不是想给多少就给多少它受运放输出能力和电阻功耗的双重约束。3.3 单电源下 LM358 的两个硬伤失调与摆幅LM358 之所以在这种课程设计里出场率极高是因为它便宜、双运放、内置频率补偿、输入共模范围能低到负电源端以下 0.3V单电源 5V 就能工作。但它的两个参数会直接卡住电子秤的精度。第一个是输入失调电压 Vio。LM358 的典型值 2mV全温区最大值能到 7mV。这个失调会被增益原样放大12.76 倍下是 2590mV而 ICL7107 在 200mV 满量程下的一个计数只有 0.1mV——也就是说失调本身就占掉了 250900 个计数相当于满量程的 12%45%。这些计数既不携带重量信息还挤压了可用的动态范围。题目给出的 RP21M 电位器接在 A1 同相端作用就是注入一个可调的直流偏置把失调硬掰回零。这是纯硬件方案里必须付出的代价。第二个是输出摆幅。单电源 5V 供电时LM358 的输出高电平只能到 V 减去约 1.5V也就是 3.5V 左右低电平在灌入小电流时能到十几毫伏但拉电流能力很弱。所以可用输出区间大致是 0.1V3.5V。如果把这颗运放的输出直接送进 A/D中间还得考虑电平是否落在转换器的输入范围内——ICL7107 的差模输入范围是以 COM 为参考的 ±200mV通常要把 COM 抬到 1V 以上让输入信号落在共模范围中间避免积分器饱和。这两条加起来就解释了为什么模拟前端的调试顺序必须是「先短接输入看零点再谈增益」。失调不管增益越大错得越离谱。4. 双积分 A/D 与显示ICL7107 为什么会长在电子秤上4.1 三个相位自动调零、定时积分、反积分双积分型 A/D 的工作过程分成三个固定阶段每一步都有明确的物理意义。自动调零AZ内部把缓冲放大器、积分放大器、比较器的失调电压采样并存储在调零电容上在整个转换过程中实时扣除。这一步让外部不需要再做失调校准也是双积分能做到高分辨率的底气之一。定时积分INT输入电压 Vin 经积分电阻 Rint 对积分电容 Cint 充电持续时间 T1 由计数器固定为 1000 个时钟周期。积分器输出从零开始线性爬坡方向由 Vin 的极性决定。反积分DE切断输入接入极性与 Vin 相反的基准电压 Vref积分电容以固定斜率放电直到比较器检测到过零放电时间记为 T2。因为充电和放电用的是同一只电容、同一只积分电阻两者的比值只取决于电压比T2 / T1 Vin / Vref一次转换的输出计数就是1000 × Vin / Vref。Vref 取 100mV满量程输入就是 200mV对应 1999 个计数3.5 位显示。整个转换过程不依赖电阻电容的绝对值只依赖它们的比值稳定性——这是双积分对抗元件容差的核心机制。Rint 和 Cint 的温度系数只要同向漂移结果就不受影响。4.2 20ms 的积分窗口怎么吃掉 50Hz 干扰双积分最漂亮的地方在于积分窗口的选取。ICL7107 内部振荡器典型频率 48kHz由 OSC 引脚上的 R、C 决定定时积分阶段固定 1000 个时钟周期T1 1000 / 48000 ≈ 20.8 ms而工频干扰的周期是 20ms。两者几乎相等意味着在一个积分窗口内干扰信号的正半周和负半周被完整地各积了一半净面积为零。这就是整周期积分的含义——它把工频干扰当成一个完整的正弦波积分下来自己抵消掉了不需要任何滤波器。如果当地电网是 60Hz周期 16.7ms那把时钟改成 60kHzT1 就变成 16.7ms同样对齐。这个设计点看着像玄学实际是严格的数学只要积分时间是干扰周期的整数倍任意初相的干扰积分结果都是零。代价是响应速度。20ms 的积分窗口意味着一次转换至少 20ms加上反积分和调零整周期大约 40ms。对一台手提秤来说完全够用但如果你想做动态称重比如流水线上的分选这个速度就是瓶颈了。4.3 基准电压与满量程标定把 2kg 换算成 2000 个计数到这里为止链路的两端都清楚了传感器满载输出 10mVA/D 满量程输入 200mV。中间需要多少增益是一道除法题。# 从 2kg 到 2000 个计数的完整换算 E 5.0 # 桥路激励 V S 2e-3 # 传感器灵敏度 2mV/V FULL 2.0 # 额定量程 kg Vs E * S # 满载桥路输出单位 V - 0.010 Vref 0.1 # ICL7107 基准电压 V FS_IN 2 * Vref # 满量程差模输入 200mV COUNT_FS 2000 # 三位半满码 G_now 1 2 * 30e3 / 5.1e3 def chain(G): Vo Vs * G counts COUNT_FS * Vo / FS_IN return Vo, counts, FULL / counts for g in (G_now, 20.0, 50.0): Vo, c, res chain(g) print(fG{g:5.2f} 输出{Vo*1000:7.1f}mV 计数{c:7.1f} 分辨率{res*1000:.2f} g) # 反推正好用满量程所需的增益 print(f\n理想增益 {FS_IN / Vs:.1f}) print(f对应 R7 {2*30e3/(FS_IN/Vs - 1)/1000:.2f} kΩ)算出来的结论很直白G 12.76 时输出只有 127.6mV等效 1276 个计数分辨率约 1.57g剩下的 36% 量程白白浪费G 20 时输出正好 200mV2000 个计数全用上分辨率 1.0gG 再大就会溢出。所以 R7 取 5.1k 是一个偏保守的选择——留了余量代价是分辨率打了折。如果想榨干这颗 A/DR7 应该换到 3.16k 附近同时把 RP2 的调零范围重新核一遍确保失调不会把满量程顶出去。显示电路这一环反而是最简单的。ICL7107 内部集成了七段译码、锁存和 LED 驱动输出电流能力足够直接点亮共阳数码管段线上串几百欧的限流电阻就行。整个电子秤不需要单片机、不需要写固件纯硬件闭环——这是它成本低、故障率低的根本原因也是它没法做数字滤波、自动关机、串口输出的根本原因。5. 避坑与排查从原理图到能读数之间隔着什么5.1 零点这一类上电就顶满量程、调零调不动现象不加载荷显示屏直接跳到 1.9xx 甚至溢出转 RP1 也无济于事。原因通常不在传感器而在放大器的输入失调和电桥的初始失衡叠加。四片应变片按 0.1% 容差算350Ω 上就有 0.35Ω 的失配5V 激励下产生的失衡电压可达毫伏级再加上 LM358 最大 7mV 的失调两者一起被放大 12.76 倍轻松突破 100mV占掉半个满量程。RP1 的调节范围如果只按传感器失衡设计根本压不住运放失调这一块。解决的办法是分段定位先把 A1、A2 的两个同相端短接到同一电位看显示是否回到零附近——回得去说明问题在电桥和零调网络回不去说明失调出在运放本身得靠 RP2 那一路偏置注入来压。两个都调完之后再复算一遍余量确认在 040℃ 范围内失调漂移不会把零点推出可调范围。5.2 跳字这一类末位狂跳、放在日光灯下更严重现象静态放置时末位在 ±5 到 ±10 个计数之间乱跳把秤挪到日光灯下面跳得更欢。原因有两个层次。第一层是积分窗口没和工频对齐——如果 OSC 的 R、C 取值让时钟偏离 48kHz 较多T1 就不是 20ms 的整数倍工频干扰的积分残差会直接体现在计数上。第二层是地线。模拟地、LED 驱动地、电源地如果混在一起数码管换段时的脉冲电流会在共地阻抗上产生压降这个压降被前级当成信号放大。解决入手点先用频率计或示波器量 OSC 引脚的实际频率确认在 48kHz 附近再检查 Cint、Rint 的取值是否让积分器在最大输入时不饱和Rint 太大则积分电流小、抗噪差太小则积分器提前饱和最后把 LED 的段电流回路单独走线单点接到电源入口。数字地和模拟地在 ICL7107 这颗芯片上本来就有内部分隔外部不要人为地再连成一片。5.3 漂移这一类加载后读数缓慢爬升卸载回不到零现象放上 1kg 砝码读数先显示 998g几十秒后爬到 1003g拿掉砝码零点停在 23g 回不去。原因在力学路径而不在电路。胶层在持续载荷下发生粘弹性蠕变敏感栅的变形量随时间缓慢增加电阻继续变化卸载后胶层不能完全弹性恢复留下残余应变。此外弹性体自身也有迟滞加载曲线和卸载曲线不重合。温度也会掺一脚应变片和弹性体的热膨胀系数不同温度变化 1℃ 可能带来几个微应变。解决思路结构上选蠕变小的胶和经过时效处理的弹性体电路上用 RP1 做零点跟踪每次开机空载时重新归零测量流程上统一加载后的读数时间比如固定 3 秒后取值让蠕变的影响在标定和使用时保持一致。如果对回零要求高全桥接法比半桥更能抵消共模的温度和蠕变分量。5.4 显示这一类数码管缺段、乱码、全黑现象上电后数码管有位不亮或者显示一堆无意义的段。原因多半在 ICL7107 的外围。TEST 引脚悬空或接错芯片不进正常工作模式OSC 的 R、C 取值不当导致振荡器不起振整个转换停摆LED 是共阳接法段限流电阻如果按共阴算要么不亮要么过流。排查顺序很固定先把 TEST 脚拉到 V正常芯片应该全段点亮显示 1888这一步能确认译码和驱动没问题再量 OSC 引脚有没有波形最后核对数码管的共阳/共阴极性和限流电阻。这三步走完九成的显示问题都能定位。6. 设计取舍精度、成本与温漂之间的三角把这条链路从头到尾捋一遍会发现每个环节都在做同一件事用可接受的误差换可实现的成本。三位半的 ICL7107 给出 2000 个计数配合 2kg 量程理论分辨率 1g。这个数字不是随便定的——家用和商用场景对 1g 的分辨率已经没有更高需求而再往上走一位到 3¾ 位A/D 成本、基准精度、噪声控制全都要重做一遍。反过来说如果传感器本身的重复性只有 ±2gA/D 给到 0.1g 的分辨率也只是把噪声显示得更清楚而已。系统精度永远由最弱的一环决定这一环通常是传感器和它的粘贴工艺而不是转换器。增益分配是第二个取舍点。仪表放大器把增益放在第一级是为了让共模抑制不受电阻匹配影响但第一级增益越高输入失调也被放大得越狠。R7 取 5.1kG12.76留了 36% 的量程余量好处是失调不容易顶满、温漂有缓冲空间坏处是分辨率从 1g 掉到 1.57g。想两头都要就得在失调上花钱——换斩波稳零运放或者加一级硬件调零网络。设计项常见选择得到的付出的桥路接法全桥灵敏度 ×4、线性好贴片工艺要求高放大器件通用双运放成本低、单电源失调大、需硬件调零增益设定留 30% 余量抗失调、抗温漂牺牲分辨率A/D 类型双积分、无 MCU抗工频、BOM 极简无数字滤波、无智能功能基准电阻分压简单温漂直接进结果验证这套设计是否站得住我一般会跑三个动作三点标定空载、1kg、2kg 各读三次看线性度、回程测试加载到满载再卸载比较同一点的读数差衡量迟滞、四小时漂移空载通电每隔半小时记一次零点。这三个数据出来精度到底在哪个量级就藏不住了比任何仿真都实在。血泪经验是小信号链路里先算「失调 × 增益 vs 满量程」这笔账再去画原理图。这笔账算不平后面所有的调试都是在跟一个注定失败的架构较劲。从那以后我每次做类似的采集前端都会先在纸上把最坏情况的失调、温漂、噪声各乘一遍增益确认余量还剩下多少才动手选型。希望帮到你。本文还有配套的精品资源点击获取