本文主要是介绍永磁同步电机MTPA控制策略及matlab仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、目的
二、主体框架
三、转PI速PI
四、电流PI
五、MPTA环节
六、仿真结果
七、附加问题
一、目的
1、给自己写一份学习笔记
2、自己对MTPA控制中感到困惑的点的说明
二、主体框架
内置式永磁同步电机,那么就有Ld != Lq,
对于表贴式Ld=Lq,id等于0时,就是MPTA控制了(从转矩方程分析)。
所以表贴式一般用id等于0控制,内置式更适合用mpta控制。
我是在双PI控制的基础上加入MPTA控制的,如下图一
图一
图二 加入MPTA后
三、转PI速PI
图三 转速PI
PI参数自己试凑了一些
图四 PI参数
四、电流PI
图五
电流PI参数
Id和Iq的PI环节是一样的
后面环节SVPWM,坐标变换等不具体展开
PMSM电机参数
五、MPTA环节
原理:参考文献 《电动汽车用 IPMSM 矢量控制策略研究》郑 飞
以上是文献的原文内容,但是我感觉其中有几个错误之处。第一个是图中红色底纹的部分,id不应该全部提出来;第二个是id*的公式,在其他文献上找到的是下面这个:
另附网上找的一篇公式的详细推导:https://www.cnblogs.com/iable/archive/2012/03/09/4206899.html
有了以上的公式,就可以搭建MPTA了,可以用模块,这里为了更快采用了M函数。
外部:
内部:用M函数写的代码如下
function [iq,id] = fcn(Te,Pn,flux,Ld,Lq)% id、iq是电流环的给定,也就是MTPA的输出,无法用星号表示% 第一步 计算iq
num1 = 8*Te*flux/(3*Pn);
num2 = flux^2-4*(Ld-Lq)^2;
num4 = num1^2-4*num2*((0.5*num1/flux)^2-flux^2);
iq = (num1+sqrt(num4))/(2*num2);%第二步 计算id
num3 = flux*0.5/(Lq-Ld);
num5 = 0.25*flux^2/(Ld-Lq)^2+iq^2;
id = num3-sqrt(num5);% num = flux^2+4*(Ld-Lq)^2*iq^2;
% id = (-flux+sqrt(num))/(2*(Ld-Lq));
end
六、仿真结果
MPTA
id=0
转速和转矩曲线
电流曲线
仿真对比:从电流曲线上看,带动同样的20N转矩,电流幅值MPTA是比id=0更小一些的。
七、附加问题
带动较大的转矩时转速和转矩出现波动,在MPTA和Id=0时都存在。
这也是我还没想明白的问题,希望看到的大佬有知道的可以指导一下。
MPTA
id=0
参考文献:《现代永磁同步电机控制原理及MATLAB仿真》袁雷
《电动汽车用 IPMSM 矢量控制策略研究》郑 飞
《车用永磁同步电机最大转矩电流比控制研究》李 强
《永磁同步电机MTPA弱磁控制方法研究》孙旭霞
《永磁同步电机最大转矩电流比控制》徐佳园
CSDN博主 : 沉沙丶
这篇关于永磁同步电机MTPA控制策略及matlab仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!