本帖最后由 RunningX 于 2020-5-9 11:40 编辑
在FOC电机控制中,相电流是正弦波,处于一直变化的状态,不利于电流的控制,所以需要通过一些变换(即Clark、Park变换),使得控制量恒定。可以用仿真画出这三个相电流A,B,C,如下图:
利用Clark变换公式,将三个变量(A,B,C三相电流)转化为两个变量(Alpha,Beta)。Alpha = A;Beta = (2B+A)/(sqrt(3));
转换后Alpha,Beta的图形如下:
虽然变量少了,但Alpha,Beta仍然是正弦波,处于一直变化的状态。所以就需要用到Park变换了,
ParkD = cos(Theta)* Alpha + sin(Theta) * Beta; ParkQ = -sin(Theta) * Alpha + cos(Theta) * Beta;
可得到ParkD,ParkQ的波形如下:
可以看到现在ParkD,ParkQ都是大小恒定的量了。
这个时候就很方便进行电流的控制了。一般情况下在这里就会进行PID控制了
下面是RePark变换。假设给定的ParkD,ParkQ也是上面那个图的大小;那么经过ReParK变换,
Alpha = cos(Theta) * ParkD - sin(Theta) * ParkQ; Beta = sin(Theta) * ParkD + cos(Theta) * ParkQ;
可以得到Alpha,Beta波形如下:
有了Alpha跟Beta后,一般就利用这两个值进行SVPWM的生成了,过程比较复杂,还在学习中,这里就不多做描述。
当然我们还可试试ReClark变换(据我了解,这个变换一般不直接使用,这里仅做演示用)
A = Alpha;B = -Alpha/2 + Beta * (sqrt(3))/2;C = -Alpha/2 - Beta * (sqrt(3))/2;
可以得到A,B,C三相的电流如下:
|