文章目录
前言
上篇文章我们学习了关于FOC算法的流程和相关的公式,接下来我们就利用simulink进行建模仿真,之后我们将利用simulink的模型生成c/c++代码到开发板上进行实物验证。
一、foc框图
依旧是我们熟悉的foc框图,我们建模首先要考虑让电机先动起来,再通过闭环对电机进行进一步控制。因此我们先给定一个Vd和Vq,让其经过帕克逆变换,得到SVPWM之后就可以对电机进行初步控制了,首先我们来搭建foc框图的后半部分。
二、建模
1.帕克逆变换
要进行帕克逆变换,根据公式
Vα=Vdcosθ-Vqsinθ
Vβ=Vdsinθ+Vqcosθ
我们需要四个输入量,Vd,Vq,sinθ和cosθ,Vd,Vq可以通过常数模块(Constant)给定,而sinθ和cosθ我们可以通过三角波发生器(Repeating Sequence)和sincos查表模块(SinCos Lookup)模拟角度变化。
有了Vd,Vq,sinθ和cosθ,我们就可以根据公式搭建帕克逆变换了
2.SVPWM
经过帕克逆变换我们得到了Vα和Vβ,接下来我们通过svpwm调制得到占空比,再利用逆变器得到三相电压,就可以控制电机转起来了
2.1扇区判断
if (Ubate>0)A=1;else A=0;
if (sqrt(3)*Ualpha-Ubate>0)B&#