drf63329272 发表于 2015-4-11 15:44

ST FOC算法问题

在ST 2.0电机库里的clarke变换代码如下;
Curr_Components Clarke(Curr_Components Curr_Input)
{
Curr_Components Curr_Output;

s32 qIa_divSQRT3_tmp;
s32 qIb_divSQRT3_tmp ;

s16 qIa_divSQRT3;
s16 qIb_divSQRT3 ;

// qIalpha = qIas
Curr_Output.qI_Component1= Curr_Input.qI_Component1;

// divSQRT_3 = 1/ sqrt(3)
qIa_divSQRT3_tmp = divSQRT_3 * Curr_Input.qI_Component1;
qIa_divSQRT3_tmp /=32768;   
   
qIb_divSQRT3_tmp = divSQRT_3 * Curr_Input.qI_Component2;
qIb_divSQRT3_tmp /=32768;

qIa_divSQRT3=((s16)(qIa_divSQRT3_tmp));               
               
qIb_divSQRT3=((s16)(qIb_divSQRT3_tmp));                               
   
//qIbeta = -(2*qIbs+qIas)/sqrt(3)
Curr_Output.qI_Component2=(-(qIa_divSQRT3)-(qIb_divSQRT3)-(qIb_divSQRT3));
       
return(Curr_Output);
}

其中最后两句我看公式计算应该是下面这样才对吧?为什么加了一个负号

////qIbeta = (2*qIbs+qIas)/sqrt(3)
//Curr_Output.qI_Component2=((qIa_divSQRT3)+(qIb_divSQRT3)+(qIb_divSQRT3));

drf63329272 发表于 2015-4-11 17:27

看到别人的帖子说是默认beta轴滞后于alpha轴,所以加负号;但是这样直接加上一个负号之后,我通过matlab计算得到的Id Iq不是直流量。
matlab 程序如下:
w = 0.000191753;
Stat_Curr_a_b_T = 0:1:32767;
Angle=Stat_Curr_a_b_T.*w;
wtheta = Angle*180/pi;

Ia = sin(Angle)*32767;
Ib = sin(Angle+2.094395067)*32767;

Ialpha = Ia;
%Ibeta = (2*Ib+Ia)/sqrt(3);%正常算法中是这样的
Ibeta = -(2*Ib+Ia)/sqrt(3); %ST FOC程序中是带负号

Id = Ialpha.*sin(Angle)+Ibeta.*cos(Angle);
Iq = Ialpha.*cos(Angle)-Ibeta.*sin(Angle);

figure,
plot(Stat_Curr_a_b_T*360/32767,Id,'rs',Stat_Curr_a_b_T*360/32767,Iq,'b+');
legend('Id','Iq');
grid on;

%正常算法得到的Id Iq图和ST FOC库内计算的图见附件:

drf63329272 发表于 2015-4-11 19:08

问题出在:
Ia = sin(Angle)*32767;
Ib = sin(Angle+2.094395067)*32767;
改为Ib相位角超前于Ia 120度就好了
Ia = sin(Angle)*32767;
Ib = sin(Angle-2.094395067)*32767;
那这样的话,ST FOC输出的三相电应该也是Vb相位要超前于Va,继续求证

drf63329272 发表于 2015-4-11 19:12

没有网友有这样的问题吗,求帮顶,帮解惑,路过的mark下

这世界我来了 发表于 2015-4-16 21:47

希望帮到你,我也在研究这个库,方便的话加下QQ,互相交流

wang0720 发表于 2015-4-18 00:13

参考参考 mark!!!!

drf63329272 发表于 2015-4-20 21:12

这世界我来了 发表于 2015-4-16 21:47
希望帮到你,我也在研究这个库,方便的话加下QQ,互相交流

这几天去旅游啦,没有登录{:soso_e100:}

bldc菜鸟 发表于 2015-8-19 13:23

最近也在做,可以一起研究一下。

shuchen0417 发表于 2015-8-27 23:09

你们都是大牛啊,向你们致敬

shuchen0417 发表于 2015-8-28 07:50

看了一晚上,还是有点不太懂

我爱吃鱼头 发表于 2017-9-6 09:16

正在学习控制,文件很有帮助,谢谢。

绿皮青蛙 发表于 2019-9-27 21:52

现在一般要在自己熟悉的坐标系下作,自己推导才能保证没有问题,我发现了3-4种不同的坐标系

xiaoxiao201005 发表于 2020-1-9 09:29

这些坐标系都无所谓,想怎么换就怎么换,最后发波那里对应回来就可以了
页: [1]
查看完整版本: ST FOC算法问题