3. 过流防护机制:电流环饱和机理、过流检测与保护阈值设计、软件限流与硬件保护协同
过流防护这件事,说白了我把它看作电机控制的最后一道防线。你前面弱磁算得再准、电流环调得再顺,一旦电流失控,IGBT 或者 MOSFET 说炸就炸。我早期做项目时吃过这个亏,所以这一章我会把电流环饱和、过流检测、软硬件协同这些点掰开揉碎了讲。
3.1 电流环饱和机理
先搞清楚一个问题:电流环为什么会饱和?
电流环的本质是一个 PI 调节器,它的输出是电压指令。当 PI 的输出达到逆变器能输出的最大电压时,调节器就饱和了。这时候你给再大的电流指令,实际电流也追不上。
饱和的两种典型场景:
- 电压饱和:电机反电动势接近直流母线电压,PI 输出被钳位。
- 积分饱和:PI 的积分项持续累积,导致输出超出限幅值。
我遇到过一种情况:电机在高速区突然加载,电流指令瞬间增大,PI 积分项疯狂往上冲。等负载降下来,积分项还卡在高位,输出半天回不来——这就是典型的积分饱和。你想想看,这时候电流环基本处于失控状态。
3.2 过流检测与保护阈值设计
过流检测不能只靠软件算,硬件检测是必须的。我个人习惯在相电流采样回路里加一级硬件比较器,阈值设在 1.5 倍额定电流左右。为什么是 1.5 倍?因为电机启动和瞬态工况下,电流尖峰很容易冲到 1.2~1.3 倍,阈值设太低会误触发。
| 保护层级 | 阈值范围 | 响应时间 | 动作方式 |
|---|---|---|---|
| 软件限流 | 1.1 ~ 1.2 倍额定 | 1~2 个电流环周期 | 降低电流指令 |
| 硬件过流 | 1.5 ~ 1.8 倍额定 | 微秒级 | 直接封锁 PWM |
| 短路保护 | 2.0 倍以上 | 纳秒级 | 硬件关断 |
注意:硬件过流阈值不能设得太接近软件限流值。我曾经在一个项目里把硬件阈值设在 1.2 倍,结果电机启动时软件限流还没反应过来,硬件先跳了。后来我把硬件阈值调到 1.6 倍,留出足够的软件响应窗口。
3.3 软件限流策略
软件限流不是简单地把电流指令砍一刀。我常用的方法有三种:
- 指令限幅:在电流环输入端直接限制 dq 轴电流指令的最大值。简单粗暴,但容易导致动态响应变差。
- 积分限幅:对 PI 调节器的积分项做限幅,防止积分饱和。这个在弱磁区特别重要。
- 动态限流:根据母线电压和电机转速实时计算最大允许电流。这个方法最灵活,但计算量也最大。
我个人比较推荐第二种加第三种组合使用。积分限幅保证稳态不饱和,动态限流保证瞬态不超限。
// 积分限幅示例(C 语言伪代码)
void current_loop(void) {
float err_iq = iq_ref - iq_fb;
integral_iq += ki_iq * err_iq * dt;
// 积分限幅
if (integral_iq > INTEGRAL_LIMIT) {
integral_iq = INTEGRAL_LIMIT;
} else if (integral_iq < -INTEGRAL_LIMIT) {
integral_iq = -INTEGRAL_LIMIT;
}
vq_out = kp_iq * err_iq + integral_iq;
}
3.4 硬件保护协同设计
软件限流和硬件保护不是二选一,而是协同工作。我习惯把整个保护架构分成三层:
- 第一层:软件限流——正常工况下防止电流超限,响应慢但灵活。
- 第二层:硬件过流——检测到过流立即封锁 PWM,响应快但粗暴。
- 第三层:硬件短路——最后一道防线,通常由驱动芯片或分立电路实现。
这里有个关键点:硬件过流触发后,软件需要能检测到故障状态,并在故障消除后自动恢复。我见过不少设计,硬件保护一触发就死锁,必须断电重启——这在工业现场是很麻烦的。
我的做法:硬件过流触发后,驱动芯片会拉低一个 FAULT 引脚。MCU 检测到这个引脚电平变化后,先记录故障信息,然后尝试在 100ms 后重新使能 PWM。如果连续三次都触发过流,才进入永久故障状态。这样既保证了安全,又避免了误触发导致的停机。
3.5 过流防护知识体系
下面这张图把过流防护的核心逻辑串起来了。你可以看到,从电流环饱和到硬件保护,每一层都有明确的职责和接口。
3.6 避坑指南
最后分享几个我踩过的坑:
- 积分限幅值设太大:我曾经把积分限幅设到 PI 输出上限的 80%,结果积分饱和还是发生了。后来改成 50%,效果好了很多。
- 硬件过流信号没做滤波:有一次现场干扰导致硬件过流误触发,查了两天才发现是信号线上串入了噪声。加一个 RC 滤波就解决了。
- 故障恢复时间太短:我试过 10ms 恢复,结果电机还在震荡,反复触发过流。后来改成 100ms,配合电流指令斜坡上升,问题就没了。