(一)MPTA的实现原理以及在simulink的实现(基于矢量控制FOC)
首先,这个基于MPTA是在Id=0的情况下实现的,由于Id=0的仿真太简单,网上资料很多,这里不在阐述。
MPTA实现数学公式:
电机定子电流:
根据拉格朗日定理求极值,然后构造辅助函数:
对其进行求解,可以得到:
所以我们根据这个公式进行搭建模型
转速环:
电流环:
MTPA内部:
其CLACK1的代码为:
function [iqx,idx] = fcn(Te,Np,pisa,Ld,Lq)
%#codegen
%iqx=(4*Te)/(3*pisa*Np);
temp3=(8*Te*pisa)/(3*Np);
temp4=(pisa*pisa)-4*(Ld-Lq)*(Ld-Lq);
temp5=(4*Te)/(3*Np);
temp6=(temp5*temp5)-(pisa*pisa);
temp7= (temp3*temp3)-(4*temp4*temp6);
iqx=(temp3+sqrt(temp7))/(2*temp4);
temp1f=(pisa)/(2*(Ld-Lq));
temp1=0-temp1f;
temp2n=(pisa^2)/(4*(Ld-Lq)*(Ld-Lq))+iqx*iqx;
temp2f=sqrt(temp2n);
temp2=0-temp2f;
idx=temp1+temp2;
end
电机参数:
Three-prase V-Imeasurement参数:
*
剩下的基本就是默认参数,直接从库里拉出来就行,而我的clack和park变换都是代码,你们也可以从我前面的博客里面抄一下搭建,不用代码。
转速波形:
点赞!!!收藏
继续看后续!!