4、弱磁控制基础:MTPA与弱磁的过渡策略、MTPV轨迹与弱磁区关系、深度弱磁下的电流轨迹规划

好,咱们进入第四章。这一章是弱磁控制里最核心的“十字路口”。

很多工程师做弱磁,上来就查表、调PI,结果电机要么抖得像筛子,要么直接过流。为什么?说白了,就是没搞懂MTPA(最大转矩电流比)、弱磁区和MTPV(最大转矩电压比)这三者之间的过渡关系。

我个人习惯把整个电流轨迹规划看作一条“高速公路”。从低速到高速,你得知道什么时候该换车道,什么时候该踩刹车。今天咱们就把这条路彻底走一遍。

核心观点:弱磁控制不是简单的“降d轴电流”,而是一个从MTPA到弱磁区,再到MTPV的连续轨迹规划问题。过渡策略的好坏,直接决定了系统的动态响应和稳定性。

4.1 MTPA与弱磁的过渡策略

先说说MTPA。在基速以下,我们追求的是“用最小的电流,出最大的转矩”。这就是MTPA的本质。它的轨迹在id-iq平面上是一条曲线,我习惯叫它“黄金曲线”。

但电机转速一旦超过基速,反电动势就逼近母线电压极限了。这时候,你不能再沿着MTPA走了,必须主动增加负的id,也就是弱磁。

过渡策略的核心问题:什么时候切?怎么切?

我在项目中遇到过一种情况:某款高速主轴电机,在基速点附近反复振荡。后来发现,是MTPA到弱磁的切换点太“硬”了。电流环在边界上来回跳,导致转矩波动。

我建议的过渡策略分三步:

  1. 电压余量检测:实时计算当前电压利用率。当电压余量低于5%时,开始准备进入弱磁。
  2. 平滑切入:不要直接给一个大的负id,而是通过一个斜坡函数,让id从MTPA轨迹上的值,逐渐过渡到弱磁区的目标值。
  3. 电流环限幅:在过渡过程中,必须对iq进行限幅,防止因为id增加导致总电流超过逆变器容量。

实战技巧:我曾经在调试一个48V低压系统时,发现电压余量检测的滤波时间常数很关键。太小了容易误触发,太大了反应太慢。我最终取的是5ms的一阶低通滤波,效果不错。

这里有一个常见的误区:很多人以为弱磁就是“无脑”加负id。其实不然。过渡策略的核心是电压闭环。你需要一个电压调节器,它的输出就是id的修正量。这个调节器的PI参数整定,我后面会专门讲。

4.2 MTPV轨迹与弱磁区关系

好,咱们继续提速。当电机转速非常高时,你会发现一个现象:即使你把id推到很负,转矩反而开始下降了。这时候,你其实已经进入了深度弱磁区。

在深度弱磁区,我们追求的就不再是“最大转矩电流比”了,而是“最大转矩电压比”,也就是MTPV。

MTPV轨迹是什么?它是在电压极限椭圆和电流极限圆共同约束下,能输出最大转矩的点的集合。说白了,就是“在电压和电流都到顶的情况下,怎么挤出最多的转矩”。

MTPV轨迹与弱磁区的关系,可以用一张图说清楚:

MTPA / 弱磁 / MTPV 电流轨迹关系图 电流极限圆 电压极限椭圆(低速) 电压极限椭圆(高速) id iq O MTPA轨迹 弱磁过渡区 MTPV轨迹 A(基速点) B(转折点) C(MTPV点) 图例说明 A→B:MTPA到弱磁过渡 B→C:弱磁到MTPV过渡 C点后:深度弱磁区 电压椭圆随转速升高收缩

从图上可以看到:

  • A点(基速点):MTPA轨迹与电压极限椭圆第一次相交。过了A点,必须弱磁。
  • B点(转折点):MTPA轨迹与MTPV轨迹的交汇处。过了B点,MTPA不再是最优解。
  • C点(MTPV点):在深度弱磁区,电流轨迹沿着MTPV曲线走,直到电流极限圆边界。

注意:MTPV轨迹并不是在所有电机中都存在。对于表贴式永磁同步电机(SPMSM),由于Ld = Lq,MTPV轨迹退化为一条直线。但对于内置式永磁同步电机(IPMSM),MTPV是必须考虑的。

4.3 深度弱磁下的电流轨迹规划

深度弱磁,是弱磁控制中最难啃的骨头。为什么难?因为此时电机已经工作在“极限状态”——电压饱和、电流饱和,任何一点扰动都可能导致系统失控。

我记得有一次调试一个高速压缩机项目,转速要求到15000rpm。在深度弱磁区,电流轨迹稍微偏一点,母线电压就剧烈波动,最后导致过压故障。后来我重新规划了电流轨迹,才把问题解决。

深度弱磁下的电流轨迹规划,我总结了一个“三步走”策略:

步骤 目标 关键动作 注意事项
第一步 确定电压极限边界 根据直流母线电压和PWM调制方式,计算最大可用电压 SVPWM下最大相电压为Udc/√3
第二步 计算MTPV轨迹 求解转矩对电流的偏导方程,得到MTPV曲线 需要准确的Ld、Lq和磁链参数
第三步 轨迹跟踪控制 设计电压闭环调节器,使实际电流跟踪MTPV轨迹 抗积分饱和是重点

具体到代码实现,我习惯用查表法+在线修正。下面是一个简化的MTPV轨迹计算函数:

// 简化版MTPV轨迹计算(IPMSM)
// 输入:当前转速n,母线电压Udc
// 输出:目标id_ref, iq_ref
void mtpv_trajectory_calc(float n, float Udc, float *id_ref, float *iq_ref) {
    float Ld = 0.0004;   // d轴电感 (H)
    float Lq = 0.0008;   // q轴电感 (H)
    float psi_f = 0.05;  // 永磁磁链 (Wb)
    float pole_pairs = 4;
    
    // 1. 计算电压极限
    float Umax = Udc / 1.732;  // SVPWM最大相电压
    float omega_e = n * pole_pairs * 0.1047;  // 电角速度 (rad/s)
    
    // 2. 求解MTPV方程:d(Te)/d(id) = 0,在电压极限约束下
    // 这里使用简化解析解(实际工程中建议用牛顿迭代)
    float id_mtpv = -psi_f / Ld + sqrt(pow(psi_f/Ld, 2) + pow(Umax/(omega_e*Ld), 2));
    id_mtpv = -fabs(id_mtpv);  // MTPV的id始终为负
    
    // 3. 根据电压极限计算对应的iq
    float iq_mtpv = sqrt(pow(Umax/(omega_e*Lq), 2) - pow(id_mtpv + psi_f/Lq, 2));
    
    // 4. 限幅处理(电流极限圆)
    float Imax = 100.0;  // 最大相电流
    if (sqrt(id_mtpv*id_mtpv + iq_mtpv*iq_mtpv) > Imax) {
        float scale = Imax / sqrt(id_mtpv*id_mtpv + iq_mtpv*iq_mtpv);
        id_mtpv *= scale;
        iq_mtpv *= scale;
    }
    
    *id_ref = id_mtpv;
    *iq_ref = iq_mtpv;
}

避坑指南:我曾经在MTPV计算中直接用了查表法,结果参数变化时轨迹严重偏离。后来我改用“查表+在线梯度修正”,鲁棒性好了很多。具体做法是:用查表值作为初值,然后根据电压误差,沿MTPV梯度方向修正。

深度弱磁下的另一个关键点是电压闭环的稳定性。我见过很多工程师把电压调节器的带宽设得很高,结果系统振荡。我的经验是:电压环带宽不要超过电流环带宽的1/5。同时,必须加抗积分饱和(Anti-Windup),否则积分项一饱和,系统就失控了。

最后,我想强调一点:电流轨迹规划不是一劳永逸的。电机参数会随温度、饱和程度变化。所以,在线参数辨识是深度弱磁控制的“终极武器”。我后面会专门用一章来讲这个话题。

本章小结:从MTPA到弱磁,再到MTPV,是一条连续的电流轨迹。过渡策略要平滑,MTPV轨迹要准确,深度弱磁下的轨迹规划要兼顾稳定性和动态响应。记住:弱磁控制,规划先行。