2026/11/4 12:41:00

2kg手提电子秤设计方案:电阻应变式传感器与ICL7107链路解析

2kg手提电子秤设计方案:电阻应变式传感器与ICL7107链路解析 简介围绕电阻应变式传感器电子秤设计的课程设计文档面向电子信息、自动化等专业学生及刚接触传感器测量的开发者重点解决2kg手提电子秤从称重传感、信号调理到数字显示的完整方案设计问题。文档以电阻应变片和桥式测量电路为核心串联差动放大、A/D转换与LED显示环节涉及LM358构成仪表放大、ICL7107双积分转换、零位调节及拉式称重传感器选型等内容并给出系统原理图与单元电路推导适合用作课程设计、电子设计入门或测量电路复习的参考。压缩包内为1个doc文件大小约91KB篇幅集中便于按测量、放大、转换、显示模块对照阅读。目前已有265人学习下载可帮助读者理解微弱信号放大、电桥不平衡输出与显示标定之间的衔接并从中获取较完整的电路框架和器件选型思路。1. 从一块 2kg 手提秤说起这套方案到底解决了什么厨房秤、快递秤、菜市场的计价秤拆开外壳往里看结构高度雷同一片贴在弹性体上的电阻应变片、一个惠斯通电桥、一级放大再加一块把模拟电压翻成数字的 A/D。区别只在于谁把每一段的参数算准了。这份基于电阻应变式传感器的 2kg 手提电子秤设计方案把整条链路拆成四段画了出来测量电桥、差动放大、双积分 A/D、LED 显示。每一段都落到器件型号、电阻取值和连线关系上2kg 的满量程和 1g 的理论分辨率是从灵敏度一路算下来的并非随意给定。它适合两类人一类是课程设计要交付一份能画出示意图、讲清原理的方案另一类是手头有个小硬件项目想从传感器输出一直打通到数码管亮起。后面按「先看懂链路、再算准参数、最后调通电路」的顺序拆。2. 系统总览与技术选型一条从应变片到数码管的四级链路2.1 四级链路各自的输入输出先定死整机的信号流向很线性重力作用在弹性体上应变片电阻变化电桥把电阻变化转成差分电压差动放大把这个电压抬到 A/D 吃得下的量级A/D 转成计数译码后驱动 LED。真正开始动手前需要先确定每一级的输入输出范围否则后面的电阻取值就只能靠试环节输入输出核心器件关键参数测量电桥02kg 载荷010mV 差分箔式应变片 ×4350Ω灵敏度 2mV/V激励 5V差动放大010mV0130mVLM358 双运放增益约 12.8 倍A/D 转换0130mV01999 计数ICL7107 双积分Vref100mV满量程 200mV显示计数3 位半数码共阳 LED 数码管小数点定在 0.00 位这张表是整个方案的核心。后面所有电阻、电容的取值都是为了把实际值塞进这张表的区间里。如果桥路输出只有 6mV增益就得往上抬如果放大后超过 200mVICL7107 会溢出显示「1」或者干脆乱跳。选型逻辑也在这里应变片选箔式全桥而不是单臂是为了拿满灵敏度并自带温度补偿放大选 LM358 而不是专用仪表放大器是因为它单电源能跑、输入共模能到地、价格便宜做 2kg 这种精度绰绰有余A/D 选 ICL7107 而不是单片机加外部 ADC是因为它内部集成译码和数码管驱动省掉一整颗 MCU 和一堆限流电阻。2.2 2kg 怎么换算成 200mV把量程从物理量推到电平这一步最容易含糊过去但它是判断「放大倍数对不对」的唯一依据。传感器灵敏度 2mV/V 是行业常见值意思是每 1V 激励电压、满量程载荷下输出 2mV。激励给 5V满量程输出就是 10mV。10mV 直接送 ICL7107 显然不行它的基本满量程是 200mV。中间差的这 20 倍不能全给放大电路因为要留超载余量和零漂空间。按原方案的电阻取值算一下增益# 从传感器灵敏度一路推到 A/D 满量程占用率 SENS_MV_PER_V 2.0 # 2kg 拉式传感器灵敏度常见 2mV/V VEXC 5.0 # 桥路激励电压由稳压源供给 FULL_SCALE_KG 2.0 # 量程 R8, R7 30.0, 5.1 # 仪表放大器第一级反馈电阻与增益电阻单位 kΩ GAIN 1 2 * R8 / R7 # G 1 2R8/R7 ADC_FS_MV 200.0 # ICL7107 在 Vref100mV 时的基本满量程 COUNTS 2000 # 3½ 位最大计数 1999按 2000 算 bridge_fs SENS_MV_PER_V * VEXC # 桥路满量程输出 amp_fs bridge_fs * GAIN # 放大后电平 per_gram_uv amp_fs / (FULL_SCALE_KG * 1000) * 1000 # 每克对应微伏 print(f桥路满量程: {bridge_fs:.2f} mV) print(f放大后: {amp_fs:.2f} mV增益 {GAIN:.2f}) print(f占 A/D 量程: {amp_fs / ADC_FS_MV * 100:.1f}%) print(f每克电平: {per_gram_uv:.1f} uV/g) print(f理论分辨率: {FULL_SCALE_KG * 1000 / COUNTS:.2f} g)跑出来是桥路 10.00mV放大后 127.65mV占满量程 63.8%每克对应 63.8µV理论分辨率 1g。63.8% 这个占用率是刻意留的。剩下 36% 的余量用来扛三件事传感器本身的零点偏移、放大器的失调电压、以及用户把 2.5kg 的东西硬放上去时不至于立刻溢出。很多方案一上来就把增益顶到 20 倍、占满 100%结果空载零点一漂就溢出只能回头改电阻。提示如果你手上的传感器灵敏度是 1mV/V 而不是 2mV/V桥路满量程只有 5mV同样增益下只占 32%分辨率掉一半。这时要把 R7 从 5.1kΩ 换到 2kΩ 左右把增益抬到 31 倍。2.3 方案的组织结构按信号流分块不按器件分块拿到这份方案别按「电阻有哪些、电容有哪些」去读按信号流读。它的组织是四块单元电路每块内部再讲原理、参数、连线电源与基准部分 ├─ 5V 稳压桥路激励 数字电路 └─ -5V 产生ICL7107 的 V- 引脚 测量电桥部分 ├─ 四片箔式应变片全桥 ├─ 零位调整电位器 RP1 └─ 桥路滤波电容 差动放大部分 ├─ LM358 第一级A1/A2 ├─ 增益电阻 R7、反馈电阻 R8×2 └─ 调零电位器 RP2、RP3 A/D 与显示部分 ├─ ICL7107 积分网络Rint、Cint、Caz、Cref ├─ 时钟 RC └─ 共阳数码管三位 小数点这个分层的好处是调试时能逐段隔离。上电后先量电桥输出再量放大器输出最后看数码管哪一段不对就停在哪一段不用整机猜。搭的顺序也照这个来先只焊电桥和稳压用万用表量空载和加载时的差分电压确认是 mV 级、方向正确再接放大级量输出是否在 100mV 出头最后才焊 ICL7107 和数码管。反过来先焊 A/D前级出问题时你分不清是 A/D 坏了还是信号没进来只能把所有焊点重新过一遍这是最费时间的做法。3. 测量电桥与应变片把 0.0005Ω 的电阻变化提取出来3.1 惠斯通全桥的四个桥臂与零位调整应变片受拉伸或压缩时敏感栅跟着变形电阻按 ΔR/R K·ε 变化K 是灵敏系数箔式片常见 2.0 左右ε 是应变。2kg 量程的弹性体满量程应变通常在 1000µε 上下对应 350Ω 应变片的电阻变化不到 1Ω。直接测这个电阻变化不现实所以用桥式电路把它转成电压。四个桥臂 R1R4 组成全桥一个对角线接激励 E另一个对角线取输出 UoE │ ┌────┴────┐ R1 R2 │ │ ├── Uo ──┤ │ │ R4 R3 └────┬────┘ │ E-空载时四个桥臂平衡Uo0。加载后对臂电阻同向变化、邻臂反向变化电桥失衡输出正比于载荷。全桥相对单臂的优势是灵敏度翻四倍而且四个片的温度漂移在桥内互相抵消。零位调整靠 RP1。实际应变片粘贴后有微小失配空载时电桥不会严格归零RP1 并在某个桥臂上做微调让空载输出压到 0V 附近。这一步必须在加载测试之前完成否则后面的增益和零点会互相干扰。3.2 桥臂输出与灵敏度估算不要凭感觉判断「信号够不够大」用公式算一遍# 全桥输出估算从应变推算差分电压 R_NOMINAL 350.0 # 应变片标称阻值 GF 2.0 # 灵敏系数 VEXC 5.0 # 激励电压 EPS_LIST [50e-6, 200e-6, 1000e-6] # 微应变轻载、中载、满量程 for eps in EPS_LIST: dR R_NOMINAL * GF * eps # 单片电阻变化量 vout VEXC * GF * eps * 1000 # 全桥输出单位 mV print(f应变 {eps*1e6:6.0f} uE - ΔR{dR:.4f} Ω, 桥路输出{vout:.2f} mV)输出大概是50µε 时 ΔR0.035Ω、桥路 0.5mV200µε 时 0.14Ω、2mV1000µε 时 0.7Ω、10mV。这组数字说明两件事一是满量程 10mV 和 2mV/V×5V 的标称值对得上选型没算错二是轻载区几百克桥路输出只有 12mV这段的信噪比最差放大器的失调和噪声在这里影响最大。原方案里提到应变片电阻变化范围可以低到 0.0005Ω对应的就是这种小载荷工况量级是对的。注意上面的 ΔR 是理论值。实际传感器出厂时四片应变片的 K 值有分散性满量程输出会在标称值的 ±10% 以内浮动所以增益电阻不能一次焊死R7 最好用可调电阻或者预留并联焊盘。3.3 应变片粘贴与走线的工程细节文档里给的是电路但真正让秤不准的往往是机械和工艺。几条我踩过的粘贴前必须打磨弹性体表面并彻底清洁胶层要薄而均匀胶层厚了会吸收一部分应变灵敏度直接掉十几个百分点而且这种损失在电路上补不回来。固化温度和时间按胶的说明走赶时间烤不干零点会随时间缓慢漂移。四片应变片的引线要走同一侧、等长、绞合并且固定在弹性体上做应力释放。引线悬空晃动会引入干扰手一碰读数就跳。桥路到放大器的连接线越短越好超过十几厘米就要考虑屏蔽屏蔽层单端接地两端接地会形成地环路反而更糟。桥路供电必须稳压。用实验室电源直接给 5V电网波动会按比例反映到输出上因为桥路输出正比于激励电压。这也是为什么方案里单独强调稳压电源 E——它不是可有可无的滤波而是精度的一部分。4. 差动放大与 A/D 转换LM358 提高电平ICL7107 输出数字4.1 三运放结构的增益推导与电阻取值传感器输出是差分信号两个输入端都有共模电压约 2.5V即激励的一半。直接送单端放大器共模会被一起放大所以要用差动结构。标准做法是三运放仪表放大器A1、A2 做第一级同相放大增益电阻 R7 跨接在两个反相端之间A3 做第二级差动把双端转单端。第一级增益公式是G 1 2·R8 / R7原方案取 R830kΩ、R75.1kΩ代入得 G≈12.76。这个值的意义在 2.2 节算过把 10mV 抬到 127mV正好落在 ICL7107 的 200mV 窗口里。# 增益电阻选型看不同 R7 下的增益和 A/D 占用率 def gain(r8, r7): return 1 2 * r8 / r7 BRIDGE_FS 10.0 # mV ADC_FS 200.0 # mV for r7 in (2.0, 3.3, 5.1, 10.0): g gain(30.0, r7) out BRIDGE_FS * g flag 溢出风险 if out ADC_FS * 0.95 else 可用 print(fR7{r7:4.1f}k - G{g:5.2f}, 输出{out:6.1f}mV, 占用{out/ADC_FS*100:5.1f}% {flag})R72kΩ 时增益 31 倍、输出 310mV直接溢出3.3kΩ 时 19 倍、190mV贴着上限零漂一点就超5.1kΩ 是甜点10kΩ 时 7 倍、70mV占 35%分辨率损失明显。这组数字就是选 5.1kΩ 的依据——先用计算排除再用实验确认不要凭直觉。4.2 单电源下的偏置、共模与调零电位器LM358 单电源 5V 供电输入共模范围含地电位但输出摆不到轨低端大约到 20mV高端离 V 差 1.5V 左右。这意味着输出信号不能贴着 0V否则负半周被削掉。处理办法是给输出抬一个直流偏置。方案里 RP21MΩ和 RP35kΩ就是干这个的RP2 提供失调调节范围RP3 做细调把空载输出调到 3050mV 附近让加载后的信号在这之上摆动永远不进入运放的非线性区。后级怎么接这里有个容易忽略的点。标准三运放需要三个运放LM358 只有两个。原方案的处理是省掉 A3 差动级把 A1、A2 的差分输出直接送进 ICL7107 的 IN / IN-。ICL7107 本身就是差分输入、共模抑制不错在 2kg 这个精度档位完全够用还省掉三只匹配电阻。代价是增益电阻和反馈电阻的精度直接决定共模抑制比。R8 两只必须配对误差超过 0.1% 就会让共模抑制明显变差表现为「手靠近电路读数就变」。这几只电阻建议用 1% 金属膜两只 R8 用万用表挑到接近同值再焊。调零的顺序是先短接两个输入端调 RP2 让输出落在中间电位再接入电桥空载调 RP1 让最终显示为零加载标准砝码看线性。顺序颠倒会导致调零和增益互相干扰调半天调不到。4.3 ICL7107 外围积分网络、基准与数码管接法ICL7107 是 3½ 位双积分 A/D内部集成译码器和 LED 段驱动直接推共阳数码管不占 MCU。它的工作原理是「对输入积分固定时间再对基准反向积分到零」积分时间由时钟决定所以对工频干扰有天然的平均效果——这是它在电子秤里流行几十年的原因。外围元件不多但每一只都影响精度元件典型值作用取值不当的后果Rint 积分电阻470kΩ设定积分电流太小会超量程太大会引入噪声Cint 积分电容0.22µF决定积分斜率介质吸收大的电容导致读数不稳Caz 自动调零电容0.47µF每个周期消除失调偏小则零漂明显Cref 基准电容0.1µF保持基准电压漏电导致满量程漂移时钟 RC100kΩ 100pF内部振荡器约 45kHz频率偏离 50Hz 整数倍会引入工频干扰基准电压 Vref 决定满量程ICL7107 的满量程输入是 2×Vref取 Vref100mV 就得 200mV 满量程。基准通常由分压加分压电阻得到这两只电阻的稳定性直接等于整机精度普通碳膜电阻温漂大夏天和冬天读数会差几个字。常见做法是用 TL431 之类的基准源或者至少用 1% 金属膜配对。时钟频率要特别注意积分时间是时钟周期的整数倍如果时钟频率让积分窗口不是 20ms50Hz 一个周期的整数倍工频干扰就抵不干净表现为末位数字固定跳动几个字。100kΩ 100pF 产生的约 45kHz 是常用组合换算后积分窗口接近 20ms 的整数倍。电源方面ICL7107 需要 5V 和 -5V 双电源V 接 5V、V- 接 -5V、GND 是中间地。如果手上只有单 5V可以用 ICL7660 这类电荷泵反相器产生 -5V成本很低。省略负电源是最常见的翻车点芯片看起来能上电但显示全灭或者乱码。数码管接法上ICL7107 驱动共阳极段输出低电平有效。三位数码管的段脚并联接芯片的 ag位选分别接 DIG1、DIG2、DIG3。小数点固定在第二位直接接到对应引脚或者串联限流电阻到地。限流电阻不能省段电流过大不仅发烫还会拉低电源电压影响 A/D 精度。4.4 两点标定把计数换算成克硬件调通之后读数是「计数」不是「克」。标定就是解一条直线# 两点标定0g 与 2000g 标准砝码解出斜率与截距 raw_zero 3 # 空载稳定后的读数 raw_full 1987 # 放 2kg 砝码后的读数 k (2000 - 0) / (raw_full - raw_zero) b -k * raw_zero def to_gram(raw): return k * raw b for raw in (3, 500, 1000, 1500, 1987): print(f读数 {raw:4d} - {to_gram(raw):7.1f} g)算出来斜率约 1.008 g/count零点偏移被截距抵消。实际标定建议加一个 500g 的中间点验证如果中间点偏差超过 ±2g说明系统有非线性常见原因是弹性体在大载荷下进入非线性区或者放大电路接近饱和。标定用的砝码必须比整机精度高一个等级。用 2kg 量程的秤去称 2kg 的砝码误差本身就有一个字标出来的斜率会带着这个误差。有条件就用 M1 级砝码没有条件至少用已知重量的标准件别拿一袋标称 2kg 的大米当基准。5. 避坑与排查调试台前最容易踩的五个坑5.1 现象上电数码管全灭或者三位全亮原因基本只有一个负电源没接或没产生。ICL7107 的 V- 引脚需要 -5V只给 5V 时内部逻辑不工作段驱动全关如果 V- 悬空可能出现三位全亮的异常状态。用 ICL7660 产生负压时还要检查它的振荡电容有没有焊、输出是否真的到了 -4.5V 以下。排除顺序先量 V 和 V- 对地电压再量 Vref 是否为 100mV最后才怀疑芯片。焊接时烙铁温度过高、或者带电插拔都可能把 ICL7107 打坏备一片替换是最快的判断方法。5.2 现象空载时读数缓慢漂移几分钟内从 0 漂到十几个字这是热漂移来源有三处应变片胶层没固化透、桥路激励电压不稳、放大器的失调温漂。LM358 的失调温漂在几十 µV/℃ 量级对应到 2kg 满量程 10mV 上温度变 10 度就会带来几个字的偏移属于正常范围。先要区分是不是热漂用手捂住传感器看读数变化速度如果一捂就快速变化说明是热敏如果一直缓慢单调漂多半是胶没干透或者焊点有虚接需要用烙铁补焊桥路的所有焊点。桥路四只应变片的引线如果长度不等温度梯度也会产生偏移这个只能靠布线解决。5.3 现象轻载准加载到 1.5kg 以后读数偏小轻载准、重载偏小是典型的非线性多半来自放大电路接近饱和。按 63.8% 的占用率算2kg 时输出 127mV理论上离 200mV 还有余量但如果传感器实际灵敏度比标称高 20%输出就到了 153mV再加上失调偏置运放输出可能已经进入非线性区。用万用表直接量放大器输出对地电压加载到 1.5kg 时看是不是已经贴近 4V单电源 5V 下的上限。如果是把 R7 换大一点降低增益或者把偏置电压调低。另一种可能是弹性体本身在大载荷下进入非线性这就不是电路能修的了只能换传感器。5.4 现象手靠近电路板末位数字就跳共模抑制不够。前面说过省掉第三级运放后共模抑制全靠 R8 两只电阻的匹配度。两只 30kΩ 电阻如果一只 30.0k、一只 30.3k共模抑制会掉到 60dB 以下人体感应的 50Hz 干扰就直接进到输出。解决办法把两只 R8 用万用表挑到 0.05% 以内或者换成排阻同一基板上的一致性更好。另外检查输入端有没有对地的高阻通路桥路到放大器的连线如果太长且没有屏蔽也会拾取干扰。信号线绞合、屏蔽层单端接地通常能压下去一大半。5.5 现象换了传感器满量程读数差了几百克不同批次的传感器灵敏度分散性很大标称 2mV/V 的实测可能是 1.8 或 2.2。换件后不重新标定读数必然偏。这不是故障是流程问题。正确做法是每次换传感器都走一遍完整标定空载调零、放满量程砝码、记录计数、重算斜率和截距。如果方案要量产就把增益电阻做成可调或者在软件里存标定系数。纯硬件方案没有存储能力只能靠电位器现场调这也是它后来被「ADC 单片机」方案取代的主要原因。6. 二次开发把这套模拟方案改成能连单片机的数字秤这套方案的价值不只在「能称 2kg」。它的模拟前端——全桥 差动放大 零位调整——是通用的后面接什么完全可以换。最省事的改法是把 ICL7107 整块换掉换成 HX711 这类专为称重设计的 24 位 ADC 模块。它的输入端直接接桥路差分信号内部带可编程增益常见 128 倍一路数字接口接 MCU。原来的 LM358 放大级可以整个删掉因为 HX711 的增益已经够把 10mV 抬到满量程少一级模拟放大就少一处漂移和噪声源。如果要保留模拟前端做教学演示那就把 ICL7107 换成 ADS1110 或 ADS1232 这类外部 ADC用 I2C 或 SPI 接单片机。这样能保留「电桥—放大—A/D」的完整链路同时拿到数字接口方便加去皮、单位切换、超载报警这些功能。两种改法的取舍改造路径保留环节优点代价换 HX711只保留电桥电路最简精度最高成本低失去模拟链路的教学价值换外部 ADC电桥 放大链路完整便于逐段测量放大级噪声仍是瓶颈保留 ICL7107 MCU 读段码全部不改硬件只加采集需要解析动态扫描时序麻烦第三种是很多课程设计会选的取巧路线不拆硬件直接从数码管的段选线上引信号给单片机读。这条路能走通但要处理的坑不少——ICL7107 的位选是动态扫描直接读会读到残影得在指定位选有效期间采样还要做消抖。我试过一次最后因为扫描时序对不上读数一直在两个值之间跳后来还是老老实实换了 ADC。验证改造是否成功别只看「数字变了」。我的习惯是准备三个砝码点200g、1kg、2kg每个点重复加载卸载五次记录读数极差再把整机放进空调房从 20℃ 升到 30℃看零点漂了多少字。这两个测试过不了功能再多也没意义。从那以后我每次动模拟前端都强制先做一遍「短接输入端看零点、接标准源看满量程」的两点检查确认链路本身没问题再去查传感器和机械。这个习惯省下的返工时间比任何调试技巧都多。希望帮到你。本文还有配套的精品资源点击获取