英飞凌TC264无刷驱动方案simplefoc移植(3)-FOC控制原理矢量控制
无刷电机是矢量控制,是交流电机调速的核心,也是Foc控制的核心
以下内容学习自【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术
1 电流闭环控制方案
以电流闭环控制为例,也就是让电机始终产生一个恒定的力矩(也就是恒定的电流,因为力矩和电流成正比)
可以看到控制器的输入是最左边的 Iq_ref 和 Id_ref ,两个变量经过PID控制器进行反馈调节,其中还涉及到几个变换模块,有Park变换和Clark变换;最后通过前面提到的SVPWM模块作用到三相逆变器上进而控制电机;而PID控制器的反馈量,是对电机输出电流的采样值。
所以FOC的控制流程可以概括为:
①对电机三相电流进行采样得到 Ia,Ib,Ic
②将 Ia,Ib,Ic 经过Clark变换得到 Iα,Iβ 将 Iα,Iβ
③经过Park变换得到 Iq,Id
④计算 Iq,Id 和其设定值 Iq_ref,Id_ref 的误差将上述误差输入两个PID(只用到PI)控制器,
⑤得到输出的控制电压 Uq,Ud
⑥将 Uq,Ud 进行反Park变换得到 Uα,Uβ
⑦用 Uα,Uβ 合成电压空间矢量,输入SVPWM模块进行调制
⑧输出该时刻三个半桥的状态编码控制三相逆变器的MOS管开关,驱动电机
2 Clark变换与Park变换
前面分析了,如果要平稳地驱动三相电机转动,我们就需要生成三个相位相差120度的正弦波,但是我们最终的控制对象是MOS管的开通和关断,只有电压最大值和0值两个状态啊,怎么去生成连续变化的正弦波呢?
所谓SPWM就是这么干的,如下图:利用输出不同占空比的pwm信号,模拟正弦波
将上面坐标系中的正弦波和三角波的交点投影到下面的坐标轴,以此确定PWM的占空比变化规律,这样合成的PWM波,经过低通滤波器之后,其实就等效为了一个正弦波!所以SPWM就是在PWM的基础上用正弦波来调制合成的具有正弦波规律变化的方波。
不过SPWM调试方式在FOC实现中并不常用,原因是SPWM要比后面要说的SVPWM的母线电压利用率要低15%。
另一方面,从控制的角度来看,我们甚至根本就不想跟什么三个正弦波打交道!
因为要对于非线性的信号进行准确控制就要使用复杂的高阶控制器,这对于建模成本、处理器算力、控制实时性等都是不利的。简单地说就是,咱们控制器的反馈输入变量不是三个电流采样值嘛,你要我稳稳地跟踪三个正弦波太麻烦啦!能不能简单点跟踪一条直线(常量)啊?
2_1 Clark变换
我们回到上面FOC控制过程9个步骤的第1步,也就是对电机的三个相电流进行采样,这一步会使用串联的采样电阻(Shunt)进行电流采样。
由于电机工作的电流一般很大,所以采样电阻的阻值非常小,甚至和导线的电阻接近了,
因而实际的采样电路PCB设计的时候还有一些讲究,比如使用开尔文接法(Kelvin connections)。
但是我们实际电路设计时可以不使用三个采样器(实际有单采样电阻、双采样电阻和三采样电阻接法),只需要两个就够了。因为由基尔霍夫电流定律(KCL),在任一时刻,流入节点的电流之和等于流出节点的电流之和,也就是说
Ia + Ib + Ic = 0;
只需要知道其中两个就可以计算出第三个了。
这三个电流基本上就是三个相位相差120度的正弦波,在把这些信号输入控制器反馈控制之前,我们先来做点数学游戏:
我们知道三相坐标系 (Ia,Ib,Ic) 如下:
问题:这明明是一个二维平面内的坐标系,为啥要用3个坐标轴来表示呢?
而且很明显 (Ia,Ib,Ic) 这三个基向量是非正交的,学过线性代数的同学可能会想到,我们可以做一个很简单的基变换将其正交化为一个直角坐标系,我们把新的直角坐标系命名为 α−β 坐标系,变换公式如下:
I α = I a − c o s ( 2 π / 3 ) I b − c o s ( 2 π / 3 ) I c I~\alpha~ = I~a~ - cos(2\pi/3)I~b~- cos(2\pi/3)I~c I α =I a −cos(2π/3)I b −cos(2π/3)I c
I β = s i n ( 2 π / 3 ) I b − s i n ( 2 π / 3 ) I c I~\beta~ = sin(2\pi/3)I~b~- sin(2\pi/3)I~c I β =sin(2π/3)I b −sin(2π/3)I c
其实就是个很简单的坐标轴投影计算,写成矩阵形式如下:
[ I α I β ] = [ 1 − 1 / 2 − 1 / 2 1 3 / 2 − 3 / 2 ] ∗ [ I a I b I c ] \begin{bmatrix} I~\alpha~ \\ I~\beta~ \end{bmatrix} = \begin{bmatrix} 1&-1/2&-1/2\\ 1& \sqrt{3}/2&- \sqrt{3}/2 \end{bmatrix} * \begin{bmatrix} I~a~ \\ I~b~ \\ I~c~ \end{bmatrix} [I α I β ]=[