永磁同步电机控制原理--yyc1永磁同步电机原理1.1永磁同步电机基本结构永磁同步电机转子是永磁铁,定子是三相绕组。假设1)定子绕组为Y形接法,三相绕组对称分布。2)忽略定子绕组的齿槽对气隙磁场分布的影响。3)忽略铁心损失4)忽略电动机参数(绕组电阻和绕组电感等)的变化。三相两极永磁同步电机的结构:a)定子绕组分布图b)定子绕组示意图1.2永磁同步电机动态数学模型[𝑢𝐴𝑢𝐵𝑢𝐶]=[𝑅1000𝑅1000𝑅1][𝑖𝐴𝑖𝐵𝑖𝐶]+𝑑([Φ𝐴Φ𝐵Φ𝐶])/𝑑𝑡ABC三项绕组的磁链可以拆分为2部分,定子绕组自感互感产生的磁链和转子永磁体产生的磁链。[Φ𝐴Φ𝐵Φ𝐶]=[𝐿𝐴𝐴𝐿𝐴𝐵𝐿𝐴𝐶𝐿𝐵𝐴𝐿𝐵𝐵𝐿𝐵𝐶𝐿𝐶𝐴𝐿𝐶𝐵𝐿𝐶𝐶][𝑖𝐴𝑖𝐵𝑖𝐶]+[ψ𝐴𝑚ψ𝐵𝑚ψ𝐶𝑚]定子绕组对称分布𝐿𝐴𝐴=𝐿𝑠+𝐿𝑚cos(2𝜃)𝐿𝐵𝐵=𝐿𝑠+𝐿𝑚cos(2(𝜃−2𝜋/3))𝐿𝐶𝐶=𝐿𝑠+𝐿𝑚cos(2(𝜃+2𝜋/3))𝐿𝑠为三相绕组自感平均值𝐿𝑚为三相绕组自感二次谐波幅值𝜃为转子电角度电角度𝜃=𝑁𝜃𝑟𝑁为极对数𝜃𝑟为机械角度定子绕组互感𝐿𝐴𝐵=𝐿𝐵𝐴=−𝑀𝑠−𝐿𝑚cos(2(𝜃𝑟+𝜋6))𝐿𝐵𝐶=𝐿𝐶𝐵=−𝑀𝑠−𝐿𝑚cos(2(𝜃𝑟+𝜋6−2𝜋/3))𝐿𝐶𝐴=𝐿𝐴𝐶=−𝑀𝑠−𝐿𝑚cos(2(𝜃𝑟+𝜋6+2𝜋/3))注意,这里𝐿𝑚定义的是负号,跟有的书上不一样。转子永磁体在三相绕组产生的磁链与电流无关,仅与电角度有关ψ𝐴𝑚=ψ𝑚cos(𝜃)ψ𝐵𝑚=ψ𝑚cos(𝜃−2𝜋/3)ψ𝐶𝑚=ψ𝑚cos(𝜃+2𝜋/3)永磁同步电机模型的表达关键在于磁链数据,现在磁链数据表达为4个参数𝐿𝑠𝐿𝑚𝑀𝑠ψ𝑚转矩方程𝑇𝑒=12[𝑖𝐴𝑖𝐵𝑖𝐶]𝜕([𝐿𝐴𝐴𝐿𝐴𝐵𝐿𝐴𝐶𝐿𝐵𝐴𝐿𝐵𝐵𝐿𝐵𝐶𝐿𝐶𝐴𝐿𝐶𝐵𝐿𝐶𝐶])𝜕𝜃𝑟[𝑖𝐴𝑖𝐵𝑖𝐶]+[𝑖𝐴𝑖𝐵𝑖𝐶]𝜕([ψ𝐴𝑚ψ𝐵𝑚ψ𝐶𝑚])𝜕𝜃𝑟化简表达式:Matlab代码:1.3坐标变换由前面推导发现在ABC三相坐标下磁链往往都相互耦合,与三相电流,角度都相关,表达式很复杂,因此想到坐标变换。a)3s坐标系b)2s坐标系c)2r坐标系电动机内的气隙磁场是进行电磁能量传递的媒介,定转子之间的能量传递是靠气隙磁场来进行的,不同类型的绕组进行变换时,需要保持它们的总磁动势不变。𝐹3𝑠2𝑠=𝑁3(𝑖𝐴+𝑖𝐵𝑒𝑗2𝜋3+𝑖𝐶𝑒𝑗4𝜋3)𝐹2𝑠2𝑠=𝑁2(𝑖𝛼+𝑖𝛽𝑒𝑗𝜋2)𝐹2𝑟2𝑠=𝑁2(𝑖𝑑+𝑖𝑞𝑒𝑗𝜋2)𝑒𝑗𝜃𝐹3𝑠2𝑠表示3𝑠坐标绕组产生的磁动势在2𝑠坐标中的表达𝐹2𝑠2𝑠表示2𝑠坐标绕组产生的磁动势在2𝑠坐标中的表达𝐹2𝑟2𝑠表示2𝑟坐标绕组产生的磁动势在2𝑠坐标中的表达令𝐹3𝑠2𝑠=𝐹2𝑠2𝑠(𝑖𝛼+𝑖𝛽𝑒𝑗𝜋2)=𝑁3𝑁2(𝑖𝐴+𝑖𝐵𝑒𝑗2𝜋3+𝑖𝐶𝑒𝑗4𝜋3)为了让推导出来的三相电流与两相电流幅值相等,取𝑁3𝑁2=2/3得到:𝐶3𝑠→2𝑠=23[1−12−120√32−√32]𝐶2𝑠→3𝑠=[10−12√32−12−√32]同理得到:𝐶2𝑟→2𝑠=[cos𝜃−sin𝜃sin𝜃cos𝜃]𝐶2𝑠→2𝑟=[cos𝜃sin𝜃−sin𝜃cos𝜃]1.4dq坐标系的动态数学方程执行坐标变换[𝑖𝑑𝑖𝑞]=𝐶2𝑠→2𝑟𝐶3𝑠→2𝑠[𝑖𝐴𝑖𝐵𝑖𝐶][𝑢𝑑𝑢𝑞]=𝐶2𝑠→2𝑟𝐶3𝑠→2𝑠[𝑢𝐴𝑢𝐵𝑢𝐶][Φ𝑑Φ𝑞]=𝐶2𝑠→2𝑟𝐶3𝑠→2𝑠[Φ𝐴Φ𝐵Φ𝐶]Matlab代码得到:u𝐴=𝑢𝑑cos𝜃−𝑢𝑞sin𝜃i𝐴=𝑖𝑑cos𝜃−𝑖𝑞sin𝜃Φ𝐴=Φ𝑑cos𝜃−Φ𝑞sin𝜃带入A相电压方程:u𝐴=𝑅1𝑖𝐴+𝑑Φ𝐴𝑑𝑡得到:𝑢𝑑cos𝜃−𝑢𝑞sin𝜃=𝑅1(𝑖𝑑cos𝜃−𝑖𝑞sin𝜃)+(𝑑Φ𝑑𝑑𝑡cos𝜃+Φ𝑑𝑑cos𝜃𝑑𝑡)−(𝑑Φ𝑞𝑑𝑡cos𝜃+Φ𝑞𝑑sin𝜃𝑑𝑡)整理得到:(𝑢𝑑−𝑑Φ𝑑𝑑𝑡+𝜔Φ𝑑−𝑅1𝑖𝑑)cos𝜃−(𝑢𝑞−𝑑Φ𝑞𝑑𝑡−𝜔Φ𝑞−𝑅1𝑖𝑞)sin𝜃=0对任意角度𝜃都满足,所以:𝑢𝑑=𝑑Φ𝑑𝑑𝑡−𝜔Φ𝑑+𝑅1𝑖𝑑𝑢𝑞=𝑑Φ𝑞𝑑𝑡+𝜔Φ𝑞+𝑅1𝑖𝑞接下来就是求Φ𝑑Φ𝑞的表达式,并且把它和前面4个参数𝐿𝑠𝐿𝑚𝑀𝑠ψ𝑚关联起来Matlab代码最终得到dq轴磁链表达式[Φ𝑑Φ𝑞]=[𝐿𝑑00𝐿𝑞][𝑖𝑑𝑖𝑞]+[ψ𝑚0]Φ𝑑Φ𝑑已经与角度无关了,且互相解耦了𝐿𝑑𝐿𝑞与前面4个参数的关系如下L𝑠=L03+L𝑑3+L𝑞3M𝑠=L𝑑6−L03+L𝑞6L𝑚=L𝑑3−L𝑞3L𝑑=L𝑠+M𝑠+32L𝑚L𝑞=L𝑠+M𝑠−32L𝑚L0=L𝑠−2M𝑠最后,得出dq轴下转矩方程𝑇𝑒=1.5N(Φ𝑑𝑖𝑞−Φ𝑞𝑖𝑑)=1.5N(ψ𝑚𝑖𝑞+(L𝑑−L𝑞)𝑖𝑑𝑖𝑞)1.5永磁同步电机的稳态运行永磁同步电机稳态运行相量图。图中,R1和X1是电枢绕组上的阻抗和漏抗。Xad和Xaq是dq轴电枢反应电抗。Xd和Xq是dq轴电枢同步电抗。X𝑑=X1+X𝑎𝑑X𝑞=X1+X𝑎𝑞绕组不通电时转子产生的感应电动势叫空载反电动势E0矩角定义为E0落后于电枢电压矢量U的角度。θ可以看到U由几部分组成E0jiX1jIXaqIR1可以得到I𝑑X𝑑+I𝑞R1=𝑈cos𝜃−𝐸0−I𝑑R1+I𝑞X𝑞=𝑈sin𝜃得到:𝐼𝑑=X𝑞(𝑈cos𝜃−𝐸0)−R1𝑈sin𝜃𝑅12+X𝑞X𝑑𝐼𝑞=R1(𝑈cos𝜃−𝐸0)−X𝑑𝑈sin𝜃𝑅12+X𝑞X𝑑φ=tan−1𝐼𝑑𝐼𝑞+𝜃为功率因子角以上,能大致估算出来永磁同步电机能够稳态运行的扭矩范围。2永磁同步电机的控制2.1永磁同步电机控制原理永磁同步电机控制目的是产生需求的扭矩,这里涉及到2个问题,1是如何产生扭矩,2是如何控制扭矩大小。1如何产生扭矩永磁同步电机在运转时,定子磁场要和转子磁场同步旋转,那么怎么得到固定转速旋转的磁场,通过计算可以得到三相电压波形,或者叫做相电压矢量。如何通过电路来实现这样的电压波形供给电机呢,这个技术叫SVPWM空间矢量控制。SVPWM是给逆变器用的,先看看逆变器的结构吧。三相逆变器桥式电路3路开关,上桥开通下桥关断定义为状态0,上桥关断下桥开通定义为1;那么3路开关组合起来共有8种状态,我们把8种状态下电压矢量画出来:可以看到000和111这两个状态下是短路状态,电压矢量为0同时,6个扇区覆盖了整个坐标轴,因此,计算出来的电压矢量一定会在某个扇区。那么它一定可以分解成这个扇区的2条边矢量的线性组合。那么就能够通过控制这2种开关状态持续的时间来得到想要的电压波形了。实际实现中还会把(000)(111)这2种无用状态夹杂进来,一个周期分成五段或者七段来控制。详情参考。2如何控制扭矩大小从DQ坐标轴的扭矩方程可以知道,通过控制DQ轴电流就能够控制扭矩。PMSM控制器基本上可以分为电流指令计算,电流控制和解耦,坐标变换,PWM产生这几个模块。2.2永磁同步电机控制策略永磁同步电机控制,策略的不同主要体现在具体IdIq怎么控制,大体上有3类。FOC:定向磁场控制id=0MTPA:最大化Tq/I弱磁查表:Id和Iq通过查表来得到2.2.1FOC略2.2.2MTPA略2.2.3弱磁查表略3永磁同步电机建模3.1永磁电机模型主要有2类模型,基于dq轴表达磁链和基于ABC坐标表达磁链3.1.1基于dq轴坐标表达磁链的永磁同步电机模型1)MatlabSimscapePowerSyste0m工具箱中的Machines/PermanentMagnetRotor模块磁链参数表达2)MatlabPowertrainBlockset工具箱中的InteriorPMSMblock模块磁链参数表达它是通过simulink而不是simscape来实现的,因此可以看到内部实现。相电压数据进来进行Clarke变换和Park变换,得到dq电压,在PMSMEquivalentCircuit子系统中依据dq电压微分方程积分得出dq电流通过转矩方程计算转矩,通过逆Park变换和逆Clarke变换计算出相电流。3.1.2基于ABC坐标表达磁链的永磁同步电机模型MatlabSimsacpeElectronics工具箱中的TheFEM-ParameterizedPMSMblock模块它的磁链数据是通过矩阵来表达的,数据可以来源于有限元仿真数据。磁链数据的表达形式有几种2D数据模型,固定互感2D数据模型,正弦反电动势4D数据模型3D数据模型,使用Park变换3.2永磁电机控制器模型Matlab中pmsm控制器模型分为simscape和simulink2类Simulink是从信号层面建模的,直接输出相电压信号。simscape是物理层面建模的,通过对逆变器物理建模来输出相电压信号。3.2.1simulinkpmsm控制器模型MatlabPowertrainBlockset工具箱中的TheInteriorPMControllerblock模块内部实现:CurrentGeneration子系统根据扭矩指令计算Id和Iq目标值,这里的算法是通过查表来实现的MTPA。在DQCurrentControlandDecouple子系统进行电流调节和解耦,得到DQ电压最后通过逆Park变换和逆Clarke变换计算出相电压3.2.2simscapepmsm控制器模型这里可以清晰的看到,单片机计算出来的数字信号是0101…控制门通断的PWM信号,最后通过逆变器电路得到相电压供给PMSM电机。控制器算法负责实现从目标扭矩计算出来PWM控制信号。这里可以看出来,跟simulink控制模型比较的话,这里计算出相电压波形以后,多了一步转换成逆变器能接收的PWM信号。