1. 课程导入与机电系统故障容错全景

机电系统是机械、电气、控制、传感与软件深度耦合的产物。从数控机床的进给轴、工业机器人的关节伺服,到新能源汽车的电驱总成、无人机的舵机与飞控,它们共同的特征是:能量流、信息流与运动流在同一物理平台上交织。这种耦合带来了高效率,也带来了脆弱性——一个电流传感器的零点漂移,可能让速度环误判负载,进而引发位置超差甚至机械碰撞。本课程要解决的,正是"当故障不可避免地发生时,系统如何被验证为仍然安全、可控、可恢复"。

学习目标

完成本课程后,学习者应能独立完成以下任务:其一,针对给定机电对象,识别其关键故障模式并建立故障清单;其二,在仿真环境中把故障"注入"到模型或控制器中,而不是只做定性描述;其三,设计并实现至少一种容错策略(如解析冗余、观测器重构、控制律重构或余度切换);其四,用可量化的指标(残差阈值、跟踪误差、恢复时间、任务完成率)判断容错是否真正生效。这四步构成一条从"认识故障"到"验证容错"的完整能力链。

故障注入与容错仿真的定义

故障注入是指在系统模型、控制代码或信号链中,人为地引入一个受控的、可复现的异常,用以观察系统在异常下的响应。它与"故障诊断"不同:诊断是从现象反推原因,注入是从原因正向制造现象。注入的载体可以是参数(如把电机电阻从 0.5 Ω 改为 2.0 Ω 模拟匝间短路)、信号(在反馈通道叠加偏置或增益突变)、结构(断开某一路传感器)或时序(延迟若干采样周期)。

容错仿真则是在注入故障的前提下,运行闭环系统并评估容错机制的有效性。它强调"闭环"二字:只注入不闭环,看到的是开环响应;只有把故障放进带控制器、带执行器、带负载的完整回路,才能观察到故障是否被抑制、被隔离或被重构补偿。仿真在这里的价值是低成本、高可重复、可观测内部量——真实台架上难以测量的中间变量,在仿真里可以直接记录。

关键区分:故障注入回答"系统会怎样坏",容错仿真回答"坏了之后还能不能干活、干得怎么样"。两者必须成对使用,缺一不可。

典型机电系统对象

本课程选取三类具有代表性的对象贯穿始终。第一类是伺服电机驱动系统,包含永磁同步电机、三相逆变器、电流/速度/位置三环控制器,典型故障有电流传感器偏置、编码器丢脉冲、逆变器单管开路、母线电压跌落。第二类是机电作动器(EMA),由电机、减速器、丝杠和位置反馈构成,典型故障有丝杠卡滞、减速器效率下降、反馈信号漂移。第三类是多轴协同运动平台,如 XY 工作台或机械臂关节组,典型故障有单轴失能、轴间同步误差、通信丢包。三类对象的共同点是:都有明确的物理量(电流、转速、位置、力矩),都有可注入的故障点,也都有可设计的容错手段。

整体技术路线与工具链

课程采用"建模—注入—诊断—容错—评估"五段式技术路线,但每一段都不是孤立步骤,而是相互反馈的闭环。建模阶段用 MATLAB/Simulink 搭建机电对象与控制器,必要时用 Simscape 补充多体与电气细节;注入阶段通过开关模块、参数覆盖或信号叠加实现故障;诊断阶段用残差生成器(观测器、奇偶方程)产生故障指示信号;容错阶段根据诊断结果切换控制律或重构指令;评估阶段用统一指标对比故障前后与容错前后的性能。

工具链上,MATLAB/Simulink 负责主仿真与算法验证,Simulink Fault Analyzer 或自定义注入模块负责故障管理,Python 可用于批量实验与数据分析,dSPACE 或 Speedgoat 等实时平台用于把验证过的容错策略推向硬件在环。需要强调的是:仿真不是目的,而是把容错策略从"想得通"推到"测得准"的必经环节。

机电系统故障注入与容错仿真技术路线 ① 建模 电机/逆变器/控制器 Simulink + Simscape ② 故障注入 参数/信号/结构/时序 可复现、可开关 ③ 故障诊断 观测器/奇偶方程 残差生成与阈值 ④ 容错策略 重构/切换/冗余 控制律再分配 ⑤ 性能评估 跟踪误差/恢复时间/任务率 反馈迭代 典型注入点(以伺服驱动为例) • 电流反馈:叠加偏置 +0.3 A 或增益 ×1.5 • 编码器:每 100 脉冲丢失 1 个,模拟丢脉冲 • 逆变器:A 相上管开路,输出电流畸变 • 母线电压:从 310 V 跌至 260 V • 通信:周期 1 ms 丢包率 5% • 负载:转动惯量突增 2 倍 工具链概览 MATLAB/Simulink Fault Analyzer Python 批处理 dSPACE / Speedgoat HIL 实时平台

从"知道"到"做到":一个最小可运行示例

为了不让概念停留在纸面,这里给出一个可以在 Simulink 中快速搭建的最小示例。对象为一个直流电机速度控制系统,参数取:电枢电阻 R = 1.2 Ω,电感 L = 0.005 H,反电动势系数 Ke = 0.05 V·s/rad,转矩系数 Kt = 0.05 N·m/A,转动惯量 J = 0.0002 kg·m²,粘性阻尼 B = 0.0001 N·m·s/rad。控制器为 PI 速度环,Kp = 0.8,Ki = 12。目标转速 100 rad/s。

注入的故障设为"电流传感器增益下降至 0.7",即控制器读到的电流只有真实值的 70%。注入方式是在电流反馈通道后串联一个增益模块,正常时增益为 1,故障触发后切换为 0.7。观察量包括:真实转速、控制器输出电流指令、实际电流、转速跟踪误差。

% 故障注入参数示例(MATLAB 脚本片段)
R = 1.2; L = 0.005; Ke = 0.05; Kt = 0.05;
J = 0.0002; B = 0.0001;
Kp = 0.8; Ki = 12;
w_ref = 100;              % 目标转速 rad/s
t_fault = 0.5;            % 故障注入时刻 s
gain_fault = 0.7;         % 电流反馈增益(故障后)
% 仿真步长 1e-4 s,总时长 1.5 s

预期现象是:故障前转速稳定在 100 rad/s;0.5 s 增益切换后,控制器因低估电流而继续增大输出,实际电流上升,转速出现上冲,随后在积分作用下缓慢回落,但稳态转速会偏离目标值。若在诊断环节加入一个基于电机模型的电流观测器,残差会在故障后迅速超过阈值,触发容错策略——例如把电流环反馈切换为观测器估计值,或对指令乘以 1/0.7 的补偿系数。评估时对比三组曲线:无故障、有故障无容错、有故障有容错,用稳态误差和恢复时间两个指标量化容错效果。

建议在第一次实验中先只做"注入+观察",不加任何容错,把故障的原始影响看清楚;第二次再加入诊断与容错。这样能建立对"故障—响应—补偿"因果链的直观感受,而不是一上来就被复杂的容错逻辑掩盖了故障本身。

本课程的组织逻辑

后续章节将沿着上述技术路线逐层展开:先建立机电对象的数学模型与仿真模型,再系统介绍故障注入的方法与工具,然后进入故障诊断的残差设计与阈值整定,接着是各类容错策略的实现,最后用综合案例把整条链路串起来。每一章都会给出可运行的参数、可观察的现象和可判断的指标,确保学习者不仅理解概念,更能亲手复现并验证。

需要始终记住的一点是:容错不是让系统"永不故障",而是让系统在故障后仍然保持在安全边界内,并以可接受的性能继续完成任务。仿真与注入,就是证明这一点的手段。