[电机应用] FOC算法中的Clark、Park变换及仿真

[复制链接]
2109|3
 楼主| RunningX 发表于 2020-5-9 11:33 | 显示全部楼层 |阅读模式
本帖最后由 RunningX 于 2020-5-9 11:40 编辑

在FOC电机控制中,相电流是正弦波,处于一直变化的状态,不利于电流的控制,所以需要通过一些变换(即Clark、Park变换),使得控制量恒定。可以用仿真画出这三个相电流A,B,C,如下图:
三相电流.PNG
利用Clark变换公式,将三个变量(A,B,C三相电流)转化为两个变量(Alpha,Beta)。Alpha = A;Beta = (2B+A)/(sqrt(3));
转换后Alpha,Beta的图形如下:
Clark变换后.PNG
虽然变量少了,但Alpha,Beta仍然是正弦波,处于一直变化的状态。所以就需要用到Park变换了,
ParkD = cos(Theta)* Alpha + sin(Theta) * Beta;  ParkQ = -sin(Theta) * Alpha + cos(Theta) * Beta;
可得到ParkD,ParkQ的波形如下:
Park变换后.PNG
可以看到现在ParkD,ParkQ都是大小恒定的量了。
这个时候就很方便进行电流的控制了。一般情况下在这里就会进行PID控制了

下面是RePark变换。假设给定的ParkD,ParkQ也是上面那个图的大小;那么经过ReParK变换,
Alpha = cos(Theta) * ParkD - sin(Theta) * ParkQ; Beta = sin(Theta) * ParkD + cos(Theta) * ParkQ;
可以得到Alpha,Beta波形如下:
RePark变换后.PNG
有了Alpha跟Beta后,一般就利用这两个值进行SVPWM的生成了,过程比较复杂,还在学习中,这里就不多做描述。

当然我们还可试试ReClark变换(据我了解,这个变换一般不直接使用,这里仅做演示用)
A = Alpha;B = -Alpha/2 + Beta * (sqrt(3))/2;C = -Alpha/2 - Beta * (sqrt(3))/2;
可以得到A,B,C三相的电流如下:
ReClark变换后.PNG










AutochipsMCU 发表于 2020-5-9 20:57 | 显示全部楼层
WeChat Screenshot_20200509205600.png
这幅图,哪个是D轴哪个是Q轴呢,为啥值是0和-1呢
 楼主| RunningX 发表于 2020-5-11 09:01 | 显示全部楼层
AutochipsMCU 发表于 2020-5-9 20:57
这幅图,哪个是D轴哪个是Q轴呢,为啥值是0和-1呢

0是D轴,-1是Q轴,这里假设的电流幅值是1,如果幅值不同,结果也会不同。这里仅是一个例子
新好男孩 发表于 2020-7-29 11:50 | 显示全部楼层
好,清淅易懂!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

223

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部