4. 传感器冗余设计:速度、扭矩、位置传感器的冗余配置与仲裁逻辑

传感器,说白了就是传动系统的眼睛和耳朵。眼睛花了,耳朵聋了,系统再强壮也白搭。我这些年处理过的故障案例里,因为传感器失效导致整条产线停机的,少说也有十几起。所以今天咱们重点聊聊——怎么给传感器做冗余,以及出问题后怎么“投票”选出正确信号。

4.1 为什么传感器需要冗余?

你想想看,一个速度传感器坏了,变频器直接报“速度反馈丢失”,电机要么急停,要么飞车。扭矩传感器漂移了,张力控制直接崩掉。位置传感器丢脉冲了,伺服定位偏个几毫米,产品就废了。

我遇到过最典型的一次:某钢厂主轧线,编码器因为振动导致接头松动,信号时有时无。操作工以为是电机坏了,折腾了三个小时。最后发现就是编码器的问题。从那以后,我设计的系统里,关键传感器至少两路冗余。

核心原则: 单点故障不能导致系统停机或安全事故。这是传动系统设计的底线。

4.2 速度传感器冗余配置

速度反馈是传动控制的基础。常用的冗余方案有几种,我按可靠性从低到高排个序:

方案 配置方式 可靠性 成本
双编码器 电机轴端装两个独立编码器
编码器+测速发电机 一个数字式,一个模拟式 中高
编码器+无速度传感器估算 硬件+软件冗余
三模冗余(TMR) 三个独立编码器+三取二表决 极高

我个人习惯,在普通调速应用里用双编码器方案。一个装在电机非驱动端,一个装在驱动端。两个信号进PLC或者驱动器,做差值比较。差值超过设定阈值(比如2%),就报警并切换到备用通道。

经验之谈: 两个编码器最好用不同品牌或不同原理的。比如一个增量式,一个绝对值式。这样能避免共因失效——比如同一批次的编码器都有设计缺陷。

4.3 扭矩传感器冗余配置

扭矩传感器在张力控制、拧紧工艺里特别关键。我见过最惨的一次,扭矩传感器零点漂移,导致螺栓拧紧力矩偏大,批量产品报废。

扭矩冗余常用的做法:

  • 双扭矩传感器串联: 在传动轴上串两个传感器,取平均值。差值过大时报警。
  • 扭矩传感器+电机电流估算: 硬件传感器为主,软件估算为辅。软件估算精度不高,但能检测出传感器是否严重偏离。
  • 应变片+压电传感器组合: 两种不同原理的传感器,一个测静态扭矩,一个测动态扭矩。

嗯,这里要注意:扭矩传感器的安装位置很讲究。我建议装在靠近负载端,而不是靠近电机端。因为电机端的扭矩包含了传动损耗,和实际负载扭矩有偏差。

避坑指南: 我曾经遇到过扭矩传感器和联轴器共振的问题。传感器安装支架刚度不够,导致高频振动下信号失真。后来换了加厚支架,问题解决。所以冗余不只是传感器本身,安装方式也得冗余考虑。

4.4 位置传感器冗余配置

位置传感器,最常见的就是编码器、旋转变压器、光栅尺。在伺服定位系统里,位置反馈一旦出错,后果很严重。

我常用的几种冗余方案:

  1. 双编码器背靠背安装: 两个编码器同轴安装,一个做主反馈,一个做校验。差值超过1个脉冲就报警。
  2. 编码器+限位开关: 软件位置+硬件极限位置双重保护。限位开关不参与精确定位,只做安全冗余。
  3. 绝对值编码器+增量编码器: 绝对值编码器提供绝对位置,增量编码器提供高分辨率。两者互相校验。
  4. 光栅尺+磁栅尺: 在直线运动系统中,两种不同原理的尺子同时安装。

你想想看,如果只有一路位置反馈,一旦编码器丢脉冲,位置就偏了。而且这种偏差是累积的,越跑越偏。双冗余至少能检测出问题,及时报警停机。

4.5 仲裁逻辑:怎么选出正确的信号?

传感器冗余了,信号多了,问题来了——该信谁的?这就是仲裁逻辑要干的事。

常用的仲裁方法有四种:

仲裁方法 原理 适用场景
最大值/最小值选择 取两路信号中的最大值或最小值 安全保护回路(取大或取小更安全)
平均值仲裁 两路或多路信号取平均 精度要求高的场合
三取二表决 三路信号,两路一致则采用 高可靠性系统(如核电、航空)
优先级仲裁 设定主/从关系,主信号有效时用主信号 主备切换系统

我个人的习惯是:双冗余用“差值比较+优先级切换”。两路信号差值在允许范围内,用主信号。差值超限,自动切换到备用信号,同时报警。三冗余用“三取二表决”,这个最可靠。

下面是我常用的一个双冗余仲裁逻辑伪代码:

// 双速度传感器仲裁逻辑
// Sensor1: 主编码器  Sensor2: 备用编码器

float speed1 = ReadSensor1();
float speed2 = ReadSensor2();
float diff = abs(speed1 - speed2);
float threshold = 0.02 * max(speed1, speed2); // 2%阈值

if (diff < threshold) {
    // 两路一致,用主信号
    output_speed = speed1;
    status = NORMAL;
} else {
    // 差值超限,检查哪路故障
    if (IsSensor1Healthy()) {
        output_speed = speed1;
        status = WARNING_SENSOR2_FAULT;
    } else if (IsSensor2Healthy()) {
        output_speed = speed2;
        status = WARNING_SENSOR1_FAULT;
    } else {
        output_speed = 0;
        status = FATAL_BOTH_FAULT;
        TriggerEmergencyStop();
    }
}
小技巧: 仲裁逻辑里一定要加“健康状态检测”。不只是看信号有没有,还要看信号质量。比如编码器有没有断线、有没有短路、信号幅值是否正常。这些信息比信号值本身更重要。

4.6 知识体系总览

说了这么多,我画了一张图帮你理清思路。传感器冗余设计,说白了就是三件事:怎么配、怎么判、怎么切。

传感器冗余设计核心逻辑 速度传感器 扭矩传感器 位置传感器 双编码器 编码器+测速发电机 三模冗余(TMR) 双传感器串联 传感器+电流估算 应变片+压电组合 双编码器背靠背 编码器+限位开关 光栅尺+磁栅尺 仲裁逻辑 差值比较 → 健康检测 → 优先级切换 / 三取二表决 可靠的速度/扭矩/位置信号输出

这张图从左到右展示了三种传感器的冗余配置方式,然后汇聚到仲裁逻辑,最终输出可靠信号。说白了,冗余是手段,仲裁是核心,可靠输出是目的。

4.7 实战中的几个坑

最后,我把自己踩过的坑总结一下,你遇到了能少走弯路:

  • 共因失效: 两个同型号传感器装在一起,一个坏了另一个大概率也快了。我建议用不同原理或不同批次的传感器。
  • 信号隔离: 冗余传感器的供电和信号线要独立走线。我曾经遇到过一根电缆破损,两路信号同时短路的情况。
  • 仲裁周期: 仲裁逻辑的执行周期要快于控制周期。否则传感器已经坏了,仲裁结果还没出来,系统就失控了。
  • 故障恢复: 传感器故障恢复后,不能自动切回主通道。要手动确认或者经过一段时间的稳定期再切换。否则来回切换会导致系统震荡。
血的教训: 我曾经设计过一个系统,双编码器冗余,仲裁逻辑也写好了。结果调试时发现,两个编码器的安装角度差了0.5度,导致低速时差值一直超限,系统频繁报警。后来加了“安装偏差自动校准”功能,问题解决。所以冗余不只是电气的事,机械安装也得跟上。

好了,传感器冗余设计就聊到这儿。记住一句话:冗余不是简单的“多装一个”,而是从传感器选型、安装、信号处理到仲裁逻辑的系统工程。每一步都做到位了,系统才能真正可靠。


公众号:蓝海资料掘金营,微信deep3321