故障速查

共 14 类典型故障:症状 → 原因 → 排查 → 修复 → STM32 调试要点。

过流 over-current

现象:电流峰值突然冲高,驱动器进入硬件保护或软件 fault。

可能原因:

  • PI 参数过大
  • 相序或角度错误
  • 堵转/负载突变
  • 采样噪声触发误判

排查步骤:

  1. 降低母线电压和电流限幅
  2. 确认相序和编码器方向
  3. 查看 Id/Iq 是否突变
  4. 用示波器确认硬件电流波形

修复建议:

  • 先调低 Kp/Ki
  • 加入输出斜坡和限流
  • 检查比较器阈值和采样滤波
  • 保留故障前 5~20ms 快照
STM32 调试要点
检查 TIM Break、COMP/OPAMP、ADC injected conversion、FOC 中断执行时间。

缺相 phase-loss

现象:某一相电流接近 0,另外两相畸变,电机抖动并伴随明显噪声。

可能原因:

  • 功率管或驱动损坏
  • 相线松脱
  • 电流采样通道异常
  • PWM 互补输出未使能

排查步骤:

  1. 测三相端子电压
  2. 看三相电流是否一相长期为 0
  3. 检查 gate driver fault
  4. 交换采样通道排除 ADC 问题

修复建议:

  • 修复硬件连接
  • 增加缺相检测
  • 启动前做静态相电阻/电感自检
STM32 调试要点
检查 GPIO AF、TIM CHx/CHxN、驱动器 nFAULT、ADC DMA buffer 对应关系。

电流采样偏置 current-offset

现象:空载静止时 Id/Iq 不为 0,Ia+Ib+Ic 有固定偏移。

可能原因:

  • 上电未校准 offset
  • 运放漂移
  • 采样窗口不对
  • ADC 通道映射错误

排查步骤:

  1. 断 PWM 后记录 ADC 零点
  2. 计算 Ia+Ib+Ic
  3. 温升后复测 offset
  4. 比较示波器电流探头

修复建议:

  • 启动前多次平均校准
  • 运行中低通跟踪小漂移
  • 避开 PWM 边沿采样
STM32 调试要点
用 ADC injected trigger 同步 TIM1 update/compare,校准值放入 Flash 或 RAM 参数区。

相序错误 phase-order

现象:给正转命令时反转,或开环能转但闭环电流很大。

可能原因:

  • U/V/W 接线交换
  • Clarke 符号与硬件相序不一致
  • 编码器方向相反

排查步骤:

  1. 低压开环给旋转电压矢量
  2. 观察机械方向
  3. 交换任意两相验证
  4. 检查 theta 增量方向

修复建议:

  • 统一相序定义
  • 在软件里修正相序映射
  • 重新做编码器零位和方向标定
STM32 调试要点
确认 PWM 通道、ADC 通道、丝印 U/V/W 和软件枚举一致。

编码器角度错误 encoder-angle

现象:Id/Iq 串扰严重,转矩小、电流大,启动时抖动。

可能原因:

  • 零位未校准
  • 机械角度未乘极对数
  • 方向相反
  • 通信丢码或延迟

排查步骤:

  1. 锁轴测零位
  2. 比较机械角/电角
  3. 低速记录 theta 与反电动势相位
  4. 检查 SPI/ABI 计数

修复建议:

  • 重做零位标定
  • 角度归一化
  • 加入角度异常检测和滤波
STM32 调试要点
检查 QEI/SPI DMA、极对数参数、theta offset、方向 bit。

速度环振荡 speed-oscillation

现象:速度围绕目标来回摆动,Iq 命令周期性大幅变化。

可能原因:

  • 速度环 Kp/Ki 过大
  • 电流环带宽不足
  • 速度滤波延迟过大
  • 机械共振

排查步骤:

  1. 先固定速度环输出验证电流环
  2. 降低速度环增益
  3. 记录 speed/Iq/torque
  4. 检查负载惯量

修复建议:

  • 按内环到外环整定
  • 加速度前馈/限斜率
  • 加入陷波或低通但控制延迟
STM32 调试要点
速度环低频分频执行,不要和电流环同频硬追。

电压饱和 voltage-saturation

现象:速度上不去,Vd/Vq 长期撞限,Iq 给定增加但实际电流跟不上。

可能原因:

  • 母线电压低
  • 高速反电动势大
  • 未启用弱磁
  • SVPWM 进入过调制

排查步骤:

  1. 计算 Vdq 幅值和 Udc/sqrt(3)
  2. 观察 duty 是否贴边
  3. 降低速度目标复测
  4. 检查弱磁 Id

修复建议:

  • 提高 Udc
  • 进入弱磁控制
  • 限制速度/Iq
  • 优化 SVPWM 和死区补偿
STM32 调试要点
记录 Vd/Vq、duty、sector、Udc ADC,作为电压饱和 fault 条件。

启动失败 startup-fail

现象:开环拖动失败、闭环切换后掉速、过流或估算角度乱跳。

可能原因:

  • 负载过大
  • 无感低速反电动势不足
  • 开环 ramp 太快
  • 切换条件不可靠

排查步骤:

  1. 降低 ramp 斜率
  2. 记录速度纹波和角度误差
  3. 延后闭环切换
  4. 检查负载和静摩擦

修复建议:

  • 建立 readiness 指标
  • 开环到闭环平滑混合
  • 启动阶段限流和防反转
STM32 调试要点
保存 startup state、speed ripple、angle jitter proxy、Id/Iq step、fault timing。

液击(压缩机) liquid-slugging

现象:启动或加速瞬间出现剧烈的电流尖峰 + 异常机械响声 + 速度短时回落;连续液击可能损坏阀片、活塞甚至连杆。

可能原因:

  • 启动加速斜坡过陡(> 800 rpm/s)
  • 气缸内残留液态制冷剂(停机时间长 / 制冷剂迁移)
  • 油位过低导致缸内润滑不足
  • 回液(蒸发器结霜 / 冷媒过量充注)
  • PWM 软启动电压跳变

排查步骤:

  1. 记录启动瞬间 Iq 峰值和 dω/dt(液击特征:< 50ms 内 Iq 跃变)
  2. 检查 accel_ramp_rpm_s 是否 > 厂商限值(典型 600)
  3. 查停机前后压缩机温度(液击常发生在长时间停机后冷启动)
  4. 听声辨位:金属敲击声接近液击,齿轮啸叫接近共振

修复建议:

  • 加速斜坡降到 300-500 rpm/s
  • 启动前先预热压缩机(曲轴箱加热器)30 分钟
  • 加入"短脉冲低速预拖动"程序:50 rpm 抖动 1-2 秒赶走液体
  • 系统设计层减少回液:低位油分离器、停机阀
STM32 调试要点
在启动状态机的 OPEN_LOOP / HFI 阶段挂监控钩子:dIq/dt > 阈值 → 软关 PWM + 报警,记录黑匣子(state, rpm, Iq 峰值, t-1s 历史)。

堵转 locked-rotor

现象:电机不转或抖动,电流维持高位(接近限幅),转速反馈为 0 或抖动;几秒内触发硬件过流保护。

可能原因:

  • 机械卡死(活塞抱死 / 异物 / 轴承烧结)
  • 负载远超电机额定(高压差 + 低吸气压)
  • 转子退磁导致同样电流转矩骤降
  • 编码器反馈丢失被误判为静止
  • 上电初始角度对齐失败

排查步骤:

  1. 断电检查机械(手动盘车看能否转动)
  2. 记录电流 / 速度 / 母线电压三联画面,看是否电流满限速度为 0
  3. 比较母线电压压缩机入口端与额定 — 排除欠压拖不动
  4. 复测电机相电阻(堵转 + 大电流容易烧绕组)

修复建议:

  • 硬件 Brake + 软件 Iq 限幅 → 堵转 1-2s 自动停机
  • 加入再启动重试逻辑(间隔 5min,最多 3 次)
  • 系统侧检查吸排气压差是否合理
  • 生产线测试电机静态相阻 / 退磁状态
STM32 调试要点
堵转判据:|rpm_actual| < 50 持续 > 1s 且 |Iq| > 0.8·I_rated → FAULT_LOCKED_ROTOR。状态机切到 FAULT 状态、disable PWM、写黑匣子、CAN 报警。

母线欠压 dc-undervolt

现象:运行中母线电压持续低于阈值(如 < 250V);电机响应变慢、电流环输出长期撞限、可能掉速或停机。

可能原因:

  • 电网电压偏低或瞬时跌落
  • PFC 前级故障导致升压不足
  • 母线电容老化失容(容值下降 → 母线纹波大)
  • 负载侧大电流瞬态把母线拉低
  • 母线电压采样分压电阻阻值漂移

排查步骤:

  1. 示波器看 Udc 时域,是缓降还是瞬时跌落
  2. 同时看输入交流电压(电网原因 vs PFC 原因)
  3. 记录大负载瞬态前后 Udc 跌幅
  4. 检查母线电容温度和容值(ESR 增大 → 容值下降)

修复建议:

  • PFC 前级母线目标值上调(典型 380V → 400V 留余量)
  • 加母线电容(或并联)
  • 负载侧加电流斜坡限制瞬态
  • 欠压保护:< 200V 持续 100ms → 报警 + 软停机
STM32 调试要点
母线 ADC 通道做 1ms 移动平均,欠压判据带滞回(< UDC_MIN 触发,> UDC_MIN + 20V 才解除)。掉电检测要早于 MCU 失电,靠 PFC 前级电容能量。

过温 over-temp

现象:IGBT/IPM 模块 NTC 温度超过阈值(典型 100°C);散热不良场景常发生;长期过温会导致 IGBT 失效和 PCB 老化。

可能原因:

  • 环境温度过高(夏季室外机)
  • 散热器堵塞 / 风扇停转
  • 负载过大 / 长时间高电流运行
  • PWM 死区设置不合理 → 开关损耗变大
  • 硅脂干涸 / 模块老化

排查步骤:

  1. 热成像枪看模块表面温度分布(IGBT 单管异常 → 失效预兆)
  2. 检查冷却风扇 / 水流量
  3. 记录温度上升曲线(突跳 = 散热失效;缓升 = 负载过重)
  4. 看是否进入弱磁也压不住电流

修复建议:

  • 降功率运行(限制 Iq 上限)直到温度回落
  • 清理散热器 + 重涂硅脂
  • 风扇升级 / 加大水流量
  • 过温分级:80°C 警告,95°C 限流 50%,105°C 停机
STM32 调试要点
NTC ADC + 查表 → 温度。三档保护:warning(仅日志)、derate(Iq 限幅按温度斜降)、shutdown(关 PWM 报警)。状态机退出时记录最后温度。

振动超限 vibration

现象:在某个特定转速段(如 70-90 Hz / 2100-2700 rpm)出现强烈振动 + 噪声 + 转速波动;进入或离开这个区间后立即正常。

可能原因:

  • 机械共振点(压缩机 + 管路 + 安装支架的固有频率)
  • 电流 / 转矩谐波激励了共振
  • 转子动平衡度差(不对中 / 偏心)
  • 减震脚松动 / 老化
  • 管路约束不足导致整机摇摆

排查步骤:

  1. 加速度计扫频找共振点(10-200 Hz 缓变扫描)
  2. 与相同型号正常机对比振动谱
  3. 检查紧固件松动 / 减震脚状态
  4. 示波器看 Iq 波形是否出现共振频率分量

修复建议:

  • "跳过共振区":在状态机里禁止稳态运行在 70-90 Hz 段,转速调度时快速通过
  • 加陷波滤波器(在速度环输入加 notch 抑制共振频率分量)
  • 加机械配重做动平衡
  • 换橡胶减震脚 / 重新安装支架
STM32 调试要点
在速度调度模块加"禁区列表":if (target_rpm in forbidden_band) → 跳到带外最近允许值 + 记录原因。陷波滤波器用 IIR 二阶节实现。

油位告警 oil-low

现象:油压传感器(或油位浮子)报低;电机仍能运转但润滑不足,长期运行会烧轴承 / 卡缸。

可能原因:

  • 系统泄漏 / 制冷剂带油过多
  • 回油管堵塞 / 油分离器失效
  • 低吸气压力工况(回油动力不足)
  • 油泵故障
  • 油位传感器故障(误报)

排查步骤:

  1. 查油位传感器输出是否合理(断电观察)
  2. 看回油管路温度(堵塞 → 出口冷)
  3. 检查吸气压力是否过低
  4. 与往年同季节对比油位下降速率

修复建议:

  • 运行限制:油位低 → 限制最高转速和负载
  • 加自动注油 / 油泵激活逻辑
  • 系统级加回油增强(油分离器 / U 型回油弯)
  • 油位低 + 吸气压力低 双条件触发停机
STM32 调试要点
油压 ADC + 滤波 + 滞回报警。油位低触发"derate 模式"——降转速 30% + Iq 限制 60%;同时延长换油周期监控。