3. 关节力矩传感器:应变片原理、扭矩传感器选型、信号调理与滤波、标定方法
力矩传感器,说白了就是机器人的「力觉神经」。没有它,你做的力控全是开环瞎蒙。我最早接触这玩意儿是在一台六轴协作臂上,那会儿还不懂应变片和电桥的关系,结果标定出来的数据漂得像心电图——嗯,交了不少学费。
这一章我们就把力矩传感器的底裤扒干净。从应变片的物理原理,到传感器选型,再到信号怎么调理、怎么滤波,最后怎么标定。一条线走到底。
3.1 应变片原理:从电阻变化到力矩信号
应变片这东西,原理其实很简单。金属丝被拉长时,截面积变小,电阻变大;被压缩时,电阻变小。这个现象叫金属应变效应。你把它贴在弹性体表面,弹性体一变形,应变片电阻就跟着变。
但问题来了——电阻变化量太小了。一个 120Ω 的应变片,满量程时电阻变化可能只有 0.12Ω。你拿万用表根本测不出来。怎么办?
惠斯通电桥就是干这个的。把四个电阻接成菱形,对角加激励电压,另一对角测差分电压。当桥臂平衡时输出为零;应变片一变形,桥臂失衡,输出一个毫伏级的电压信号。
贴片位置也有讲究。对于扭转力矩,应变片要贴在弹性体表面 45° 方向,因为那是最大剪应力方向。轴向力则贴在 0° 方向。我见过有人贴反了,结果输出信号只有理论值的 1/3——嗯,图纸上多花 5 分钟,现场少折腾一整天。
3.2 扭矩传感器选型:别只看量程
选传感器,很多人第一反应就是看量程。但关节力矩控制里,还有几个参数比量程更致命。
| 参数 | 为什么重要 | 我踩过的坑 |
|---|---|---|
| 精度(非线性 + 迟滞 + 重复性) | 力控的底层精度天花板 | 某次选了 0.5% FS 的传感器,力控震荡死活调不好 |
| 带宽 | 决定你能控多快的动态力 | 带宽不够,高频力控相位滞后,系统不稳 |
| 过载能力 | 机器人撞机时保命用的 | 曾经 3 倍过载直接干废了一个传感器,心疼 |
| 温度漂移 | 开机半小时和两小时数据不一样 | 没做温度补偿,标定完过一小时又偏了 |
我个人习惯的选型流程是这样的:
- 先算关节最大力矩(峰值扭矩 × 安全系数 1.5~2)
- 精度要求:力控精度目标值的 1/5 ~ 1/10
- 带宽:至少是力控闭环带宽的 3~5 倍
- 过载:至少 2 倍,最好 5 倍
- 温度漂移:< 0.01% FS/°C
3.3 信号调理与滤波:把微伏信号变成可用数据
应变片电桥出来的信号,通常只有几个毫伏。直接送 ADC 就是浪费分辨率。所以需要仪表放大器先放大。
仪表放大器这东西,我建议选集成式的,比如 AD620、INA128 这些。共模抑制比高,温漂小。我自己在项目里用过 INA128,增益设到 100~500 倍,效果不错。
放大之后就是滤波。关节力矩信号里最讨厌的噪声来源有两个:
- 电机 PWM 噪声:频率通常在 10kHz~50kHz,幅度不小
- 机械共振:关节结构固有频率,一般在 50Hz~500Hz
我的做法是两级滤波:
- 硬件二阶低通:截止频率设在 1kHz 左右,先把高频 PWM 噪声干掉
- 软件一阶低通:截止频率根据力控带宽动态调整,一般 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;
}
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]
标定步骤:
- 每个轴单独加载,记录所有通道的输出
- 构建 3×3 灵敏度矩阵 K
- 用最小二乘法求解 K 和 b
- 验证:加载复合力矩,看解耦后的误差
还有一个容易被忽略的点——温度标定。应变片对温度敏感,零漂和灵敏度都会随温度变化。我的做法是在恒温箱里做 -10°C 到 60°C 的温漂测试,然后做温度补偿查表。
嗯,力矩传感器的内容就这些。从应变片到标定,每一步都有坑,但每一步也都有解法。你把这些搞透了,关节力控的底层基础就算打牢了。