1. 课程导入与全景认知
在电机控制开发中,我们通常先让电机“能转起来”:完成电流环、速度环、位置环整定,验证空载、带载、加减速和稳态精度。但真实产品还要面对另一类问题——编码器断线、相电流采样偏置、母线电压跌落、功率管开路或短路、控制器算力瞬时过载、通信丢帧。这些异常一旦发生,轻则转矩抖动、定位偏差,重则过流炸管、飞车或机械损伤。故障注入与容错仿真,就是把这些“平时难以复现、复现代价很高”的故障,在仿真和台架中可控地制造出来,并验证控制算法能否检测、隔离并安全降级。
本课程围绕一条主线展开:先建立可运行的电机控制基线,再注入可参数化的故障,最后用容错策略把系统拉回安全可控状态。它既不是单纯的 Simulink 建模课,也不是纯粹的硬件测试课,而是把控制理论、电力电子、嵌入式实现和测试验证串起来的工程方法课。
1.1 什么是故障注入与容错仿真
故障注入(Fault Injection)是在系统正常运行的通道中,人为地引入一个已知类型、已知幅值、已知时序的异常,用来观察系统响应。它可以是仿真层面的:在电流采样通道叠加偏置、在编码器角度上叠加跳变、把某一相 PWM 占空比强制置零;也可以是硬件层面的:用继电器断开某相、用可编程电源拉低母线电压、用信号发生器模拟霍尔错相。
容错仿真则是在故障注入之后,验证控制器的检测、隔离与重构逻辑是否有效。典型容错动作包括:故障相切除后改用两相或三相四桥臂拓扑继续运行、用观测器估算替代失效传感器、限功率降额运行、进入安全停机状态。仿真的价值在于:故障可以精确重复、参数可以扫描、边界可以逼近,而不必每次都冒着损坏功率板的风险。
1.2 为什么值得学:三类典型价值
第一类是安全价值。以电动助力转向(EPS)为例,若扭矩传感器信号漂移而控制器未识别,可能输出错误助力方向。通过注入传感器偏置和卡滞故障,可以验证诊断阈值和降级策略是否在 10 ms 内触发。
第二类是成本价值。硬件在环(HIL)中注入故障,可以在没有真实电机和负载的情况下完成大量边界测试,减少台架占用时间和样机损坏。一个典型的电机控制器项目,故障用例往往占全部测试用例的 30% 以上。
第三类是算法价值。容错控制本身需要观测器、状态估计和重构策略。例如三相永磁同步电机单相开路后,剩余两相电流不再对称,若仍用原 Park 变换会得到脉动转矩;此时需要切换为两相容错控制或采用四桥臂拓扑。仿真能快速比较不同策略的转矩脉动和电流应力。
1.3 典型应用场景
- 新能源汽车电驱:母线电压跌落、IGBT 开路、旋变信号丢失、相电流采样偏置。
- 工业伺服:编码器断线、霍尔错相、过流保护误触发、通信丢帧。
- 航空航天作动器:余度通道切换、绕组开路、功率级单管失效。
- 家电与风机:无位置传感器启动失败、母线欠压、堵转。
这些场景的共同点是:故障类型有限但后果严重,且必须在控制器层面完成检测与响应,而不是依赖外部保护。
1.4 整体学习路线与工具链
课程按“基线—注入—检测—容错—验证”推进。前几章先建立 PMSM 的 FOC 仿真基线,包括电流环、速度环、SVPWM 和采样链路;随后逐类注入传感器故障、功率器件故障和母线故障;再实现残差检测、阈值判断和观测器重构;最后用 HIL 或快速控制原型验证实时性。
工具链上,仿真层以 MATLAB/Simulink 为主,配合 Simscape Electrical 搭建逆变器和电机模型;控制代码可用 Embedded Coder 生成,再部署到 DSP 或 HIL 平台。测试层可用 dSPACE、Speedgoat 或基于 FPGA 的实时仿真机。数据层用示波器、CAN 记录和仿真日志对比故障前后的电流、转速和转矩波形。
1.5 一个最小可复现的示例设定
为了让后续章节有统一参照,这里给出一个贯穿课程的示例对象(属于教学假设,不是实测数据):表贴式永磁同步电机,额定功率 1.5 kW,额定转速 3000 r/min,极对数 4,定子电阻 0.35 Ω,交直轴电感 4.2 mH,母线电压 300 V,开关频率 10 kHz,电流环带宽约 1 kHz。仿真步长 1 μs,控制周期 100 μs。
在这个基线上,我们首先注入一个“A 相电流采样偏置 +0.5 A”的故障。正常时三相电流之和应接近零;偏置出现后,Clarke 变换得到的 α 轴电流出现直流分量,Park 变换后的 dq 电流出现与电角度同频的波动,速度环输出转矩指令随之脉动。检测逻辑可以观察“三相电流和”的滑动平均值,若持续超过 0.3 A 且超过 5 ms,则判定为电流采样故障,切换到基于母线电流重构或观测器估算的容错模式。
这个例子说明:故障注入不是随便加一个扰动,而是要有明确的注入位置、幅值、时序和判据;容错也不是简单切掉,而是要在性能、安全和实现复杂度之间做取舍。
1.6 学习建议
建议按“先跑通基线,再逐类注入,最后闭环验证”的节奏推进。每章至少完成一次可复现的仿真:记录故障前后的波形,标注检测时刻和容错动作时刻,并给出是否满足判据的结论。遇到不确定的参数,先做敏感性扫描,再固定典型值。这样到课程结束时,你手里会有一套可迁移的故障注入用例库和容错策略模板,而不是零散的知识点。