Simulink自带PMSM模块
做矢量仿真时Matlab自带了PMSM模块,我用的是Matlab2016b。
该模块位于Simulink中的Simscape----Power Systems----Specialized Technology----Fundamental Blocks----Machines----Permanent Magnet Synchronous Machine。该模块如下图所示:
双击模块,可以看到能配置的参数如下图所示:
1.Configuration(配置)
1.1 Number of phases
相数。
3:三相PMSM;
5:五相PMSM;
当Back EMF waveform被设置成Trapezoidal时,或者Rotor type被设置成Salient-pole时,此处不能进行功能选择。
1.2Back EMF waveform
反电动势波形。
Sinusoidal:正弦波激励;
Trapezoidal:梯形波激励;
无论选择哪种激励方式,相数都不能选择为5。
1.3Rotor Type
转子类型。
Salient-Pole:电机转子为凸极型;
Round:电机转子为圆柱形。
1.4Mechanical input
机械输入方式。
Torque Tm:负载转矩;
Speed:机械角速度。
1.5Preset model
电机类型。
NO:可以对电机参数进行修改;
其他:选择其他类型电机,电机参数已经确定,不能对电机参数进行设置。
2.Parameters(参数设置)
2.1Stator phase resistance Rs (ohm)
设置电机定子电阻的大小,单位为欧姆。
2.2Inductances [ Ld(H) Lq(H) ]
设置电机定子电感大小,单位为亨。
2.3Machine constant
电机常量值。
Specify:Flux linkage established by magnets(V.s):此时可以对永磁体磁链进行设置,单位为Wb。
Voltage Constant:可以对Voltage Constant进行设置,单位为V/krpm。
Torque Constant:可以对Torque Constant进行设置,单位为N.m。
2.4 Inertia, viscous damping, pole pairs, static friction
分别设置电机的转动惯量、阻尼系数、极对数、
2.5 Initial conditions
电机的初始状态。可以设置包括机械角速度,转子位置,相电流ia和ib的大小。
3.Advanced(高级设置)
3.1 Sample time
采样时间。当powergui设置为continue时,默认为-1,表示采用内部的采样时间;当powergui设置为discrete时,可以对采样时间进行设置。
3.2 Rotor flux position when theta = 0
设置同步旋转坐标系的选择。
当选择Aligned with phase A axis(Original Park):表示同步旋转坐标系采用的是常见的坐标系。即如下图的坐标系。
当选择90 degrees behind A axis(modified Park):表示同步旋转坐标系采用的是MATLAB自身所采用的坐标系。如下图:
可以明显看见,两者之间相差了90度。
Q:有时候仿真模型中电机输出的角度通常乘以一个常数再减去pi/2,为什么?
A:PMSM的数学模型整个计算过程中使用的都是电角速度量,或电角度量。而从电机输出的角度却是机械角度,需要将机械角度θm转换为电角度θe,两者的关系是θe = P*θm。P为极对数。
因此搭建仿真模型的时候可能会出现三种情况:
1.选择Aligned with phase A axis(Original Park),且采用图表一的时候,可以直接使用电机的转子位置角度进行坐标转换计算,不需要将电角度减去pi/2。
2.选择90 degrees behind A axis(modified Park),且采用图表1的时候,需要将电角度减去pi/2后再进行坐标变换计算。
3.选择90 degrees behind A axis(modified Park),且采用图表2的时候,不需要将电角度减去pi/2。
如此才能得到正确的仿真结果。