资讯动态

基于电阻应变式传感器的电子秤:从选型到标定的完整设计指南

发布时间:2026/10/13 19:50:39 来源:尧图企业网站定制
简介这份资源是一份基于电阻应变式传感器的电子秤完整设计文档面向电子工程、测控技术等相关专业学生以及嵌入式或称重系统开发爱好者适用于课程设计、毕业设计和入门实践参考。文档以2kg量程手提电子秤为设计目标系统介绍了测量电桥、差动放大电路、A/D转换与显示电路的整体构成并附有系统原理图与详细单元电路推导过程。资源包内为1个doc格式文档大小约91KB内容紧凑、条理清晰便于直接阅读与复用。目前已有2025人次浏览学习。通过该文档读者可以掌握电阻应变式传感器的工作原理、桥式测量电路与LM358差动放大电路的设计方法理解ICL7107在A/D转换与显示环节的应用并据此搭建或改进自己的电子秤系统。适合希望通过完整实例快速上手称重电路设计、并需要可靠参考资料的用户。1. 为什么仍值得用电阻应变片做电子秤从一台漂移的秤说起朋友厂里一台配料秤空秤放着不动读数自己会飘十分钟能偏出十几克。工程师第一反应是“传感器坏了换一个”拆下来量桥臂阻值四个桥臂都在标称范围问题其实出在供电和接地。基于电阻应变式传感器的电子秤设计项目看起来简单真正做起来却是一门信号链工程应变片把重量变成电阻变化电桥把电阻变化变成差分电压24位ADC再把它变成码值最后用软件把码值翻译成克重。哪一环没处理好都会直接体现在跳字、漂移或标定失败上。下面从方案选型讲起一直到精度校验收尾中间每一步都给出可复现的参数和代码。2. 电阻应变式传感器选型量程、灵敏度与电桥信号计算先聊选型而不是直接贴电路是因为很多翻车案例不是电路问题而是量程选小了或者传感器灵敏度与后级ADC量程不匹配。这两件事决定了后续所有电路和软件参数拆了重来的成本最高。电阻应变式传感器的核心参数只有三个量程、灵敏度mV/V、桥臂电阻。把这三个数定下来整条信号链的电压预算就清楚了。2.1 应变片与惠斯通电桥为什么电子秤用四臂全桥而不是单个应变片电阻应变片的工作原理并不复杂金属箔或金属丝跟随弹性体一起变形时拉伸会使材料变长、截面变细电阻变大压缩则相反电阻变小。这个相对变化量ΔR/R通常只有千分之几直接测量电阻既不灵敏也不方便。惠斯通电桥的价值就是把微小的电阻变化转换成容易放大的差分电压。单臂电桥只有一个桥臂参与应变输出近似等于桥压乘以ΔR/(4R)信号小而且温度变化时电阻漂移会直接叠加到输出上。电子秤里几乎看不到单臂或半桥方案清一色用四臂全桥弹性体上贴四片应变片两片布置在受拉区两片布置在受压区。全桥输出约为桥压乘以ΔR/R比单臂高出一个数量级同时四个桥臂同向的温度漂移在差分输出里互相抵消。这个结构是电子秤零点稳定的基础换任何传感器都一样。不同量程的传感器机械结构也有区别。小台秤、厨房秤、珠宝秤大量用铝合金平行梁结构量程从几百克到几十千克优点是高度低、受力点单一、线性好。大台面或料罐秤则常用S型或轮辐式传感器。选型顺序我的习惯是先定常用称量区间再乘1.52倍余量选额定量程然后确认灵敏度最后看安装空间选结构。比如配料经常称34kg就选5kg传感器不要选3kg去顶格用长期贴着满量程跑会加速弹性体蠕变回零会越来越差。2.2 灵敏度、桥压与满量程输出动手算一组真实参数传感器输出能力用灵敏度表示常见范围是1.03.0 mV/V。它的含义很直接每给1V桥压满载时输出多少毫伏差分电压。拿最常用的5kg、2mV/V传感器举例桥压给到5V满量程输出就是 5V × 2mV/V 10mV。这个10mV就是后面所有电路设计的锚点。HX711这类24位桥式专用ADC增益选128、参考电压为5V时差分输入满量程约±39mV。10mV信号在39mV面前只占了约43%的动态范围很多人看到“24位”就觉得精度稳了实际上有效位数约22位依然够用。真正决定跳不跳字的是电源噪声和零点漂移位数只是保底。桥压的高低直接影响信号利用率但过高会让应变片自热导致零点漂移5V是一个兼顾功耗与信号幅度的常见工作点。桥压 Vex2mV/V 传感器满量程输出HX711 G128 时码值占比3.3V6.6mV约 28.5%5.0V10mV约 43.1%9V18mV约 77.9%这段计算可以继续往下走一步算“每克对应多少码值”这个东西在软件标定时很有用。5kg满量程、10mV输出对应HX711补码正半轴的约2^23个码值所以每克码值 (10mV / 5000g) / 39.06mV × 8388608 ≈ 429。也就是说标定后合理的scale值应该落在几百这个量级。如果实际算出来只有几十说明桥压不足或灵敏度不对如果算出几千说明传感器量程和桥压搭配出了问题。这个量级判断能帮你提前发现硬件错误不需要上仪器。2.3 安装与接线贴片、四线制和传感器测线辨识如果买传感器成品贴片已经完成只需要关心接线方式。但有些项目会自己买弹性体和应变片贴片这一步决定了整台秤的初始噪声和迟滞。贴片前用细砂纸把贴片区交叉打磨再用酒精或丙酮脱脂打磨后不要用手碰。应变片要贴在弹性体最大应变区的中心方向严格沿主应变方向偏一点角度灵敏度下降更重要的是非线性会变大。固化按胶水说明执行常温固化至少24小时加温固化的温度曲线一旦超差应变片绝缘电阻会下降后期很难排查。市售传感器的引线定义并不统一最常见翻车点是四根线接错。四线制传感器的四根线是桥压正负E、E-和信号正负S、S-用万用表欧姆档可以分辨E到E-之间的电阻等于桥臂总阻例如350Ω传感器这里约350ΩS到S-之间同样约等于总阻而E到S、E到S-都约等于桥臂电阻的一半。接错线后最典型的症状是满量程输出只有正常值的一半或者标定时斜率怎么都对不上。线缆较长时建议用六线制传感器多出来的两根线用于远端补偿桥压消除长线缆的压降误差适合传感器离仪表几米甚至几十米的现场。信号线屏蔽层的接地也有讲究。屏蔽层在仪表端单端接地不要在传感器端和仪表端同时接。两边都接地会形成地环路把现场的共模电流变成干扰结果往往是长线测试时跳字比短线还严重。这个现象我在现场见过不止一次排查半天最后发现是屏蔽层两端都接了地剪掉一端立即恢复。3. 信号链与ADC设计把毫伏信号变成稳定读数的关键参数传感器输出的满量程信号才10mV上下普通单片机ADC直接采必废。这一章讲中间这一段选什么ADC、怎么配置增益和采样率、电源和PCB上哪些细节决定成败。这是整台电子秤最容易出玄学问题的地方跳字、漂移、负值大多从这里来。3.1 为什么24位Σ-Δ ADC是电子秤的主流选择普通的逐次逼近型ADC在这么小的信号面前无能为力需要非常大的放大倍数而放大器噪声会一起被放大。电子秤行业的主流选择是24位Σ-Δ型ADC它通过过采样和噪声整形把量化噪声推到高频段再由内部数字滤波器滤掉等效分辨率远高于普通ADC。最常用的HX711就是为桥式传感器设计的内置两个差分输入通道、可编程增益64和128、内部时钟和稳压外部只接几个电容就能工作。它牺牲了一部分灵活性换来了极低的外围复杂度和成本。我在很多商用计重方案里都看到过它的影子个人项目和产品原型阶段完全够用。如果需要更宽的增益范围或更好的噪声指标ADS1232、CS5530这些芯片也常用但它们对电源和参考电压的要求更高外围电路更复杂成本也上去不少。判断标准不是芯片越贵越好而是传感器的机械噪声和零点漂移能不能压过ADC自身的噪声。传感器不行换一万块钱的ADC也白搭。3.2 HX711配置参数一组可以直接抄的值HX711的关键设置非常少RATE引脚决定采样率接地为10SPS接高电平为80SPS增益和通道由读时序的第25个SCK脉冲选择。常见配置是通道A、增益128。以5V供电、2mV/V传感器为例推荐参数如下表参数推荐值说明桥压5V由低噪声LDO供给传感器满载输出10mV采样率10SPS噪声最低需要快速响应再切80SPS增益12810mV信号放大到约1.28V差分输入RC100Ω 0.1μF放在紧靠HX711输入端模拟电源滤波0.1μF 10μF两级电容并联滤除高使与低频噪声HX711的AVDD同时给传感器桥路供电ADC参考电压也取自AVDD。这个设计有个隐性好处电池电压下降时传感器输出变小参考电压也跟着变小码值变化被部分抵消所以它对电源电压的绝对精度不那么敏感。但电源上的纹波和毛刺仍然会直接混进信号供电还是要用低噪声LDO不要拿开关电源直接怼上去。实测中开关电源纹波导致的跳字往往要加大滤波电容才能压下去。3.3 供电、接地与PCB布局跳字问题一半出在这里刚做电子秤的时候最容易犯的错是用一条地线同时给传感器、ADC和数码管供电。显示刷新一下继电器动作一下重量读数就跳一下原因就是功率地上的瞬态电流在走线电阻上产生压降这个压降直接叠加到了ADC的模拟地上。正确做法是模拟地和功率地单点连接连接点选在电源输入端的滤波电容负极。HX711的AGND和数字地之间也要保持清晰分隔不要让数字开关噪声窜到模拟回路。传感器差分线在PCB上要平行走线尽量靠近两侧铺地铜皮保护。不要跨过晶振下方不要和DC-DC开关节点平行走太长。长线进入PCB后先过ESD保护器件再接RC滤波再进HX711。这些位置做错后续软件怎么滤波都救不回来。如果做了金属外壳外壳要与系统地单点相连不要悬空也不要直接接在信号地上。我调试过很多跳字严重的板子最后定位到的都是地线走法和接插件接触不良芯片本身反而是最不容易坏的。排查顺序建议是先机械后电路、先接线后芯片、先电源后信号不要一上来就怀疑ADC坏了。4. 软件标定与滤波从原始码值到稳定克重硬件决定了读数的上限软件决定能不能稳定拿到这个上限。标定、去皮、滤波这三件事做不好再好的传感器也显示不出准数。这一章给出最小可用的软件框架以及每个关键参数的取法和原因。4.1 标定公式的拆解零点、斜率与蠕变的影响所有称重软件最后都落在一个线性公式重量 (当前码值 - 零点码值) / 灵敏度系数。其中零点码值是空秤稳定后的ADC码值灵敏度系数表示每克重量对应多少码值。比如空秤码值800000放上1000g砝码后码值851000那么每克码值是51重量就是(raw - 800000) / 51。这个公式看着简单工程上却有两个坑。第一个坑是只标定一次零点就再也不管了。传感器的零点会随温度漂移弹性体的应力状态也会在刚上电时慢慢变化。所以比较稳的结构是分两层出厂标定时保存斜率运行时开机做零点校正不断更新零点码值。第二个坑是蠕变。加载后弹性体内部应力会缓慢重分布码值会持续爬升标定时如果加载后立刻读数或者按键按下瞬间就采集标出来的斜率其实是噪声。标定采样前要让读数稳定至少等几十秒。4.2 HX711读取与去皮最小代码24位补码那一行容易漏下面是一段风格接近常见单片机工程的代码逻辑和参数可以直接平移到自己项目里。核心是三层读取原始码值、去皮、计算重量。const int DOUT 2; // HX711 DOUT 接 MCU GPIO const int SCK 3; // HX711 SCK 接 MCU GPIO时钟由主机控制 long zeroValue 0; // 零点码值去皮时更新 float scale 51.0; // 码值/克由标定得到count per gram long readHX711(int channelGain) { int timeout 0; while (digitalRead(DOUT) ! LOW) { // 等待数据就绪 delay(1); if (timeout 100) return 0; // 超过100ms说明接线或供电异常 } long raw 0; for (int i 0; i 24; i) { // 24个SCK脉冲输出24位码值 digitalWrite(SCK, HIGH); raw (raw 1) | digitalRead(DOUT); digitalWrite(SCK, LOW); } if (channelGain 128) { digitalWrite(SCK, HIGH); // 第25个脉冲选通道A/增益128 digitalWrite(SCK, LOW); } if (raw 0x800000) raw | 0xFF000000; // 24位补码转32位有符号数 return raw; } float readWeightGrams() { long sum 0; for (int i 0; i 10; i) { // 10次平均约耗时1秒 sum readHX711(128); delay(10); } long avg sum / 10; return (float)(avg - zeroValue) / scale; }这段代码里最容易漏的一行是24位补码转有符号数的处理。HX711输出的是二进制补码最高位是符号位如果不转去皮后稍微回到零点以下就会出现一个很大的正数显示变成几万克。另一个细节是第25个SCK脉冲即使只读通道A也必须发否则下一次转换配置会跑到别的通道读出来的数据会莫名其妙地少一半或变号。超时保护里的100ms也是有用意的10SPS模式下数据就绪时间约100ms正常读取不会触发超时一直超时就要去查接线和供电。去皮操作的实质是把当前稳定码值存成新的zeroValue而不是把显示清掉。如果只清了显示变量断电重启后零点还是旧的再放东西就会整体偏大或偏小。去皮瞬间要做一次平均采样至少5次因为按键时手可能还在抖秤台没停稳取单次数值当零点等于把噪声写进了零点。4.3 滤波策略EMA参数、限幅窗口与采样率怎么匹配HX711的10SPS模式内部已经做了较强的数字滤波一般不需要再加额外的低通读数就能稳定。切到80SPS后噪声明显变大就要在软件里跟一道一阶低通EMA公式是 filtered alpha × newReading (1 - alpha) × previousFiltered。alpha取0.10.3alpha越小越稳但滞后越大。称重场景重量变化速度远低于80Hz采样alpha取0.2不会明显感觉到响应慢却能明显压住最后一位的跳动。如果秤台装在流水线或有振动的环境单靠EMA还不够我一般先用限幅滤波剔除坏点再做滑动平均。限幅窗口设为当前显示值的±10g超过则丢弃。窗口不能太窄否则满载冲击时读数会被误杀造成显示卡住。调动态称重参数的顺序有讲究先测秤台的固有振动频率再定采样率和平均窗口最后调限幅阈值。照抄别人的滤波参数很容易翻车因为弹簧刚度不同、减震垫不同振动频率可能差好几倍。最稳的主法是把滤波器的时间常数调到振动周期附近让它把整秤的共振压住。4.4 去皮、负值与参数保存三个不用返工的小细节第一负重去皮要限制。当前重量超过满量程5%时去皮键应当拒绝执行。否则用户在秤上放着东西时按了去皮下一次空秤会显示一个大负值用户会以为秤坏了。第二负值显示不要丢掉负号。去皮后拿走砝码码值低于零点计算结果是负数这是正常现象。显示成负号加绝对值比偷偷显示成正数要诚实得多。第三标定参数存EEPROM或Flash时要写两个备份区交替写入。只写一块区域写一半断电就会得到一块坏参数机器重启后可能显示乱码或直接不工作。零点码值建议只在开机校准后更新不要频繁写Flash否则寿命很快耗尽。5. 电子秤常见问题排查漂移、跳字与标定失败的五个典型场景下面这几类问题是从实际做过的称重项目里按出现概率排出来的。每条按现象、原因、解决的顺序写。排查整体顺序建议先软件后硬件、先接线后芯片、先机械后电路。很多问题看起来是电路玄学最后发现是螺丝松了或者秤盘下有异物。5.1 空秤读数缓慢漂移开机几分钟仍在变现象开机归零后不放任何东西读数过一两分钟偏出几克方向不定。原因有两类一类是传感器弹性体和应变胶的应力松弛刚上电时桥路还没达到热平衡另一类是桥压不稳定或LDO热漂移。解决软件上开机后先做预热连续读取码值直到最近10次平均值的漂移小于设定阈值才允许归零硬件上把桥压来源换成独立的低噪声LDO不要直接用开关电源。阳光直射秤体也会造成单侧受热结构上加遮光罩能明显减少环境温漂。5.2 放上砝码先稳定几秒后又往上爬现象加载后读数快速到位但不静止以每10秒零点几克的速率缓慢上升卸载后又慢慢回落。原因这是典型的蠕变现象弹性体内部应力在缓慢重分布应变片所在位置的应变随时间增加不是电路问题。解决标定时不要加载后立刻读数统一等3060秒再取平均。程序上千万不要对长期重量做“缓慢跟踪修正”否则会把蠕变误判成真实重量变化。如果蠕变超过满量程0.1%大概率是弹性体材料热处理不够或者这台传感器曾经严重过载换一只同型号复测对比最直接。5.3 反复加载后回不到原点重复性差现象同一砝码同一位置放10次第一次和第十次读数差很多。原因机械结构上有异物、螺丝松动或者应变片粘贴局部脱胶。解决先做纯机械检查不接仪表用百分表打秤台变形量确认机械回零正常再检查传感器固定螺丝的扭矩是否一致。应变片脱胶的传感器桥臂电阻往往正常但重复加载后码值会出现阶跃变化这类问题返修成本高直接换传感器更划算不要折腾胶水和固化工艺。5.4 读数跳字并飞向大数偶尔出现几万克现象显示稳定时偶尔跳到一个完全不合理的大重量随后又恢复。原因两个高频来源一是差分信号线上有瞬时干扰屏蔽层两端都接地形成地环路二是软件里补码转换漏做负值码值被当成大正数。解决先检查代码里有没有那句if (raw 0x800000) raw | 0xFF000000没有就补上然后检查屏蔽层传感器端和仪表端只保留一端接地。这个现象在实验室桌上不出现、接长线后出现十有八九是地环路。5.5 开发板标定参数拷到量产板上不准现象开发板上标定的零点与斜率直接烧录到另一块板子上显示明显偏大或偏小。原因每块板的ADC参考电压、传感器灵敏度、机械秤台受力分布不可能完全一致。解决量产时每台单独做两点标定不要共用一套参数。如果整批传感器来自同一批次且输出一致可以先只标定每台零点用固定的平均斜率试跑再抽检修正能省不少产线时间。标定参数和生产序列号一起存后续追溯会省很多事。6. 校准与验证把误差压进 0.1 克的经验手法6.1 三点标定与最小二乘让曲线更接近真实重量两点标定只保证零点和满量程准中间仍然可能有偏差。做法是准备三个标准砝码零荷载、半量程、满量程的90%。每个点采集稳定码值后用最小二乘法拟合码值-重量直线得到斜率和截距替代手工两点参数。拟合后检查每个标定点的残差如果最大偏差超过预期再考虑做二次多项式修正代码里用浮点保存系数就行。称重是低频任务浮点运算在单片机上没有压力。6.2 温度基准与开机自检低成本下的温漂工程解法温度漂移是电阻应变式传感器躲不掉的软肋。低成本方案里最有效的做法是加一个数字温度传感器贴在弹性体附近。出厂时将整机放进可控温环境记录零点和温度的关系拟合出零点漂移斜率。软件每次开机读温度按斜率修正零点码值能把温漂减少一大半。没有温度传感器也要至少做一个开机预热流程上电后等显示稳定再允许清零操作避免用户拿到的第一秒数据就是漂的。我的习惯是每次上电检查桥路电压和ADC空闲码值是否在正常区间不在就报错而不是硬显示一个假重量。6.3 装机后的验证顺序与留档样机调好后按顺序做四件事重复性测试同一砝码同一点放10次极差应小于最小显示值的两倍偏载测试砝码放秤盘四角和中心误差应在允许范围回程误差从零加载到满载再卸载回零看空秤回零是否一致温漂复试用空调出风口做温度冲击观察零点变化。每次测试结果按日期、传感器批次、固件版本记录一张表。某次项目需要选传感器批次就是因为样机验证表里记录了不同批次的零点差异提前发现供货批的灵敏度不一致避免了整批上线后逐个重新标定。电子秤这个方向的坑不一定在电路机械、材料和批次都会参与进来。希望这一套从选型到验证的流程能帮到你少走我走过的弯路。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑