1. 电机控制概述:从数学模型到三环架构

各位同学,欢迎来到《三环控制PWM触发与SVPWM》的第一章。我是你们这门课的老朋友,一个在电机控制领域摸爬滚打了十几年的工程师。今天咱们不聊虚的,直接切入正题——永磁同步电机(PMSM)到底怎么控?为什么非得搞Clark变换和Park变换?三环架构又是怎么搭起来的?

说实话,我刚入行那会儿,看着这些变换公式也是一头雾水。后来在项目里被电流噪声折磨了三个月,才真正明白这些数学工具的价值。嗯,咱们一步步来。

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

先说说PMSM的本质。你想想看,它就是个转子带永磁体、定子绕线圈的同步电机。转子转,定子磁场也得跟着转,两者必须同步。这就是“同步”二字的由来。

数学上,我们通常用d-q轴模型来描述它。为什么用d-q轴?因为三相静止坐标系下的方程太复杂了,耦合严重,没法直接控制。d-q轴模型把问题简化了。

核心方程如下:

定子电压方程:
ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)

电磁转矩方程:
Te = 1.5 * p * [ψf * iq + (Ld - Lq) * id * iq]

运动方程:
J * (dωm/dt) = Te - TL - B * ωm

这里有几个关键点,我当年踩过坑:

  • Rs:定子电阻,温度一变它就变。我曾经在高温环境下没做补偿,电流环直接震荡。
  • Ld、Lq:d轴和q轴电感。对于表贴式PMSM(SPMSM),Ld ≈ Lq;对于内置式(IPMSM),Ld < Lq,这时候可以利用磁阻转矩。
  • ψf:永磁体磁链,温度升高会下降。嗯,这里要注意,高速弱磁时磁链估算不准,容易出问题。

核心要点:d-q轴模型把交流电机变成了“直流电机”来控——id控制励磁,iq控制转矩。这是整个矢量控制的基石。

1.2 Clark变换与Park变换原理

好,模型有了,怎么把实际的三相电流(ia, ib, ic)变成d-q轴下的id、iq呢?这就得靠两大变换:Clark和Park。

1.2.1 Clark变换(3s → 2s)

Clark变换把三相静止坐标系(a, b, c)变换到两相静止坐标系(α, β)。说白了,就是把三个变量变成两个,减少控制维度。

变换公式:
iα = ia
iβ = (ia + 2 * ib) / √3

或者用矩阵形式:
[iα]   [ 1,    -1/2,   -1/2 ] [ia]
[iβ] = [ 0,   √3/2,  -√3/2 ] [ib]
                              [ic]

我个人习惯用等幅值变换,这样变换前后电流幅值不变,调试时直观一些。当然也有等功率变换,系数不同,看你用的芯片库支持哪种。

小技巧:实际代码中,只需要采样两相电流(比如ia和ib),第三相ic = -(ia + ib)。省一个ADC通道,还能省成本。

1.2.2 Park变换(2s → 2r)

Park变换把两相静止坐标系(α, β)旋转到两相旋转坐标系(d, q)。旋转角度就是转子位置角θe。

变换公式:
id = iα * cos(θe) + iβ * sin(θe)
iq = -iα * sin(θe) + iβ * cos(θe)

为什么要旋转?因为旋转之后,id和iq就变成了直流量。直流量好控啊,用PI调节器就能做到无静差跟踪。你想想看,如果直接控交流量,PI怎么调都调不准,相位滞后永远存在。

避坑指南:我曾经在项目里把Park变换的角度符号搞反了,结果电机一启动就飞车。后来养成了习惯:每次写完变换代码,先做开环测试,给一个固定角度,看id/iq是否等于iα/iβ的旋转投影。这个测试花不了5分钟,但能省你半天排查时间。

1.3 三环控制架构介绍

有了数学模型和坐标变换,我们就可以搭控制架构了。经典的PMSM矢量控制采用三环串级结构:从内到外依次是电流环、速度环、位置环。

下面这张图是我自己画的,把整个控制链路串起来了:

三环控制与SVPWM整体架构图 三环控制与SVPWM整体架构 位置环 (P) 速度环 (PI) 电流环 (PI) SVPWM 位置反馈 速度反馈 电流反馈 PMSM + 编码器 说明: 外环(位置环)输出作为内环(速度环)的给定,速度环输出作为电流环的给定。内环响应速度远快于外环。 典型带宽分配(我常用的经验值): 电流环:1~2 kHz(最内层,响应最快) 速度环:100~500 Hz(中间层) 位置环:10~50 Hz(最外层,响应最慢)

1.3.1 电流环(最内层)

电流环是基础,也是我花时间最多的环节。它直接控制id和iq,让实际电流快速跟踪给定值。

  • 控制对象:PMSM的定子绕组(电气时间常数小)
  • 控制器:PI调节器,通常带抗积分饱和
  • 反馈:采样三相电流 → Clark变换 → Park变换 → id/iq
  • 输出:ud、uq → 逆Park变换 → SVPWM → 逆变器

个人经验:电流环的PI参数整定,我习惯用“带宽法”。先根据电气时间常数估算出积分时间Ti ≈ L/R,然后从低带宽往上调。带宽太高容易引发震荡,尤其是当PWM载波频率不够高时。

1.3.2 速度环(中间层)

速度环在电流环外面,它的输出就是电流环的iq给定(id给定通常设为0,或者根据MTPA策略调整)。

  • 控制对象:电机+负载的机械系统(机械时间常数大)
  • 控制器:PI调节器,有时加前馈补偿
  • 反馈:编码器测速(M法、T法或M/T法)
  • 输出:iq_ref(转矩电流给定)

我记得有个项目,负载惯量特别大,速度环怎么调都超调。后来加了速度前馈,把加速度分量直接补偿到iq上,效果立竿见影。

1.3.3 位置环(最外层)

位置环是最外层的控制环,通常用于伺服定位、机器人关节等场景。它的输出就是速度环的速度给定。

  • 控制对象:位置误差累积
  • 控制器:P调节器(很少用I,容易积分饱和导致过冲)
  • 反馈:编码器位置(绝对式或增量式)
  • 输出:ω_ref(速度给定)

避坑指南:我曾经在位置环里加了积分项,结果每次定位都会过冲然后回调,浪费了不少时间。后来才明白,位置环本身就有积分作用(位置是速度的积分),再加I就是双重积分,系统容易不稳定。位置环用纯P就够了。

1.4 三环之间的协调关系

三环不是各自为政的,它们之间有严格的时序和带宽约束。我总结了一个表格,方便大家对照:

控制环 控制周期 典型带宽 输出量 反馈量
电流环 PWM周期(50~100 μs) 1~2 kHz ud, uq id, iq(经Clark/Park变换)
速度环 电流环的5~10倍 100~500 Hz iq_ref ω(编码器测速)
位置环 速度环的5~10倍 10~50 Hz ω_ref θ(编码器位置)

为什么要这样分配?说白了,内环必须比外环快一个数量级。如果电流环响应慢,速度环一给指令,电流还没跟上,系统就会抖动。我见过有人把三个环都跑在同一个频率,结果电机嗡嗡响,根本稳不住。

1.5 本章小结

这一章我们覆盖了三个核心内容:

  1. PMSM的d-q轴数学模型——把交流电机简化成直流电机来控
  2. Clark变换和Park变换——从三相到两相,从静止到旋转
  3. 三环控制架构——电流环、速度环、位置环的职责与配合

这些是后面所有章节的基础。下一章我们会深入SVPWM的扇区判断和矢量作用时间计算,那才是真正考验代码功底的地方。不过别急,先把今天的内容消化透。

如果你在项目中遇到电流震荡或者速度超调的问题,不妨回头看看这一章——八成是哪个环的带宽没配好,或者变换的角度搞反了。我当年就是这么过来的。