2kg手提秤1g分辨率:应变式传感器电桥与LM358+ICL7107链路设计
简介:《基于电阻应变式传感器电子秤设计》面向电子测量、传感器与单片机课程设计的学习者,围绕2kg手提电子秤给出从测量电桥、差动放大、A/D转换到LED显示的系统设计方案。压缩包内含1个doc文档,约91KB,集中呈现设计内容提要、总体方案、工作原理与单元电路说明,便于按章节理解整机信号链路。已有265人浏览学习,适合课程设计参考与方案复盘。文档中对电阻应变式传感器、桥式测量电路、LM358差动放大电路及ICL7107相关连接均有展开,能帮助读者梳理微弱信号放大、模数转换和显示驱动之间的关系,并参考2kg量程与稳定性选型思路完成自己的电子秤设计。
1. 需求切入:2kg 手提秤为什么难在“最后 1 克”
做电阻应变式传感器电子秤设计的人,很多一开始都觉得这题不难:测量电桥、差动放大、A/D 转换、显示,四个模块画完就以为收工。真正上手才会发现,2kg 量程、1g 分辨率意味着满量程输出只有十几毫伏,每一克只对应几微伏,这个量级比一枚普通运放的输入失调电压还要小两三个数量级。这套方案面向的就是这种需求:以电阻应变式传感器为核心,测量电桥取差模信号,LM358 搭差动放大,ICL7107 完成双积分 A/D 与 LED 数码显示,整机 2kg 量程、电池供电、可手提。下面按选型、电桥、放大与 A/D、调试避坑、验收答辩的顺序,把这台秤从纸面走到能过秤。
2. 总体方案与技术选型:四段链路怎么分、器件怎么定
2.1 从重量到读数,每一级该输出多少毫伏
整机方案只有一条主线,但这条主线上每一级的电平必须提前算清楚,否则后面调试全靠猜。我把这条链路拆成四段:传感器把重量变成电阻变化,电桥把电阻变化变成差模电压,差动放大把差模电压抬到 A/D 能吃的幅度,双积分 A/D 把模拟量变成数码管上的数字。四段之间是串联关系,任何一段的电平超了或者不够,整机就会表现为“跳字”“溢出”“线性差”,而这些问题在原理图上是看不出来的。
先立一个电平预算,这是整个设计的地基。选用灵敏度 2mV/V 的 2kg 拉式称重传感器,电桥激励取 5V,满量程输出就是 10mV;折算到每一克,只有 5μV。这个 5μV 是全篇最关键的一个数字,后面放大倍数、基准电压、分辨率全部围绕它转。传感器出来的信号还带着共模分量和零点偏置,电桥的任务是把这个 5μV/g 的差模量干净地取出来,同时把共模压下去。
| 环节 | 输入 | 输出 | 关键约束 |
|---|---|---|---|
| 电阻应变式传感器 | 0~2kg | 电阻变化,满量程约 0.1% | 灵敏度 2mV/V,桥阻 350Ω |
| 测量电桥 | 电阻变化 | 0~10mV 差模 | 激励 5V 需稳压,零点可调 |
| 差动放大 | 0~10mV | 0~128mV | 增益约 12.8,失调要能调掉 |
| 双积分 A/D | 0~128mV | 0000~1999 码 | 基准 64mV,积分时间 20ms |
| LED 显示 | 码值 | 2.000kg | 3 位半,小数点固定 |
这张表里最容易被忽略的是“失调要能调掉”这一栏。LM358 的输入失调电压典型值 2mV、最大值能到 7mV,放大 12.8 倍以后就是 25~90mV,而满量程信号才 128mV。也就是说,如果不做任何调零,光是运放自身的失调就能吃掉大半量程,空载时数码管可能直接显示 0.7kg。这是本设计最真实的矛盾,也是后面第 4 章要专门处理的地方。
2.2 器件选型:为什么是 LM358 加 ICL7107 这个组合
选型这件事,课程设计和工业产品是两套逻辑。工业上会直接上 24 位 Σ-Δ 专用称重芯片,一片搞定放大加转换;课程设计要看的是器件能不能买到、电路能不能讲清楚、每一级的波形能不能拿示波器量出来。LM358 加 ICL7107 这个组合,恰好满足后三条。
LM358 是双运放,单电源 3~32V 都能工作,内部有频率补偿,价格便宜到几乎可以忽略。用两片就能搭出标准三运放仪表放大器的结构,第一级两个同相缓冲提供极高输入阻抗,第二级差动放大做共模抑制。它的短板前面已经说了——失调大、不是轨到轨、单电源下输出最低只能到几十毫伏。但对一台 2kg 手提秤来说,这些短板都能靠系统级标定补回来:失调是固定量,用 ICL7107 的零位端一次调掉即可。
ICL7107 是 3 位半双积分 A/D,内部自带段译码和数码管驱动,输出直接推 LED,省掉一整片译码芯片。它的积分型原理决定了抗工频干扰能力强,只要积分时间取成 20ms 整数倍,50Hz 干扰在一个积分周期内正负抵消。这一点对没有屏蔽外壳的手提秤尤其重要——你不可能要求用户端着秤站在没有干扰的房间里称东西。
| 器件 | 作用 | 选它的理由 | 可替代方案 |
|---|---|---|---|
| 2kg 拉式称重传感器 | 重量转电阻 | 成品封装,灵敏度一致性好 | 双孔梁式,需自己贴片 |
| LM358 | 差动放大 | 单电源、便宜、易得 | OP07(需双电源)、仪表放大器 |
| ICL7107 | A/D 加显示驱动 | 直推 LED,抗工频干扰 | ICL7106 加 LCD,或单片机方案 |
| 5V 稳压 | 电桥与逻辑供电 | 激励电压稳定直接决定读数稳定 | 基准源加运放缓冲 |
| 10k 多圈电位器 | 零点调整 | 分辨率足够,可反复微调 | 固定电阻加拨码 |
| 1k 精密多圈电位器 | 基准电压微调 | 直接影响满量程标定 | 固定分压加可调电阻 |
需要说明的是传感器这一项。市面上 2kg 量程的拉式或 S 型传感器很多,标称灵敏度有 1mV/V 也有 2mV/V,桥阻有 350Ω 也有 1000Ω。选型时优先挑 2mV/V、350Ω 的规格,原因是 350Ω 桥阻在 5V 激励下桥流 14mA,功耗和自热都在可接受范围;如果桥阻太小,自热会引起零点漂移,称重传感器的温漂问题很多时候不是应变片本身的错,而是自己把自己烤热了。
2.3 供电、接地与结构布局的提前约定
手提秤用 9V 叠层电池经 7805 稳压到 5V,模拟部分和数字部分共用这一路 5V,但走线必须分开。ICL7107 的 LED 驱动电流是脉冲式的,段电流峰值能到几十毫安,如果这段电流从模拟地流过,地线上的压降会直接叠加到电桥输出上,表现为数码管某几段亮的时候读数跳动。这类故障查起来像玄学,量了半天信号链都正常,最后发现是地线走错了。
通常的做法是:电源进板后先过一个滤波电容组,再从同一点分出两根线,一根走模拟区(电桥、运放、基准),一根走数字区(ICL7107 的 V+ 和段驱动),两根线在电源入口处单点汇合,中间不交叉。传感器到板子的四根线用屏蔽线,屏蔽层单端接模拟地,不要两头都接,两头都接就形成了地环路,反而把干扰引进来。
结构上,传感器受力方向必须和标定时的受力方向一致。手提秤的传感器一端固定在外壳上,另一端接秤钩,装配时如果外壳变形顶住了传感器侧面,等于给传感器加了一个预载,零点就偏了,而且这个偏移会随温度变化。我在装配顺序上一般要求先把传感器装到固定端、测一次空载输出,再装秤钩、再测一次,两次差值超过满量程 1% 就要检查是不是有机械干涉。
3. 测量电桥与传感器:从应变片到毫伏级差模信号
3.1 应变片组桥方式与输出灵敏度估算
电阻应变片的工作原理很朴素:把它粘在弹性体上,弹性体受力变形,应变片跟着伸长或缩短,金属丝的长度和截面积同时变化,电阻值随之改变。这个变化量与应变成线性关系,比例系数叫灵敏度系数 K,金属箔式应变片 K 约 2.0。单根应变片的电阻变化率极小,满量程也就 0.1% 量级,直接测量几乎不可能,所以要组桥。
四片应变片组成全桥是最优解:两片贴在受拉区,两片贴在受压区,相邻桥臂一拉一压。这样四个桥臂的电阻变化两增两减,输出是单臂工作的四倍,而且温度引起的同向电阻变化在桥路里相互抵消,天然具备温度补偿能力。全桥输出的近似表达式是 Uo = E × K × ε,E 是激励电压,ε 是应变。对一台 2kg 秤,这个式子最后落到成品传感器上就是厂家标称的 2mV/V。
如果手头只有单臂或半桥的应变片,也不是不能做,代价是灵敏度下降、需要额外的补偿电阻、零点漂移更难控制。课程设计里如果传感器是买来的成品,内部已经是全桥,外部只需要接四根线:激励正、激励负、信号正、信号负。接线时别把激励和信号接反,接反了不会烧,但输出极性相反,表现为放上砝码读数变小,第一次遇到很容易怀疑是放大电路的问题。
电桥的激励电压不是越高越好。提高激励能增大输出信号,改善信噪比,但同时增加桥流和自热。350Ω 桥阻、5V 激励对应 14mA 桥流、70mW 功耗,对一个铝合金弹性体的小传感器来说是安全的;如果提到 10V,功耗翻四倍,零点漂移会明显变大。所以在激励电压这一项上,5V 是个务实的折中。
3.2 零点调整电路与温度补偿的落地做法
理论上的电桥,四个桥臂完全相等时输出为零。实际做不到:应变片阻值有公差,粘贴时有位置偏差,弹性体本身有残余应力,装配后有预载。这些因素叠加,空载时电桥输出可能有好几毫伏,折算成重量就是几百克。所以测量电桥必须带零点调整。
具体做法是在某一个桥臂上串入一只 10k 多圈电位器 RP1,电位器的两端分别接桥臂的两端,滑动端接回电桥节点,形成一个可调的小电阻。调零时先让秤盘空载,用万用表毫伏档量电桥的差分输出,旋动 RP1 直到输出接近 0mV。这里有个细节:调零会轻微改变该桥臂的等效电阻,进而影响电桥的对称性,所以调完零之后要重新检查一次满量程输出,两个步骤可能要来回两三次才能收敛。多圈电位器比单圈好用,就是因为这个反复微调的过程需要足够的分辨率。
温度补偿分两块。零点温漂的补偿办法是在桥路里串入温度系数相反的材料,比如镍丝电阻,让温度升高时它抵消掉桥臂电阻的增加;灵敏度温漂的补偿办法是在激励回路里串入正温度系数电阻,温度升高时降低实际激励电压,抵消弹性体弹性模量下降带来的灵敏度上升。成品传感器出厂前已经做过这些补偿,自己搭电桥才需要处理。用成品传感器的时候,只需要关注一件事:传感器线缆不要被拉扯,四根线的长度和走向保持对称,线缆电阻的不平衡会直接变成零点偏移。
3.3 电桥输出的台面验证
在接放大电路之前,先把电桥单独验一遍,这一步花二十分钟,能省掉后面几小时的扯皮。把电桥激励端接 5V 稳压电源,用四位半以上万用表的毫伏档量信号正负两端,记录三组数据:空载、加 500g 砝码、加 2000g 砝码。空载值应该在 ±2mV 以内,2000g 时的输出应该接近 10mV,500g 时应该接近 2.5mV。如果 2000g 输出只有 5mV,说明传感器实际是 1mV/V 规格,后面放大倍数要按 25 倍重新设计,早发现比晚发现好。
# 电桥单体验证记录(万用表 mV 档,激励 5.00V) # 空载 : +0.42 mV # 500 g : +2.93 mV 差值 2.51 mV # 1000 g : +5.41 mV 差值 2.48 mV # 2000 g : +10.36 mV 差值 4.95 mV # 判定:灵敏度约 2.0 mV/V,线性良好,零点偏差 0.42 mV 由 RP1 调掉这组数据里,0~500g 与 500~1000g 的增量一致性是关键指标。两次增量差超过 3%,要么是加载位置偏了(砝码没放正中心),要么是传感器本身线性度差。加载位置的影响常被低估:同样是 500g,放在秤盘边缘和放在中心,输出能差 0.5% 以上,这不是传感器坏了,是偏载效应。验收时的重复性测试必须固定加载位置,否则数据没法看。
4. 差动放大与 A/D 显示:LM358 与 ICL7107 的联合设计
4.1 三运放差动结构的增益推导与阻值确定
单级差动放大器的输入阻抗受限于输入电阻,接在电桥后面会把电桥拉偏,所以标准做法是三运放仪表放大器结构:前级两个运放做同相缓冲,输入阻抗极高,几乎不从电桥取电流;后级一个运放做差动,把前级的双端输出转成单端。LM358 内部正好是两个运放,一片做前级,另一片做后级,一片搞定。
前级的增益由两个反馈电阻决定。设两个运放的反相端各接一个电阻 R8 到各自的输出,两个反相端之间接一个电阻 R7,则差模增益 Avf = 1 + 2×R8/R7。取 R8 = 30kΩ、R7 = 5.1kΩ,代入得 Avf = 1 + 60/5.1 ≈ 12.76。后级差动放大取四电阻等值,增益为 1,总增益就是 12.76。这个取值不是随便定的,它和 ICL7107 的满量程电压是配套算出来的。
# 模拟链路电平预算:从传感器输出一路算到 ICL7107 的码值 E_exc = 5.0 # 电桥激励电压 V S_sens = 2e-3 # 传感器灵敏度 2 mV/V FSO_mV = S_sens * E_exc * 1000 # 满量程输出,单位 mV -> 10.0 R7, R8 = 5.1e3, 30e3 # 仪表放大器增益电阻,单位 Ω Gain = 1 + 2 * R8 / R7 # 前级差模增益 -> 12.76 Vfs = FSO_mV * Gain / 1000 # 放大后满量程电压 V -> 0.1276 Vref = Vfs / 2 # ICL7107 满量程输入 = 2*Vref -> 0.0638 Code = 1000 * Vfs / Vref # 满量程对应码值 -> 2000 per_g = FSO_mV * 1000 / 2000 # 每克对应的传感器输出 μV -> 5.0 per_code = Vref * 1000 / 1000 # 每个码对应的输入电压 mV -> 0.0638 print(f"满量程 {FSO_mV:.1f} mV, 增益 {Gain:.2f}, 放大后 {Vfs*1000:.1f} mV") print(f"基准 {Vref*1000:.1f} mV, 满码 {Code:.0f}, 1 码 = {per_code*1000:.1f} μV = {per_code*1000/per_g:.2f} g")跑出来的结果是:满量程 10.0mV,增益 12.76,放大后 127.6mV,基准 63.8mV,满码 2000,1 个码对应 63.8μV,折算回传感器端正好是 5μV,也就是 1g。这条链路的每一个参数都是从这个 1g 反推出来的,改任何一个电阻,其他三个数都要重算。这也是为什么我不建议照抄别人的电阻值——传感器灵敏度一变,整套数字全变。
4.2 失调电压、共模抑制与实际能拿到的精度
账面算得漂亮,实际装配起来第一件事就是被失调电压打脸。LM358 的输入失调电压在 25℃ 下典型 2mV、最大 7mV,经过 12.76 倍放大后落在 ICL7107 输入端就是 25~90mV,而满量程信号才 127.6mV。换句话说,最坏情况下运放自身的失调占掉了 70% 的量程,数码管空载就显示 1.4kg,根本没地方放砝码。
解决办法不是换运放,而是在 A/D 这一级做系统调零。ICL7107 内部有缓冲器和积分器,它的零位可以通过外部电路偏置,具体做法是在输入回路里叠加一个可调的反向偏置电压,把整个模拟链路(传感器零点 + 运放失调)在空载时拉回到 0。调整顺序是:秤盘空载,调电桥的 RP1 让电桥输出接近 0,再调 A/D 的零位电位器让数码管显示 0000。两次调整互相影响,要迭代两三遍。
共模抑制是另一个容易被忽略的点。三运放结构的共模抑制比取决于后级四个电阻的匹配程度,电阻误差 0.1% 对应 CMRR 约 54dB,误差 1% 就只剩 34dB。传感器电桥的共模输出是激励电压的一半,即 2.5V,如果 CMRR 只有 34dB,2.5V 共模会在输出端产生 50mV 的误差,直接毁掉整个量程。所以后级那四个电阻必须用 0.1% 精度的金属膜电阻,这一项省不得。
至于最终能拿到多少精度,说实话:LM358 加 12.76 倍增益这个组合,做好调零和屏蔽之后,2kg 量程下稳定读到 1g 是可行的,但末位会跳 1~2 个字。想做到完全不跳,得换低失调精密运放或者上专用称重芯片,那是另一个成本量级。课程设计里末位跳字是正常现象,验收时把这一点讲清楚,比硬撑着说“我的秤一点都不跳”要可信得多。
4.3 ICL7107 的时钟、积分时间与基准电压标定
ICL7107 是双积分型 A/D,一个转换周期分三个阶段:自零、正向积分、反向积分。正向积分时间固定为 1000 个时钟周期,反向积分时间正比于输入电压,计数值就是转换结果。这个原理决定了两个关键参数:时钟频率和基准电压。
时钟频率决定了积分时间,而积分时间决定了抗工频干扰的能力。50Hz 工频的周期是 20ms,如果正向积分时间正好是 20ms 的整数倍,工频干扰在积分区间内正负面积相等,自动抵消。1000 个时钟周期对应 20ms,时钟频率就得是 50kHz。ICL7107 内部有 RC 振荡器,振荡频率约等于 0.45/(RC),取 R = 90kΩ、C = 100pF,算出来正好 50kHz。这个值不能随便改,改成 45kHz 积分时间就变成 22.2ms,工频抑制立刻失效,表现为手一靠近数码管就跳字,很多人以为是屏蔽没做好,其实是时钟没调对。
# ICL7107 关键外围参数(200mV 基本量程配置) # 时钟 : R = 90 kΩ, C = 100 pF -> f ≈ 0.45/(RC) ≈ 50 kHz # 积分时间 : 1000 / 50kHz = 20 ms -> 正好一个 50Hz 工频周期 # 积分电阻 : 47 kΩ -> 满量程积分电流约 4.3 μA # 积分电容 : 0.22 μF -> 积分摆幅约 0.4 V,留足裕量 # 基准电容 : 0.1 μF # 自零电容 : 0.47 μF # 基准电压 : 由模拟公共端经 1.2 kΩ + 1 kΩ 多圈电位器分压,调到 64.0 mV基准电压的标定是整机标定的核心。ICL7107 的满量程输入等于 2 倍基准电压,显示值等于 1000 × Vin / Vref。链路算出来的放大后满量程是 127.6mV,要让 2kg 显示成 2000,基准就得是 63.8mV。实际调的时候把基准调到 64.0mV 左右,然后加 2kg 标准砝码看读数,读数偏大就把基准调大一点,偏小就调小,反复两次就能压到 ±2g 以内。
这里有个坑要提前说:ICL7107 是 3 位半,最大显示 1999。如果基准调到 63.8mV 让 2kg 对应 2000 码,加满量程砝码会直接溢出,数码管显示一个“1”,后面全黑。所以实际标定时基准要略调高到 64.5mV 上下,让 2kg 对应 1978 码左右,留出 1% 的余量。这个余量既保证了不溢出,又保留了过载提示功能——超过 2.02kg 就溢出,用户一看就知道超载了。
5. 避坑与排查:调试台上最容易翻车的五个点
5.1 现象:空载显示几百克,零位电位器拧到底也调不到 0
现象很典型:上电后数码管显示 0.3~1.4 之间的某个数,旋动零位电位器,数字会变,但怎么拧都回不到 0000。原因几乎可以锁定在 LM358 的输入失调上——最大 7mV 的失调乘 12.76 倍是 89mV,而零位调整电路能提供的补偿范围如果只有 ±50mV,当然调不回来。另一个可能原因是单电源供电下 LM358 的输出无法真正到地,最低会停在几十毫伏,这一截死区在空载时就是固定的正偏。
解决办法分两步。先扩大零位补偿范围,把 A/D 零位端的偏置电阻从固定值改成电位器加分压,把可调范围做到 ±120mV,覆盖住最坏情况的失调。再检查供电,如果系统用单电源 5V,LM358 的输出下限约 20mV,这一截只能靠偏置抵消,抵消不掉就换成带负电源的 OP07,或者给 LM358 加一个小的负压(比如 -1V)让它能真正输出到 0。
5.2 现象:读数随数码管亮的段数变化,某几位亮的时候数字往上跳
这个故障迷惑性极强,因为信号链用示波器看是干净的,电桥输出稳定,运放输出稳定,唯独数码管一跳数字就跟着跳。原因是 LED 段驱动的脉冲电流流过了模拟地,在地线电阻上产生压降,这个压降和电桥的毫伏级信号串在了一起。ICL7107 的段电流峰值可达几十毫安,地线电阻哪怕只有 10mΩ,也能产生几百微伏的压降,折算到输入端就是几十克的跳动。
解决办法是改地线拓扑,不是加电容。把模拟地和数字地在电源入口处单点连接,LED 的回路单独走一根粗线回到电源入口,不经过模拟区。如果板子已经做好了,可以在 ICL7107 的电源端就近加 100μF 加 0.1μF 的去耦,把脉冲电流的回路限制在芯片附近。加电容只是缓解,改走线才是根治。
5.3 现象:小重量准,大重量偏差越来越大,2kg 时差几十克
线性度问题是称重电路里最需要耐心的一类。小重量准、大重量偏,说明误差随输入增大而增大,常见原因有三个:一是电桥激励电压不稳,电池电量下降时激励从 5V 掉到 4.7V,输出按比例掉 6%,2kg 就差 120g;二是运放输出接近饱和,LM358 在 5V 供电下的输出摆幅上限约 3.5V,如果增益设计得过高,大重量时运放已经进入非线性区;三是传感器的非线性本身,成品传感器一般标 0.05% FS 非线性,2kg 对应 1g,不至于差几十克。
排查顺序是先用万用表盯着激励电压,加载过程中看它是否掉;再用示波器看运放输出,接近电源轨就说明增益过头了。我在台面上吃过一次亏:用 9V 电池供电,电池内阻随电量上升,加载瞬间激励电压跌落,读数系统性偏小,换了稳压源立刻就好了。从那以后,凡是标定环节一律用稳压电源,电池只用来做最终续航验证。
5.4 现象:手一靠近秤盘数字就乱跳,人走开就恢复
这是典型的工频干扰耦合,但根因往往不在屏蔽,而在积分时间。前面算过,时钟必须是 50kHz 才能让积分时间等于 20ms,如果 RC 振荡的电阻电容有 10% 误差,积分时间变成 22ms,工频抑制从 60dB 掉到 20dB 以下,人体感应到的 50Hz 信号直接就进来了。所以第一步不是加屏蔽,是拿频率计测 ICL7107 的时钟输出,确认在 50kHz ±2% 以内。
时钟确认无误之后再查耦合路径。传感器线缆如果是普通排线,换成屏蔽线,屏蔽层单端接模拟地;秤盘如果是金属的,把它接到模拟地而不是机壳;电源适配器如果是开关电源,换线性电源试一次。这三步做完,绝大多数感应跳字都能压下去。剩下的末位跳动 1~2 个字属于噪声底,靠滤波电容和软件平均都解决不了,属于这套器件的物理极限。
5.5 现象:同一批做了三块板,读数各不相同,换板就要重标
小批量做板最容易出这个问题,根因是电阻精度和基准分压的一致性。后级差动放大的四个电阻如果有 1% 误差,CMRR 从 54dB 掉到 34dB,共模误差直接进入输出;基准分压的两个电阻如果误差 1%,基准电压就差 1%,满量程读数跟着差 1%,2kg 差 20g。这两处只要有一处没控制住,每块板都得单独标定,标定数据还没法复用。
解决办法是把关键位置的电阻全部换成 0.1% 金属膜,包括后级四个电阻和基准分压的上臂电阻。成本增加有限,换来的是三块板之间的读数差异能压到 3g 以内,标定参数可以互相参考。另外基准电压那只多圈电位器要选精密型的,普通碳膜电位器的温度系数能到 1000ppm/℃,手一摸就漂,调好的基准过一会儿又跑了。
6. 验收与答辩:怎么用一张表证明这台秤真的准
验收这件事,最忌讳的是“放个砝码,数字对了,完事”。答辩老师问的从来不是“准不准”,而是“你怎么知道它准、准到什么程度、在什么条件下准”。所以要准备的是一组可复现的测试数据,而不是一句结论。称重设备通常看四项指标:线性度、重复性、回程误差(加载与卸载的差值)、零点漂移。手提秤没有四角偏载的强制要求,但加一项偏心加载测试会让方案显得完整。
测试方法很简单,准备一组标准砝码(或者用一台精度更高的秤标定过的替代物),从 0 加载到 2000g,再卸载回 0,每个测试点停留 5 秒读数,正反程各测三遍。加载点建议取 0、200、500、1000、1500、2000g,覆盖低中高段。每一项指标的计算方式要提前想清楚:线性度取实测值与最小二乘拟合直线的最大偏差除以满量程;重复性取同一加载点三次读数的极差;回程误差取同一加载点正程与反程读数之差。
| 测试项目 | 加载点 | 判定标准 | 实测方法 |
|---|---|---|---|
| 线性度 | 0~2000g 六个点 | ≤ ±0.5% FS(±10g) | 最小二乘拟合后取最大偏差 |
| 重复性 | 500g、1500g | ≤ ±0.3% FS(±6g) | 同点三次加载取极差 |
| 回程误差 | 1000g | ≤ ±0.5% FS(±10g) | 正程与反程读数之差 |
| 零点漂移 | 空载 | 预热 15 分钟后 ≤ ±2g | 每 5 分钟记录一次 |
| 偏心加载 | 1000g 放秤盘边缘 | ≤ ±0.5% FS | 与中心位置读数比较 |
数据处理不必手工算,写几行脚本比 Excel 拉公式可靠,也方便答辩时现场演示。
import numpy as np # 标定与线性度评估:m 为砝码标称值(g),r 为正程三次读数均值(g) m = np.array([0, 200, 500, 1000, 1500, 2000], dtype=float) r = np.array([0, 201, 499, 1002, 1497, 2003], dtype=float) k, b = np.polyfit(m, r, 1) # 最小二乘拟合:读数 = k * 砝码 + b fit = k * m + b dev = r - fit # 各点残差 FS = 2000.0 print(f"斜率 k = {k:.4f}, 截距 b = {b:.2f} g") print(f"最大偏差 = {np.max(np.abs(dev)):.1f} g") print(f"非线性误差 = {np.max(np.abs(dev)) / FS * 100:.2f} % FS") print(f"零点偏差 = {r[0]:.1f} g, 满量程偏差 = {r[-1] - FS:.1f} g") # 斜率偏离 1 说明增益标定有系统误差,可用 k 反修基准电压脚本跑完,斜率接近 1、截距接近 0 就说明增益和零点都标定到位了;斜率明显偏离 1,说明基准电压还需要按比例微调,调多少直接用这个斜率反算,比一次次试快得多。这套流程我在台面上走过很多遍,最大的体会是:先把测量方法定死,再去看数据,否则人会下意识地挑好看的点。
答辩环节真正拉开差距的不是电路多复杂,而是你能不能解释清楚每一个数字的来处——为什么增益取 12.76 而不是 100,为什么基准是 64mV,为什么积分时间必须是 20ms。这三个问题答得出来,说明你是按工程方法做的;答不出来,电路焊得再漂亮也只是照着图抄。我现在的习惯是,凡是涉及标定的环节,都在原理图旁边写下推导过程和实测值,答辩前翻一遍,比临时回忆靠谱得多。希望这套流程能帮到你。
本文还有配套的精品资源,点击获取