第三课 · 称重传感器与变送器:重量怎么变成报文

2026-11-04
  • 2

第三课 · 称重传感器与变送器:重量怎么变成报文

前两节讲了串口和 Modbus RTU。这一节把"数据"的源头讲清楚:应变片式称重传感器怎么把重量变成电信号,变送器怎么把它变成 Modbus 报文里的数字。看懂这一课,00 03 E6 70 才不是一个玄学数字。

1. 应变片:贴在金属上的"电阻"

应变片式称重传感器的核心就两个东西:金属弹性体 + 应变片。

传感器结构

结构从上到下:承重板 → 弹性体(平行梁)→ 安装底座,出线在侧面。应变片贴在弹性体表面,本质上就是一个电阻(常见阻值 350Ω),跟着金属一起变形。

原理一句话:受力 → 形变 → 电阻变化。

受力时弹性体微微弯曲,上表面的应变片被拉伸(R1、R4 阻值变大),下表面的被压缩(R2、R3 阻值变小)。金属的形变极其微小——肉眼看不出来,但电阻的变化是真实存在的。


2. 惠斯通电桥:把电阻变化变成电压

单个电阻的变化太小了(毫欧级),直接测等于大海捞针。解决办法:把 4 个应变片接成惠斯通电桥。

惠斯通电桥

电桥的妙处:四个桥臂电阻一起变,桥路失衡,输出一个与重量成正比的微小电压。拉伸臂和压缩臂对称布置,还顺便做了温度补偿——温度变化时四片一起变,输出互相抵消。

输出有多大?看灵敏度:

灵敏度

激励电压 5V × 灵敏度 2mV/V = 满量程输出 10mV

2mV/V 的意思是:每 1V 激励电压,满量程时输出 2mV。5V 激励就是 10mV 满量程——一个毫伏级的模拟信号,微弱到不能直接用。


3. 称重变送器:把毫伏变成数字

这么微弱的信号,必须交给称重变送器处理。它干两件事:

  1. 给传感器提供 5V 激励电压(传感器自己是无源的)

  2. 通过 AD 采集把毫伏级信号放大、转换成数字

但 AD 采到的只是数字"内码"——一个和重量成正比、但还没换算成公斤的原始数。怎么把内码变成真实重量?靠标定。


4. 标定:两个点,确定一条直线

内码和重量之间是一条直线关系,两个点就能确定它:

两点标定

第一步:零点标定。 清空秤台,发送零点标定指令,记下空载时的 AD 值——图上的绿点 (AD₀, 0 kg)。

第二步:加载标定。 放上已知重量的砝码(比如 100 kg),发送加载标定指令,记下此时的 AD 值——图上的黄点 (AD₁, 100 kg)。

有了两个点,斜率就出来了:

斜率 k = 100 kg ÷ (AD₁ − AD₀)

标定参数保存在模块内部,之后每次称重直接套用这个公式:重量 = k × (AD − AD₀)。所以换传感器、挪动设备之后,都要重新标定。


5. 从 RS485 读出重量

计算出的重量值通过 RS485 接口对外输出。以 SJ101CX 为例:

通讯参数(出厂默认):9600 bps、8 数据位、无校验、1 停止位——就是第一课讲的"9600/8/N/1"。

读重量:上位机只需发一条读保持寄存器指令:

读取指令

01 03 00 00 00 02 C4 0B

意思是:问站号 1,用功能码 03,从地址 0 开始读 2 个寄存器(32 位重量)。

应答:

应答

01 03 04 00 00 05 FC 22 F9

04 表示 4 个数据字节:00 00 05 FC = 0x000005FC = 1532——这是标定后的重量值,一个 32 位有符号整数(所以负重量也能表示)。

换算:精度 0.01 kg 时:

换算

1532 × 0.01 = 15.32 kg
对比一下第四课的例子:255600 × 0.01 = 2556.00 kg。同一套逻辑,不同的精度和量程而已——"整数 + 精度"是称重仪表的通用套路。

6. 清零与免砝码标定

两个实用功能:

清零:秤台有残留(灰尘、残料)导致零点漂移时,发清零指令把当前状态当作零点。注意它清的是"皮重"逻辑,大重量压秤时会被拒绝。

免砝码标定:现场没有砝码怎么办?可以直接输入传感器的灵敏度(mV/V),变送器按理论值计算斜率。方便,但精度通常只有百分之一左右——因为每只传感器的实际灵敏度都和标称值有微小偏差。应急可用,正式投产还是要用砝码做两点标定。


7. 本课小结

把这一课压缩成一句话:

应变片受力变形产生电压 → 变送器 AD 采集得到内码 → 两点标定建立"内码 ↔ 重量"直线 → 通过 RS485 和 Modbus RTU 输出给上位机。
环节关键点
传感器弹性体 + 4 应变片惠斯通电桥,输出 mV 级信号
灵敏度2mV/V × 5V = 满量程 10mV
标定零点 + 砝码点,两点定直线,参数存模块内
输出32 位有符号整数 × 精度 = 真实重量
例子00 00 05 FC = 1532 → ×0.01 = 15.32 kg

下一篇进入实战:用电脑串口助手,亲手把这 15.32 kg 读出来。

微信二维码

扫码添加微信