简介:围绕电阻应变式传感器设计手提电子秤的技术文档,面向电子信息、自动化专业的课程设计学习者及电子设计实践者。内容以2kg量程电子秤为主线,依次讲解测量电桥、差动放大、A/D转换与LED显示四部分电路,重点分析电阻应变片将重量变化转为微小电阻变化的原理,并给出桥式测量电路的零点调节思路;放大环节采用LM358构成典型差动放大器,说明微弱信号放大倍数推导及其与ICL7107双积分A/D转换器的连接方式,附系统原理图和单元电路图,便于对照理解整机信号链路。压缩包内为1个doc文档,约91KB,篇幅紧凑,适合作为课程设计报告或方案参考。已有2026人学习,可帮助读者快速梳理传感器选型、电桥调试、放大电路参数计算与显示电路联调等关键环节。
1. 一台读数乱跳的手提秤:2kg 电阻应变式电子秤的难点在哪
帮人调一块 2kg 手提电子秤的板子,通电后数码管从 0000 慢慢爬到 0037,用手按住秤盘数字反而往下掉。这套电阻应变式传感器电子秤设计的物料清单其实很朴素:一片箔式应变片、一片 LM358、一片 ICL7107 加三位半数码管,成本几十块钱,但它把模拟电路里最容易出问题的东西全凑齐了——微伏级差分信号、共模抑制、运放失调温漂、基准电压稳定性,任何一环没算清,读数就完全没法预测。
这份资料给的是一套完整链路:测量电桥、差动放大、双积分 A/D 转换、LED 显示四段电路,称重范围 2kg,原理图和器件参数都落在纸面上。适合两类人看:一类是要做课程设计、需要一张能把“重量怎么变成数字”讲清楚的完整原理图;另一类手上有应变片和万用表,想把这套东西真正焊出来跑通一次。下面按信号流的顺序拆,从电桥一直拆到数码管,中间该算的账都算给你看。
2. 总体方案拆解:重量信号怎么从电桥走到数码管
2.1 四段信号链与每一级的电平账
这套方案的骨架非常经典:应变片把重量变成电阻变化,电桥把电阻变化变成电压,差动放大把毫伏抬到百毫伏,双积分 A/D 把模拟电压变成计数,最后七段译码驱动数码管。四段之间不是随便接的,每一级的输出量级必须刚好落在下一级的输入范围内,否则要么分辨率不够,要么直接超量程。
| 环节 | 输入量级 | 输出量级 | 核心器件 | 设计要点 |
|---|---|---|---|---|
| 测量电桥 | ΔR≈0.0005~0.1Ω | 0~10mV 差分 | 箔式应变片 R1~R4 | 桥压稳定、零位可调 |
| 差动放大 | 0~10mV 差分 | 0~128mV 单端 | LM358 + R7/R8 | 增益固定、共模抑制 |
| A/D 转换 | 0~128mV | 0~1999 计数 | ICL7107 | 基准 100mV、积分时间 |
| 显示 | 计数 | 4 位七段 | 共阳 LED | 小数点位置、限流 |
把它写成一句话:2kg 满量程对应传感器输出 10mV,放大 12.76 倍后是 127.6mV,ICL7107 在 200mV 满量程下刚好吃得下,还留了 36% 的余量。这个余量不是浪费,是留给零位偏移和传感器一致性的——你买不到两片灵敏度完全相同的应变片。
提示:先算账再画图。很多板子返工,不是焊错,是链路预算从一开始就不成立,比如放大倍数取 100 倍,结果空载就顶到满量程。
2.2 2kg 量程下的器件选型边界
传感器的选型直接决定了后面所有参数。常见做法是选 2kg 量程的拉式或压式称重传感器,内部就是四片应变片接成的全桥,桥臂电阻 350Ω,灵敏度标称 2mV/V。这两个数字是关键:桥臂 350Ω 决定了电桥的驱动电流和自热,2mV/V 决定了满量程输出。
激励取 5V 时,满量程输出 = 5V × 2mV/V = 10mV。如果取 10V 激励,输出变 20mV,看似更好,但 350Ω 桥臂上的功耗从 71mW 涨到 285mW,应变片自热会引起零点漂移,手提秤这种塑料壳里散热又差,所以我一般压在 5V。这也是为什么原理图里电桥供电要单独走一路稳压,而不是直接从 9V 电池或者 USB 上抓。
运放选 LM358 是这套方案的原始选择,理由很实在:双运放封装、单电源能工作、便宜、到处都有。它的短板也同样明显——输入失调电压典型 2mV、最大能到 7mV,失调温漂在 7μV/℃ 量级。这两个指标放到后面的放大链里会被放大 12.76 倍,直接决定你这台秤能不能稳定显示到克。
A/D 选 ICL7107,是因为它把双积分转换、七段译码、数码管驱动全塞进一片 40 脚 DIP 里,外围只需要几个电阻电容,不需要单片机,不需要写固件。对课程设计和小批量手工制作来说,这是最省事的路子。代价是分辨率锁死在 2000 计数,2kg 量程下理论最小分度就是 1g,再想细就得换 22 位 Σ-Δ 方案了。
2.3 用一段脚本把链路预算先算干净
画原理图之前,我习惯先用几行脚本把增益、满量程、分度、失调影响全跑一遍。这一步花十分钟,能省掉后面反复拆焊的时间。
# 2kg 手提电子秤链路预算 VEXC = 5.0 # 电桥激励电压(V),由独立稳压源提供 SENS = 2.0e-3 # 传感器灵敏度 2mV/V,即 2e-3 V/V CAP = 2.0 # 满量程 2kg R8 = 30e3 # 仪表放大器反馈电阻 30kΩ R7 = 5.1e3 # 仪表放大器增益设置电阻 5.1kΩ # 1) 传感器满量程差分输出 v_full = VEXC * SENS print(f"满量程差分输出: {v_full*1000:.2f} mV") # 2) 差动级增益 Av = 1 + 2*R8/R7 Av = 1 + 2 * R8 / R7 print(f"放大倍数: {Av:.2f}") # 3) 放大后电压是否落在 ICL7107 的 200mV 量程内 v_out = v_full * Av print(f"放大后满量程: {v_out*1000:.1f} mV (量程 200mV)") print(f"量程余量: {(1 - v_out/0.2)*100:.1f}%") # 4) 每克对应的电压,以及 A/D 每位计数对应的重量 per_gram = v_full / (CAP * 1000) print(f"灵敏度: {per_gram*1e6:.2f} uV/g") # 5) LM358 失调被放大后的等效重量误差 VOS = 2e-3 # 典型输入失调 2mV print(f"失调等效重量误差: {VOS*Av/per_gram:.0f} g") print(f"温漂 7uV/℃ 等效: {7e-6*Av/per_gram:.1f} g/℃")跑出来的结果值得逐行看。满量程差分输出 10mV,增益 12.76 倍后是 127.6mV,占 200mV 量程的 63.8%,余量充足。每克对应 5μV,也就是说 A/D 要分辨 5μV 才能显示到 1g——这个量级已经和运放失调、PCB 热电势、接触电阻在同一张桌子上了。
最后两行是最容易被忽略的:2mV 的输入失调放大后等效 255g 的零点偏移,靠 RP1 手动调零能压掉,但 7μV/℃ 的温漂放大后相当于 17.9g/℃,室温变 5 度,零点就漂将近 90g。这不是理论推导,是这类课设秤“刚上电准、过一会儿就不准”的根本原因。要根治只能换低失调运放,后面第 6 章会讲怎么改。
注意:脚本里的 R8、R7 直接取自原理图标注的 30kΩ 和 5.1kΩ。如果你要改量程或改传感器灵敏度,先改这两个参数重跑一遍,别急着动烙铁。
3. 模拟前端:测量电桥与 LM358 差动放大的实战细节
3.1 惠斯通电桥为什么是应变片的必然选择
应变片受力后电阻变化极小,资料里给的量级是 0.0005~0.1Ω。以 350Ω 桥臂算,相对变化只有 1.4ppm 到 286ppm,你用万用表直接量根本量不出来。惠斯通电桥的作用就是把这丁点电阻失衡转换成可测的电压失衡。
四臂电桥的输出关系是:
Uo = (E/4) × (ΔR1/R1 - ΔR2/R2 + ΔR3/R3 - ΔR4/R4)单臂工作时只有一片应变片变化,输出是 E/4 × ΔR/R,效率最低;全桥四臂都参与,相邻桥臂一拉一压,输出变成 E × K × ε,是单臂的 4 倍。市面上的称重传感器基本都是全桥结构,出厂时四片应变片已经贴好、温度补偿已经做完,你拿到的就是一个四线或六线器件。
六线传感器多的两根是激励正反馈线,用于消除长线缆上的压降——手提秤线短,四线接法足够,多出来的两根并在激励端即可。这一点在接插件上很容易接错,接反了电桥直接没输出,表现为数码管一直显示 0000 或者超量程的 -1。
3.2 零位调节 RP1:它调的不是放大倍数
原理图里 RP1 是接在电桥一侧的滑动变阻器,作用是零位调节。空载时四个桥臂理论上应该完全平衡,输出为零,但实际上应变片阻值有公差、粘贴有残余应力、桥臂引线电阻也不完全相等,空载输出可能是 0.5mV 甚至 2mV。这个偏移经过 12.76 倍放大就是 6~25mV,直接吃掉两成量程。
RP1 的做法是在某个桥臂上并联或串接一个可调电阻,人为制造一点可控的不平衡去抵消固有失衡。调节步骤不能颠倒:
- 秤盘空载,静置 30 秒让应力释放
- 观察数码管读数,如果显示正数,说明电桥输出偏正
- 缓慢旋转 RP1,把读数压到 0000 附近
- 放上 2kg 标准砝码,检查满量程读数
- 如果满量程对不上,先调基准或增益,再回来重调零点
第 4 步和第 5 步为什么不能颠倒?因为零点和增益在真实电路里是有轻微耦合的,调完增益,零点会跟着动一点点。我的习惯是零点、满量程、零点,来回走两到三遍,最后一遍一定要停在零点上。这个迭代过程在工厂里叫标定,在实验室里就是拿螺丝刀反复拧——拧的时候别用金属螺丝刀头,感应会干扰读数。
提示:RP1 一定要选多圈精密电位器。单圈电位器转一度跳好几个字,你永远调不到位,这是很多人卡在这一步的原因。
3.3 LM358 差动级的结构与增益公式
资料里给的结构是两级同相放大器加后级差分的仪表放大器拓扑,增益公式是 Avf = 1 + 2R8/R7,取 R8 = 30kΩ、R7 = 5.1kΩ 时增益 12.76 倍。这个公式的推导思路是这样的:
第一级两个同相放大器共享 R7,输入 Vi1、Vi2 流过 R7 的电流 I = (Vi1 - Vi2) / R7 同相端电压差被 R8 抬升,输出差模电压 Vo = (1 + 2*R8/R7) * (Vi1 - Vi2)关键在于“共享 R7”这四个字——R7 跨接在两个运放的反相端之间,差模信号在它上面产生电流,共模信号在它两端电压相等、不产生电流。所以第一级对差模有增益,对共模几乎不放大,这就是仪表放大器共模抑制的来源。
LM358 是双运放,一片只能装下第一级的两个同相放大器,后级差分通常用另一片 LM358 或者四个精密电阻搭成增益为 1 的减法器完成。如果你手头只有一片 LM358,常见的替代做法是用电阻网络做差分,代价是共模抑制会下降,对电阻匹配精度要求反而更高。资料里标注的 30kΩ/5.1kΩ 和 1MΩ 电位器 RP2 分别对应增益设置和平衡微调,RP2 的作用是补偿 R8 配对误差,调它的时候要保证两个输入端接同一个电位(短接),然后调 RP2 让输出为零。
3.4 失调、共模与单电源偏置这三笔账
第一笔是失调。前面算过,2mV 输入失调等效 255g 零点偏移。RP1 能调掉固定失调,但调不掉温漂。LM358 的失调温漂手册典型值 7μV/℃,放大后 17.9g/℃,这是这类方案的天花板。你如果发现“早上开机准、中午就不准”,大概率不是电路焊错了,是运放在跟着环境温度跑。
第二笔是共模。电桥双端输出时,两端的共模电压都等于 E/2 = 2.5V。差动级要放大的差模只有 10mV,共模却有 2.5V,共模抑制比不够的话,共模的任何波动都会串到输出。桥压不稳、电源纹波、地线压降,都会以共模形式进来。所以电桥激励必须用稳压源,而且电桥地和放大级地要单点连接,不要形成地环路。
第三笔是单电源偏置。LM358 在单电源 5V 下工作,输入共模范围是 0 到 Vcc-1.5V,输出也摆不到轨。电桥共模 2.5V 正好落在范围内,但输出摆幅要留神:如果放大后的信号被抬到接近 5V 或者压到 0V 附近,运放就进入非线性区,读数会卡死在两端。这也是为什么满量程设计要留 36% 余量,而不是贴着 200mV 用满。
注意:如果上电后发现读数一直顶在最大值或最小值不动,先量运放输出脚的直流电平。贴在 0V 或 5V 上,说明已经削顶,回头查增益和零位,别去怀疑 A/D。
4. 数字后端:ICL7107 双积分 A/D 与数码管显示的参数配置
4.1 双积分为什么天生抗工频干扰
ICL7107 内部是双积分型 A/D,一个转换周期分三段:自动调零、信号积分、反积分。信号积分段对被测量做固定时间 T1 的积分,反积分段用基准电压往回积,直到积分器回到零,记录回零所用时间 T2。被测电压正比于 T2/T1,而 T1 是由时钟决定的固定值,所以最终结果只跟基准电压和时钟有关,跟积分电容的容值、运放的漂移基本无关。
这个结构的好处是“积分”本身就是个低通滤波器。如果积分时间 T1 恰好等于工频周期的整数倍,工频干扰在积分区间内正负半周抵消,理论上完全被抑制。50Hz 的周期是 20ms,把 T1 设成 20ms 的整数倍就能获得很好的抑制效果。ICL7107 的信号积分时间是 1000 个时钟周期,所以:
T1 = 1000 / fosc 50Hz 抑制目标:T1 = 20ms → fosc = 1000 / 0.02 = 50kHz实际常用 48kHz 晶振或 RC 振荡,T1 ≈ 20.8ms,接近一个工频周期,抑制效果仍然不错。如果你在 60Hz 环境用,就按 T1 = 16.67ms 的整数倍反推时钟。时钟的 RC 取值一般在 100kΩ + 100pF 量级,用示波器量第 38 脚(OSC)能直接看到波形。
这里有个容易被忽略的点:ICL7107 的转换速率约 3 次/秒,意味着数码管每秒刷新三次。人眼看起来是连续的,但你如果拿它去称快速变化的东西,读数会跳。手提秤是静态称重,这个速率完全够用。
4.2 积分电阻、积分电容、基准与时钟的取值
外围参数不是随便挑的,每个都对应一个约束。我把常用配置整理成一张表,取值按 200mV 满量程给出:
| 元件 | 典型值 | 作用 | 取值依据 |
|---|---|---|---|
| Rint(积分电阻) | 47kΩ | 限制积分电流 | 满量程输入电流约 4μA,太小运放带不动 |
| Cint(积分电容) | 0.47μF | 决定积分摆幅 | 保证反积分阶段不饱和 |
| Cref(基准电容) | 0.1μF | 稳定基准 | 介质吸收小的薄膜电容 |
| Rref(基准分压) | 1kΩ + 电位器 | 产生 100mV 基准 | 满量程 = 2×Vref |
| Rosc / Cosc | 100kΩ / 100pF | 时钟振荡 | 决定积分时间与工频抑制 |
| 段限流电阻 | 330Ω | 保护数码管 | 每段电流控制在 8mA 左右 |
基准电压这一栏要特别说。ICL7107 的满量程是基准电压的两倍,所以要 200mV 满量程就配 100mV 基准。100mV 从 5V 电源分压而来,用 1kΩ 加一个多圈电位器,电位器负责微调。这个电位器同时承担了“满量程标定”的功能——放上 2kg 标准砝码,调它让数码管显示 2000(或者小数点后的 2.000),标定就完成了。
积分电阻和积分电容的搭配决定了积分器的摆幅。Rint 太小,积分电流大,运放输出会顶到电源轨;Rint 太大,输入偏置电流的影响就显出来了。手册推荐值是按满量程电压和允许的积分摆幅算出来的,别自己发挥。Cint 要用介质吸收小的 polypropylene 或者 polycarbonate,用普通瓷片电容会引入非线性,表现为不同重量段误差不一样。
4.3 数码管驱动、小数点与量程换算
ICL7107 直接驱动共阳七段数码管,段输出串限流电阻,位输出接数码管公共阳极。三位半的“半位”是最左边那一位,只能显示 1 或者不显示,所以最大读数是 1999。这个“1”是 A/D 超量程的标志,看到它闪说明输入电压超过了基准的两倍。
小数点怎么定?2kg 量程、2000 计数,1 个计数就是 1g,把小数点打在第三位,读数就是 0.000 到 2.000 kg,看起来最直观。如果你想让显示更稳一点,可以标定成 1800 计数对应 2kg,小数点打在第二位,显示 0.00 到 2.00,牺牲 1g 的分辨率换稳定性。这个取舍在实物上很明显:显示三位小数的时候,最后一位一直在跳,用户会觉得秤不稳;显示两位小数,读数纹丝不动,用户反而觉得可靠。
提示:数码管亮度和位数有关,四位同时点亮时公共端电流是段电流的四倍。如果发现显示暗淡或者闪烁,先查位驱动管的压降和限流电阻,不要直接换 A/D。
5. 避坑与排查:五条从焊台边捡回来的记录
5.1 上电就异常:先分清楚是模拟还是数字
现象一:通电后数码管全灭,或只有中间一横亮。原因多半是电源和时钟。ICL7107 需要 +5V 和 -5V 双电源(或用 9V 电池加稳压产生负压),只给单 5V 时芯片不工作。另一个原因是时钟没起振,RC 振荡的电容焊错容值或者漏焊,芯片就停在复位状态。 解决:先量芯片 1 脚和 21 脚的电压,确认正负电源都在;再用示波器或者频率档量 OSC 脚,正常应该看到 40~50kHz 的方波。没有波形就查 Rosc、Cosc 和芯片是否虚焊。
现象二:显示 “1” 或者 “-1”,无论怎么调都不变。这是超量程标志,输入电压超过了 2 倍基准。要么是基准没建立(基准电位器拧到底、分压电阻虚焊),要么是前级放大倍数太大、零位严重偏正。 解决:先把放大器输入短接,让输入为 0,看显示是否回到 000。如果还是 1,问题在基准或者 A/D 本身;如果回到 000,问题在前级,回头查电桥零位和增益电阻。
5.2 读数不稳:从失调、温漂追到安装应力
现象三:空载读数在 ±30 个字之间乱跳,用手靠近变化更大。原因有两层。一层是前级增益过高,把噪声一起放大了;另一层是差动级的四个电阻没有配对,共模抑制比不够,人体感应的工频信号以共模形式串进来。 解决:先断开电桥,把差动级两个输入端短接,看输出是否稳定。稳定说明问题在电桥或者走线,检查桥臂引线是否等长、地线是否单点接地;不稳定说明差动级电阻配对有问题,四个电阻要用 0.1% 精度,或者干脆换成集成仪表放大器。
现象四:刚上电很准,十几分钟后零点漂移几十克。这是温漂,不是故障。LM358 的失调温漂放大后等效十几克每度,加上应变片自热和桥压不稳,漂移是必然的。很多人第一反应是加大滤波电容,但漂移是直流特性,滤波救不了。 解决:短期内靠“去皮”功能规避,每次称重前先按一次清零;长期要换低失调低温漂运放,把桥压从 5V 降到 3V 减少自热,电桥供电单独用一颗低压差稳压器。
现象五:加载后读数回不到零,总差几个字。原因是机械,不是电路。传感器安装面不平、固定螺栓预紧力不均匀、弹性体存在残余应力,都会让零点产生滞回。手提秤的传感器通常用两颗 M4 螺栓固定,对角拧紧的力矩不一致,弹性体就是歪的。 解决:安装面加工平整度控制在 0.05mm 以内,螺栓按对角线顺序分两次拧紧,拧完先加满量程载荷压 24 小时做老化,再重新标定零点。这一步在实验室容易被跳过,但它是“同一台秤两次称同一袋米结果不一样”的常见来源。
注意:排查顺序永远是先电源、再基准、后前级、最后机械。反过来查,你会在一堆正常的地方反复怀疑人生。
6. 二次开发:从一块能显示的板子到一台能用的秤
把原理图变成能交付的实物,中间还差三件事:标定流程固化、量程切换、以及换掉那颗拖后腿的运放。
先说标定。手工拧电位器最大的问题是不可复现——今天调好的零点,明天换个环境又得重调。改进思路是把 RP1 换成数字电位器,用一颗 8 位单片机读两个按键,做“长按去皮、短按标定”的交互,标定值写进 EEPROM。这样每次开机自动加载零点补偿,用户按一下就能去皮,体验立刻从“实验室玩具”变成“能卖的东西”。
再说量程切换。现在这套参数是按 2kg、2mV/V、5V 桥压算死的,增益 12.76 倍。如果你换 5kg 传感器,满量程输出变成 25mV,放大后 319mV,直接超了 200mV 量程。改法有两条:一是把 R7 从 5.1kΩ 换成 10kΩ,增益降到 7 倍,输出 175mV 落在量程内;二是把基准从 100mV 提到 250mV,满量程变成 500mV,但积分电阻和积分电容要跟着调。我一般选第一条,只动一个电阻,风险最小。
最后说运放。LM358 是这套方案里最短板的一环,2mV 失调、7μV/℃ 温漂,放大 12.76 倍后等效 255g 零偏和 17.9g/℃ 漂移。换成低失调精密运放(OP07 这类,失调在几十微伏量级),零偏能压到个位数克,温漂降一个数量级。代价是要双电源供电、成本翻几倍,但对需要长期稳定显示到克的场景,这笔钱必须花。如果不想动电源结构,也可以用零漂移斩波运放,单电源就能工作,失调温漂接近零,是这两年在低成本秤里越来越常见的做法。
改造完怎么验证?我的习惯是跑三步:第一步,空载通电两小时,每 10 分钟记一次零点,看漂移曲线是否收敛;第二步,用 500g、1kg、1.5kg、2kg 四个点做加载和卸载,看同一重量正反行程的读数差,差值就是滞回误差;第三步,把板子放到 20℃ 和 35℃ 两个环境各静置半小时,比较满量程读数变化。这三步跑完,这台秤能不能用,心里就有数了。
从那以后我每次画完模拟前端,都会先把链路预算脚本跑一遍,把失调等效重量、温漂等效重量、满量程余量三个数写在原理图旁边,再动手画封装。很多返工不是因为不会画,是因为画之前没算。这套 2kg 电阻应变式电子秤的资料我整理好了,电桥、放大、A/D、显示四段电路和参数都在里面,拿去对着改比从零搭快得多,希望帮到你。
本文还有配套的精品资源,点击获取