永磁同步电机FOC控制中的坐标变换simulink仿真实现

首先建立坐标系

 永磁同步电机FOC控制中的坐标变换simulink仿真实现_第1张图片

                                  图1

 a,b,c三相相差120°相位。

令:

Ua = Um*cos(wt);

Ub = Um*cos(wt - 2*pi/3);

Uc = Um*cos(wt + 2*pi/3);

        simulink实现:新建文件夹,matlab工作路径更新到该文件夹,新建.m脚本文件定义一些变量,保存后运行。再新建simulink工程(在terminal直接输入“simulink”或者点击状态栏中的simulink),先保存空白工程,路径保持与.m文件一致这样simulink就可以调用.m文件里面定义的一些变量。

.m脚本文件:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第2张图片

simulink添加三相信号源,位于sources下:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第3张图片永磁同步电机FOC控制中的坐标变换simulink仿真实现_第4张图片

双击编辑属性

幅值输入.m文件里面的Um,Freq为w_t,phase为相位偏移,a为0,b为-2*pi/3,c为2*pi/3;

scope查看:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第5张图片

Clark(3-2)变换:

根据图1矢量分解有:

        Ualpha = (1*Ua- 1/2*Ub - 1/2*Uc)*2/3;

        Ubeta = (0*a + sqrt(3)/2*b - sqrt(3)/2*c)*2/3; 

(2/3为等幅变换系数不加这个系数alpha与转换前的a的幅值就不一样,还有一种系数为sqrt(2/3)称为等功率变换)

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第6张图片永磁同步电机FOC控制中的坐标变换simulink仿真实现_第7张图片

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第8张图片

 scope查看:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第9张图片

       输出啊两相幅值与三相幅值相同,频率相同都为50hz,两相相位差90°,实现了3-2变换。

Park变换:

        根据图1矢量分解有:

        Ud = Ualpha*cos(theta) + Ubeta*sin(theta);
        Uq = -Ualpha*sin(theta) + beta*cos(theta);

         theta = w_t *t;

simulink添加时间线clock;

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第10张图片

scope查看:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第11张图片

        信号从三相旋转到两相旋转再到两相静止,实现从旋转两相到静止两相变换。

        但是为什么Uq=-Um呢?仔细分析发现,根据图1坐标和三相信号定义,实际上我们默认定义了一种情况:三相定子电压顺时针旋转(根据三相相位判断),而转子逆时针旋转(根据dq轴相位判断),此时电机工作在发电机模式。

        实际上总共会有四种情况,即:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第12张图片永磁同步电机FOC控制中的坐标变换simulink仿真实现_第13张图片永磁同步电机FOC控制中的坐标变换simulink仿真实现_第14张图片永磁同步电机FOC控制中的坐标变换simulink仿真实现_第15张图片

定子三相顺时针旋转时:

Ua = Um*cos(wt);

Ub = Um*cos(wt - 2*pi/3);

Uc = Um*cos(wt + 2*pi/3);

定子三相逆时针旋转时:

Ua = Um*cos(wt);

Ub = Um*cos(wt +2*pi/3);

Uc = Um*cos(wt - 2*pi/3);

当定子和转子方向相同时电机工作在电动模式(1、4);转向相反时工作在发电模式(2、3)。

发电模式时Uq=-Um,电动模式时Uq=Um;

选定上述工况1:

 iPark变换:

Ualpha = Uq*sin(theta)+Ud*cos(theta);
Ubeta = Ud*sin(theta) - Uq*cos(theta);

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第16张图片

 iClark变换:

Ua = Ualpha;
Ub = Ubeta*sqrt(3)/2 - Ualpha*1/2;
Uc = -Ubeta*sqrt(3)/2 - Ualpha*1/2;

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第17张图片

所有的变换simulink实现:

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第18张图片

永磁同步电机FOC控制中的坐标变换simulink仿真实现_第19张图片变换之前的三相信号与变换回来的三相信号一致,表明变换正确。

需注意的几个点:

1、坐标轴的定义,即上述四种工况,先定工况再变换,不同工况下的变换公式有区别;

2、simulink正弦信号实际为sin函数,而我们定义的信号为cos,这个没有影响,因为cos只是与sin有pi/2的相位偏移,三相全偏移就等效没有偏移。

 3、3-2变换中有等幅或等功率变换系数。

源文件下载:simulink_foc_conv.rar-其它文档类资源-CSDN下载 

你可能感兴趣的:(电机控制,matlab)