3. 关节力矩传感器:应变片原理、扭矩传感器选型、信号调理与滤波、标定方法

力矩传感器,说白了就是机器人的「力觉神经」。没有它,你做的力控全是开环瞎蒙。我最早接触这玩意儿是在一台六轴协作臂上,那会儿还不懂应变片和电桥的关系,结果标定出来的数据漂得像心电图——嗯,交了不少学费。

这一章我们就把力矩传感器的底裤扒干净。从应变片的物理原理,到传感器选型,再到信号怎么调理、怎么滤波,最后怎么标定。一条线走到底。

核心观点: 力矩传感器的精度,90% 取决于应变片贴片工艺 + 信号调理质量。选型只是第一步,后面的活儿才是真功夫。
关节力矩传感器知识体系 力矩传感器 应变片原理 传感器选型 信号调理与滤波 标定方法 金属应变效应 惠斯通电桥 量程/精度/带宽 过载保护 仪表放大器 低通滤波 最小二乘拟合 温度补偿 💡 四个环节环环相扣:原理决定选型方向,选型影响信号调理难度, 标定则是对前三个环节的最终检验与补偿。

3.1 应变片原理:从电阻变化到力矩信号

应变片这东西,原理其实很简单。金属丝被拉长时,截面积变小,电阻变大;被压缩时,电阻变小。这个现象叫金属应变效应。你把它贴在弹性体表面,弹性体一变形,应变片电阻就跟着变。

但问题来了——电阻变化量太小了。一个 120Ω 的应变片,满量程时电阻变化可能只有 0.12Ω。你拿万用表根本测不出来。怎么办?

惠斯通电桥就是干这个的。把四个电阻接成菱形,对角加激励电压,另一对角测差分电压。当桥臂平衡时输出为零;应变片一变形,桥臂失衡,输出一个毫伏级的电压信号。

我的经验: 实际工程中常用半桥或全桥接法。全桥灵敏度最高,温度补偿也最好。我习惯在关节力矩传感器上用全桥——虽然多贴两个应变片,但信噪比能提升一倍。

贴片位置也有讲究。对于扭转力矩,应变片要贴在弹性体表面 45° 方向,因为那是最大剪应力方向。轴向力则贴在 0° 方向。我见过有人贴反了,结果输出信号只有理论值的 1/3——嗯,图纸上多花 5 分钟,现场少折腾一整天。

3.2 扭矩传感器选型:别只看量程

选传感器,很多人第一反应就是看量程。但关节力矩控制里,还有几个参数比量程更致命。

参数 为什么重要 我踩过的坑
精度(非线性 + 迟滞 + 重复性) 力控的底层精度天花板 某次选了 0.5% FS 的传感器,力控震荡死活调不好
带宽 决定你能控多快的动态力 带宽不够,高频力控相位滞后,系统不稳
过载能力 机器人撞机时保命用的 曾经 3 倍过载直接干废了一个传感器,心疼
温度漂移 开机半小时和两小时数据不一样 没做温度补偿,标定完过一小时又偏了

我个人习惯的选型流程是这样的:

  1. 先算关节最大力矩(峰值扭矩 × 安全系数 1.5~2)
  2. 精度要求:力控精度目标值的 1/5 ~ 1/10
  3. 带宽:至少是力控闭环带宽的 3~5 倍
  4. 过载:至少 2 倍,最好 5 倍
  5. 温度漂移:< 0.01% FS/°C
注意: 不要迷信「高精度」传感器。精度越高,价格越贵,而且对信号调理电路的要求也越高。有时候 0.1% 的传感器配一个垃圾放大器,效果还不如 0.5% 的传感器配好电路。

3.3 信号调理与滤波:把微伏信号变成可用数据

应变片电桥出来的信号,通常只有几个毫伏。直接送 ADC 就是浪费分辨率。所以需要仪表放大器先放大。

仪表放大器这东西,我建议选集成式的,比如 AD620、INA128 这些。共模抑制比高,温漂小。我自己在项目里用过 INA128,增益设到 100~500 倍,效果不错。

放大之后就是滤波。关节力矩信号里最讨厌的噪声来源有两个:

  • 电机 PWM 噪声:频率通常在 10kHz~50kHz,幅度不小
  • 机械共振:关节结构固有频率,一般在 50Hz~500Hz

我的做法是两级滤波:

  1. 硬件二阶低通:截止频率设在 1kHz 左右,先把高频 PWM 噪声干掉
  2. 软件一阶低通:截止频率根据力控带宽动态调整,一般 50Hz~200Hz
// 软件低通滤波示例(一阶 RC 数字实现)
float torque_lpf(float raw, float cutoff_hz, float dt) {
    float tau = 1.0f / (2.0f * 3.14159f * cutoff_hz);
    float alpha = dt / (tau + dt);
    static float filtered = 0.0f;
    filtered = filtered + alpha * (raw - filtered);
    return filtered;
}
避坑指南: 我曾经把硬件滤波截止频率设得太低(100Hz),结果力控带宽被限制住了,机器人响应慢得像老年人。后来改成 1kHz 硬件 + 软件动态调参,才平衡了噪声和响应速度。

3.4 标定方法:把电压变成牛顿米

标定,说白了就是找输入输出关系。你给传感器加一个已知力矩,记下输出电压,然后拟合一条曲线。

最简单的标定是静态标定。用砝码或扭矩扳手,从 0 到满量程,取 10~20 个点。每个点稳定后记录电压。然后用最小二乘法拟合直线:

τ = k × V + b

其中 k 是灵敏度(Nm/V),b 是零偏。

但实际中,事情没这么简单。因为还有交叉耦合——你只加 X 轴力矩,Y 轴和 Z 轴也会有输出。我遇到过最夸张的一次,交叉耦合误差达到了 15%。

所以完整的标定需要做解耦矩阵:

[τx]   [k11 k12 k13]   [Vx]   [b1]
[τy] = [k21 k22 k23] × [Vy] + [b2]
[τz]   [k31 k32 k33]   [Vz]   [b3]

标定步骤:

  1. 每个轴单独加载,记录所有通道的输出
  2. 构建 3×3 灵敏度矩阵 K
  3. 用最小二乘法求解 K 和 b
  4. 验证:加载复合力矩,看解耦后的误差
关键指标: 标定后残余误差 < 0.5% FS,交叉耦合 < 2%。如果达不到,检查贴片工艺或信号调理电路。

还有一个容易被忽略的点——温度标定。应变片对温度敏感,零漂和灵敏度都会随温度变化。我的做法是在恒温箱里做 -10°C 到 60°C 的温漂测试,然后做温度补偿查表。

警告: 不要以为标定完就一劳永逸了。传感器会老化,贴片胶水会蠕变。我建议每 3~6 个月重新标定一次,或者在每次大修后做一次快速验证。

嗯,力矩传感器的内容就这些。从应变片到标定,每一步都有坑,但每一步也都有解法。你把这些搞透了,关节力控的底层基础就算打牢了。