3. 电机控制基础与安全需求
在功能安全电机控制系统中,控制算法本身不是安全目标,但它决定了“执行器能否被安全地约束”。要定义扭矩安全、转速安全和方向安全,必须先理解 BLDC/PMSM 的基本控制方式:六步换相与磁场定向控制(FOC)。两者对电流、转矩和位置的依赖不同,因此对应的安全需求、故障模式和验证方法也不同。
3.1 六步换相:以位置区间决定导通相
BLDC 电机通常采用两两导通方式,每个电周期分为 6 个换相区间,每个区间 60° 电角度。控制器根据霍尔传感器或反电动势过零检测得到转子位置区间,再决定哪两相通电、第三相悬空。以常见的三相桥为例,若定义 A 相上桥臂为 AH、下桥臂为 AL,B、C 相同理,则一个典型换相序列可表示为:
区间1:AH + BL 导通,C 相悬空
区间2:AH + CL 导通,B 相悬空
区间3:BH + CL 导通,A 相悬空
区间4:BH + AL 导通,C 相悬空
区间5:CH + AL 导通,B 相悬空
区间6:CH + BL 导通,A 相悬空
六步换相的控制量是母线电压或 PWM 占空比,转速由占空比和负载共同决定。它的优点是算法简单、对位置精度要求低;缺点是换相瞬间存在转矩脉动,低速时反电动势小,过零检测困难。从安全角度看,六步换相最需要关注的是换相顺序错误和霍尔信号丢失或错位:一旦换相表被错误执行,可能产生反向转矩、堵转或电流冲击。
3.2 FOC:以电流矢量控制转矩
PMSM 和部分 BLDC 采用 FOC。FOC 的核心是把三相电流通过 Clarke 变换和 Park 变换映射到随转子旋转的 d-q 坐标系。d 轴对齐转子磁链方向,q 轴超前 90°。对于表贴式 PMSM,通常令 d 轴电流 i_d = 0,则转矩近似与 q 轴电流成正比:
T_e ≈ (3/2) * p * ψ_f * i_q
其中 p 为极对数,ψ_f 为永磁磁链,i_q 为 q 轴电流。FOC 需要转子角度 θ_e 完成 Park 变换和逆变换。若角度错误,d-q 轴解耦失败,原本用于产生转矩的电流会部分变成 d 轴电流,导致转矩下降、电流增大,严重时出现反转或失控。因此 FOC 的安全需求必须覆盖角度采样、角度估算、电流采样和 PWM 输出四条链路。
3.3 从控制量到安全需求
扭矩安全的核心是限制电机实际输出转矩不超过安全边界。在 FOC 中,转矩与 i_q 强相关,因此安全需求通常表述为:当 i_q 超过标定限值、电流采样出现异常或转矩估算与指令偏差过大时,系统应在规定时间内进入安全状态。安全状态可以是主动短路、自由停车或受控降转矩,具体取决于应用。例如在 EPS 转向系统中,突然失去助力比短暂受控降转矩更危险,因此安全状态往往选择“受控降额”而非直接关断。
转速安全关注的是超速和失控加速。FOC 中转速由速度环输出 i_q* 间接控制,若速度反馈丢失,速度环可能持续增大 i_q*,导致飞车。因此需要独立的超速监测通道,不依赖主控制环。一个可用的示例判据是:当估算转速连续 3 个控制周期超过 n_max = 1.2 × n_rated,且 i_q 仍处于增长趋势,则触发超速安全反应。这里的 1.2 倍和 3 个周期属于示例参数,实际应根据电机热容量、机械强度和系统惯性标定。
方向安全要求电机实际旋转方向与指令方向一致。六步换相中,方向由换相表顺序决定;FOC 中,方向由角度符号和 q 轴电流符号共同决定。若编码器 A/B 相接线反接,角度变化方向与指令相反,FOC 会形成正反馈,导致电机反转或振荡。方向安全需求应包含:上电初始化时校验相序与编码器方向;运行中监测角度变化率符号与指令符号是否一致;若不一致,立即封锁 PWM 并记录故障。
3.4 安全需求的可验证表述
安全需求不能只写“防止过转矩”,而应写成可验证的条目。以下给出三条示例,参数为教学假设值,实际项目需按电机和整车/设备指标重新标定:
| 安全需求 | 触发条件 | 安全反应 | 验证方法 |
|---|---|---|---|
| 扭矩安全:限制 q 轴电流 | |i_q| > 1.1 × i_q_rated 持续 2 ms | PWM 关断,进入自由停车 | 注入超限 i_q 指令,观察关断时间 ≤ 5 ms |
| 转速安全:超速保护 | n_est > 1.2 × n_rated 连续 3 个周期 | 主动短路,禁止再次使能 | 拖动电机超过阈值,检查保护动作 |
| 方向安全:旋向一致性 | dθ/dt 符号与方向指令不一致持续 10 ms | 封锁 PWM,记录方向故障 | 反接编码器 A/B,验证故障触发 |
理解六步换相和 FOC 的控制链,是定义安全需求的前提。六步换相的安全重点在换相顺序和位置信号;FOC 的安全重点在角度、电流和 PWM 三条链路。扭矩安全、转速安全和方向安全分别对应不同的控制量和反馈量,只有把安全需求写成带触发条件、安全反应和验证方法的可测试条目,才能在后续的 MOTIX 功能安全设计中落地。