在学习这部分内容时遇到了巨大阻力:参考教材未提及、PPT语焉不详、缺少合理的可视化帮助理解。教学时数学推导被全部跳过,更导致了困惑。为加深自己理解,写下此文。
实际上,在了解过方波驱动的直流无刷电机基本原理及其优缺点后,引出正弦波驱动的交流伺服电机是自然的:联想此前的旋转磁场即可。下面给出一个来自BLDC 电机控制 - MATLAB & Simulink的美观动图来直观感受一下:

接下来的问题是,既然要控制,应该控制哪些量,控制目标是什么?显然,我们希望通过控制三相电流达到控制电机电磁转矩的目的。控制目标是使三相电产生的旋转磁场全部产生力矩(提高能量利用效率)。
控制三相电是困难的事:PID难以控制交流信号(当然可以使用其他控制器,但PID便宜好用);难以确认使力矩最大对应的控制目标。因此,开始考虑进行一定的变换,使问题得到简化。
查看下面这个三相电流的示意图:

参考相量表示法,可将三相电流表示为三个相量。显然地,我们可以选择A相轴线为横轴(记作 α 轴),垂直A相的轴为纵轴(记作β 轴),对B、C相的电流相量做正交分解。这种分解更类似一种归算,因此,要通过某种等价原则来判断是否等价,将各相的原绕组匝数等价为新绕组匝数,这将影响所谓的系数。此处等价的原则可选择:
为了简单,我们首先把磁动势幅值相等作为等效原则,进行分解后列出如下:
N′[iαiβ]=N[10−2123−21−23]iAiBiC(1)
其中iA=Imsinωt 简单代入,化简即可有:
{iα=N′N23Imsinωtiβ=N′N23Imsinωt
要使幅值相等,显然希望N′N=32。这就是这个系数的来源
下面简单推导功率相等的情况:
N′[UαUβ]=N[10−2123−21−23]UAUBUC(2)
iA+iB+iC=0(3)
P′=[UαUβ]⋅[iαiβ]P=[UAUBUC]⋅iAiBiC(4)
当然希望 P′=P,联立推得:
P′=(N′N)223P
显然希望N′N=32,这就是这个系数的来源。
等幅值变换后的示意图如下:

上面的变换就是所谓的Clarke变换,也叫 α−β 变换。
完成这一步变换后,已经大大简化了问题,但PID控制器难以控制交流电的问题仍然存在,是否能通过某种方式将其变换为直流电的控制问题呢?
答案是肯定的。既然我们的电相量正以角速度 ω 旋转,只要选择同样以角速度 ω 旋转的正交坐标系,二者便相对静止,能够被正交分解为若干分量。接下来分析这个坐标系的选取。
回顾前文,我们的控制目标之一是使得产生的力矩最大。这样,坐标系的选取就很明显了:沿转子磁场的方向称为直轴(direct,d),垂直于此方向称为交轴(quatrature,q),则此时建立了dq坐标系。要使力矩最大,应该使定子磁场强弱不变的情况下,直轴上的磁场尽可能弱,交轴上的磁场尽可能强。此处应该指出,在同步电机的工作点上,同步转速=转子转速=旋转磁场转速=dq坐标系转速。至于转速尚未同步的阶段,并非本文研究的内容,请参考“无感启动”相关内容。总之,这样选择的dq坐标系是合理的。

参考线性代数中的旋转矩阵,立刻有:
[idiq]=[cosθ−sinθsinθcosθ][iαiβ](5)
显然,我们的控制目标是:
∣id∣=0,∣iq∣=iα2+iβ2
当然应该指出的是,此处 θ=ωt+θ0 是 t 时刻d 与 α轴所夹角。
下面给出一张磁场定向控制 - MATLAB & Simulink提供的示意图。注意观察其中变换、逆变换,控制量、误差量的关系。
