1. 电机控制基础:永磁同步电机结构、工作原理、数学模型

各位同学,咱们今天聊聊永磁同步电机(PMSM)的基础。说实话,这玩意儿是FOC控制的核心对象。你如果连它长什么样、怎么转起来的都不清楚,后面那些PI参数整定、SVPWM调制根本无从下手。我当年刚入行时,就是先花了一周时间把电机模型吃透,后面写代码才顺风顺水。

1.1 永磁同步电机的物理结构

PMSM的结构,说白了就是「定子+转子」两大部分。定子跟普通交流电机差不多,里面嵌着三相对称绕组。关键在转子——上面贴了永磁体。

根据永磁体的安装方式,我习惯把它们分成两类:

  • 表贴式(SPMSM):磁钢贴在转子铁芯表面。这种结构简单,成本低,但高速时磁钢容易飞出去。我在做电动工具项目时遇到过这个问题,后来加了护套才解决。
  • 内置式(IPMSM):磁钢嵌在转子铁芯内部。这种结构机械强度高,适合高速运行,而且有磁阻转矩可以利用。电动汽车驱动电机基本都是这种。

你想想看,表贴式和内置式最大的区别是什么?嗯,就是交直轴电感不一样。表贴式Ld≈Lq,内置式Ld<Lq。这个差异直接决定了你的控制策略——是id=0还是MTPA。

重要概念:永磁体在转子上产生恒定的磁场,定子绕组通电后产生旋转磁场,两个磁场相互作用,电机就转起来了。这就是最根本的工作原理。

1.2 工作原理——为什么它会转?

咱们用最直白的话讲:定子绕组通入三相交流电,产生一个旋转的磁场。这个旋转磁场「拽着」转子上的永磁体一起转。因为永磁体有磁性,它总想跟定子磁场对齐。

为什么会这样?因为磁力线走最短路径,这是物理规律。定子磁场转得快,转子就跟不上,于是产生转矩。转矩的大小取决于两个磁场的夹角——也就是我们常说的「功角」或「转矩角」。

我记得有一次调试,电机死活转不起来,查了半天发现是初始角度没对准。嗯,这里要注意:FOC控制的前提是你得知道转子位置,否则电流方向不对,转矩出不来。

1.3 数学模型——工程师的「武器」

搞电机控制,数学是绕不开的。但别怕,咱们不搞纯理论推导,只讲你写代码时真正用得上的东西。

1.3.1 三相静止坐标系下的方程

先看最原始的模型。三相电压方程长这样:

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

其中ψ是磁链,包含两部分:定子电流产生的磁链,加上永磁体贡献的磁链。说白了就是:

ψ_a = L_aa * i_a + L_ab * i_b + L_ac * i_c + ψ_f * cos(θ)
ψ_b = L_ba * i_a + L_bb * i_b + L_bc * i_c + ψ_f * cos(θ - 120°)
ψ_c = L_ca * i_a + L_cb * i_b + L_cc * i_c + ψ_f * cos(θ + 120°)

看着是不是很头疼?电感矩阵里一堆耦合项,而且L_aa、L_bb、L_cc还随转子位置变化。我在项目中第一次看到这个模型时,心想这玩意儿怎么用代码实现?

别急,聪明的工程师们早就想好了办法——坐标变换。

1.3.2 旋转坐标系下的模型(dq轴)

通过Clark变换和Park变换,我们把三相静止坐标系转换到跟转子同步旋转的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)

磁链方程:

ψ_d = L_d * i_d + ψ_f
ψ_q = L_q * i_q

转矩方程:

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

看到没?原来三相耦合的复杂系统,到了dq坐标系下变成了两个独立的直流回路。d轴控制磁通,q轴控制转矩。这就是FOC的核心思想——解耦控制。

个人经验:我建议你在写代码时,先把dq轴模型背下来。尤其是转矩方程,它直接决定了你的控制策略。对于表贴式电机,Ld=Lq,转矩只跟iq有关,所以用id=0控制就行。对于内置式电机,还有磁阻转矩项(Ld-Lq)*id*iq,可以用MTPA来提升效率。

1.4 知识体系总览

下面这张图是我自己整理的PMSM基础知识框架,你看一遍就能把整个章节串起来:

PMSM基础知识体系 物理结构 定子(绕组) 转子(永磁体) 表贴式SPMSM 内置式IPMSM 工作原理 旋转磁场 电磁转矩 功角控制 数学模型 三相静止模型 dq旋转模型 电压方程 磁链方程 转矩方程 核心:坐标变换 → 解耦控制 → FOC

1.5 几个关键参数的物理意义

写代码时,你天天跟这些参数打交道。我列个表,方便你对照:

参数 符号 物理意义 实际影响
定子电阻 Rs 绕组铜损 低速时影响大,高速时压降占比小
d轴电感 Ld d轴磁路磁导 影响弱磁能力,Ld越小越容易弱磁
q轴电感 Lq q轴磁路磁导 影响转矩响应速度
永磁磁链 ψf 永磁体产生的磁通 直接决定反电动势大小和转矩常数
极对数 p 转子磁极对数 影响转速和转矩的换算关系

避坑指南:我曾经在项目里直接用厂家给的参数表,结果电机跑起来发热严重。后来才发现,厂家给的Ld、Lq是在额定工况下测的,实际运行时电感会随电流变化。尤其是大电流时,磁路饱和会导致电感下降30%以上。所以,我建议你拿到电机后,先自己做一下参数辨识,别偷懒。

1.6 从模型到代码的思考

有了dq轴模型,写FOC代码就清晰了。你想想看:

  • 电流采样 → Clark变换 → Park变换 → 得到id、iq
  • id、iq分别跟给定值比较 → PI调节器 → 得到ud、uq
  • ud、uq → 反Park变换 → SVPWM → 驱动逆变器

每一步都对应着数学模型中的一个环节。比如Park变换,就是把三相电流投影到dq轴上,本质上就是在解方程。我刚开始写代码时,就是对着dq轴方程一行一行翻译成C语言的。

嗯,这一章的内容就到这儿。记住,电机模型是FOC的根基。后面讲电流环、速度环设计时,我们还会反复用到这些方程。你先把今天的内容消化掉,尤其是那个转矩方程,多琢磨几遍。


公众号:蓝海资料掘金营,微信deep3321