前言:
直流无刷电机的好处多多,ST也有专门的库,但是还是想深入研究以下,做到自己实现,在此记录下FOC实现需要注意的知识点,以备以后查看。
直流无刷原理资料较多,这里不再赘述,文章侧重于坐标变换,SVPWM的生成,扇区判断等,重点在于资料整合。
一:FOC控制框图
FOC结构框图如上图所示,由以下几部分组成
- Clarke变换
- Park变换
- Park反变换
- SVPWM生成
- 速度位置PID
- 电流PID
二:Clarke变换
注意:此处对ia ib ic做了*2/3处理
因为
ia = sin(θ)
ib = sin(θ-2/3Π)
ic =sin(θ+2/3Π)
因此
iα = sin(θ)
iβ = -cos(θ)
三:park变换
因为
iα = sin(θ)
iβ = -cos(θ)
因此
id = 0
iq = -1
四:park反变换
五:SVPW生成
其中非零矢量的幅值相同(模长为 2Udc/3),相邻的矢量间隔 60°,而两个零矢量幅值为零,位于中心。在每一个扇区,选择相邻的两个电压矢量以及零矢量,按照伏秒平衡的原则来合成每个扇区内的任意电压矢量,即:
其中,Uref 为期望电压矢量;T为采样周期;Tx、Ty、T0分别为对应两个非零电压矢量 Ux、Uy 和零电压矢量 U 0在一个采样周期的作用时间;其中U0包括了U0和U7两个零矢量。
六:扇区判断
若U1>0 ,则 A=1,否则 A=0; 若U 2>0 ,则 B=1,否则 B=0;若U3>0 ,则 C=1,否则 C=0。N=4*C+2*B+A
N | 3 | 1 | 5 | 4 | 6 | 2 |
扇区号 | Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ |
七:基本矢量作用时长