图1 经典FOC控制流程图
图2 Matlab FOC控制流程图
说明如下:
以电流闭环控制为例,也就是让电机始终保持一个恒定力矩(力矩与电流成正比)。
从上图可以看到最左边的Iq_Ref和Id_Ref两个变量经过PID控制器进行反馈调节,其中涉及到几个变换模块,包括:Clarke 变换、Park变换以及反Park变换,最后是SVPWM模块作用到三相逆变器进而控制电机旋转。
1.对电机三相电流进行采样得到:ia、ib、ic(正弦波);
2.将ia、ib、ic经过clarke变换得到iα、iβ(正弦波) ;
3.将iα、iβ经过park变换得到iq、id(直线) ;
4.计算iq、id和其设定值iq_Ref、id_Ref的误差;
5.将上述误差输入到两个PID(只用到PI)控制器,得到输出的控制电压Vq、Vd(直线) ;
6.将Vq、Vd进行反park变换得到Vα、Vβ(正弦波);
7.最后经过SVPWM控制三相逆变器电路得到Va,Vb,Vc(马鞍波),该3相电压值用来计算新的PWM占空比值,以生成所期望的电压矢量,最后输入到电机三相上;
8.循环上述步骤。