4. 电机建模:永磁同步电机(PMSM)数学模型、矢量控制(FOC)原理、转矩与转速控制

各位同学,欢迎来到第四章。

这一章,我们聊聊电机控制里最核心的东西——永磁同步电机(PMSM)。

说实话,我刚入行那会儿,觉得电机就是个黑盒子,给电就转。直到第一次做项目,电机在高速时突然失控,我才意识到:不懂模型,你根本没法驾驭它。

今天,我们就把它拆开看看。

4.1 永磁同步电机(PMSM)的数学模型

先问个问题:为什么非得建数学模型?

因为电机内部的电磁关系,肉眼看不见。你拧油门,电流怎么变?转矩怎么变?全靠数学描述。

4.1.1 三相静止坐标系下的模型

PMSM 定子上有三相绕组,通入三相交流电。转子是永磁体。

在三相静止坐标系(ABC 坐标系)下,电压方程长这样:

u_a = R_s * i_a + d(ψ_a)/dt
u_b = R_s * i_b + d(ψ_b)/dt
u_c = R_s * i_c + d(ψ_c)/dt

其中 ψ 是磁链。它包含两部分:定子电流产生的,和转子永磁体耦合过来的。

这个模型很直观,但有个致命问题——它是个时变系统。转子一转,电感参数跟着变,没法直接用 PID 控制。

我当年做仿真时,在这个模型上浪费了两周。后来才明白,得换个坐标系。

4.1.2 坐标变换:Clark 与 Park

核心思想:把三相交流量,变成两相直流量。

  • Clark 变换:ABC → αβ(静止两相)
  • Park 变换:αβ → dq(旋转两相)

变换公式如下:

// Clark 变换(等幅值)
i_α = i_a
i_β = (i_a + 2*i_b) / √3

// Park 变换
i_d = i_α * cos(θ) + i_β * sin(θ)
i_q = -i_α * sin(θ) + i_β * cos(θ)

做完 Park 变换后,d 轴和 q 轴上的量都是直流。控制起来就简单了。

我的习惯: 实际代码里,我一般把 sin/cos 查表存好,别实时算,太费算力。

4.1.3 dq 坐标系下的数学模型

这是最常用的模型。电压方程:

u_d = R_s * i_d + L_d * di_d/dt - ω_e * L_q * i_q
u_q = R_s * i_q + L_q * di_q/dt + ω_e * (L_d * i_d + ψ_f)

转矩方程:

T_e = 1.5 * p * [ψ_f * i_q + (L_d - L_q) * i_d * i_q]

这里 p 是极对数,ψ_f 是永磁体磁链。

你看,转矩由两部分组成:

  • 永磁转矩:ψ_f * i_q,这是主力
  • 磁阻转矩:(L_d - L_q) * i_d * i_q,只有凸极电机才有

我做过一个项目,用的是内嵌式 PMSM(IPMSM),磁阻转矩占比能到 30%。如果不考虑它,效率直接掉一截。

4.2 矢量控制(FOC)原理

FOC,全称 Field Oriented Control,磁场定向控制。

说白了,就是模仿直流电机的控制方式——你控制励磁电流和电枢电流,互不干扰。

4.2.1 核心思想

在 dq 坐标系下:

  • d 轴电流 i_d:控制磁场强弱
  • q 轴电流 i_q:控制转矩大小

理想情况下,让 i_d = 0,所有电流都用来产生转矩。这就是经典的 i_d = 0 控制

重要: i_d = 0 只适用于表贴式 PMSM(SPMSM)。对于 IPMSM,需要做 MTPA(最大转矩电流比)控制,分配一部分 i_d 来利用磁阻转矩。

4.2.2 FOC 控制框图

典型的 FOC 流程:

  1. 采样三相电流 i_a, i_b, i_c
  2. Clark 变换 → i_α, i_β
  3. Park 变换 → i_d, i_q
  4. PI 控制器:i_d_ref vs i_d_fb,i_q_ref vs i_q_fb
  5. 反 Park 变换 → u_α, u_β
  6. SVPWM 调制 → 驱动逆变器

嗯,这里要注意:PI 控制器的输出是电压,不是电流。所以电流环的带宽要设计好,一般设到 1/10 的开关频率。

4.2.3 避坑指南

我曾经踩过的坑: 转子初始位置没对准。FOC 依赖 Park 变换,而 Park 变换需要准确的转子角度 θ。如果初始位置偏差超过 10°,电机启动时会剧烈抖动甚至反转。后来我每次上电都做一次初始位置辨识,用高频注入法,稳得很。

4.3 转矩与转速控制

有了 FOC,控制转矩和转速就变成了控制 i_q 和 i_d。

4.3.1 转矩控制模式

直接给 i_q_ref。比如你踩油门,控制器根据踏板开度算出目标转矩,然后查表得到 i_q_ref。

公式很简单:

i_q_ref = T_ref / (1.5 * p * ψ_f)   // 忽略磁阻转矩时

实际项目中,我会用查表法。因为 ψ_f 会随温度变化,磁钢温度高了,磁链下降,同样的 i_q 转矩会变小。查表能补偿这个。

4.3.2 转速控制模式

外环是转速 PI,内环是电流 PI。

转速环的输出就是 i_q_ref。结构如下:

转速环 PI:
    error = ω_ref - ω_fb
    i_q_ref = Kp_ω * error + Ki_ω * ∫error dt

电流环 PI:
    error_d = i_d_ref - i_d_fb
    u_d_ref = Kp_d * error_d + Ki_d * ∫error_d dt

    error_q = i_q_ref - i_q_fb
    u_q_ref = Kp_q * error_q + Ki_q * ∫error_q dt

转速环的带宽一般设到电流环的 1/5 到 1/10。太快了容易振荡,太慢了响应迟钝。

我建议: 调试时先调电流环,再调转速环。电流环调好了,转速环基本不会出大问题。我见过有人一上来就调转速环,结果电流环没锁住,电机嗡嗡响。

4.3.3 弱磁控制

当转速超过基速时,反电动势会超过母线电压。这时候需要弱磁——给 d 轴通负电流,削弱磁场。

弱磁控制的核心公式:

i_d_ref = -ψ_f / L_d + sqrt((u_lim / ω_e)^2 - (L_q * i_q)^2) / L_d

这个公式看着复杂,其实逻辑很简单:电压不够了,用 d 轴电流来「借」电压给 q 轴。

我做高速电机项目时,弱磁深度到了 3 倍基速。当时最头疼的是电流环饱和,一饱和就失控。后来加了抗饱和积分(Anti-Windup),才算稳住。

4.4 总结与思考

这一章我们聊了:

  • PMSM 的数学模型,从三相到 dq 坐标系的变换
  • FOC 的核心原理,电流环和坐标变换
  • 转矩控制和转速控制的实现方法

说实话,FOC 已经是很成熟的技术了。但真正做好,需要你对模型有深刻理解,对参数有足够敬畏。

下一章,我们会聊 SVPWM 调制。那是把控制信号变成实际电压的关键一步。

下课。