永磁同步电机(PMSM)的 FOC 闭环控制详解
在学习 FOC 控制前,我对于 FOC 控制完全不懂,只知道中文叫做磁场定向控制,因公司产品开发需要用到
对永磁同步电机(PMSM)进行精确的位置控制,才开始从网上了解什么是 FOC,有哪些数学公式,控制的过程是怎
么样的,但由于公司没有人知道这一块的知识,所以只能一个人慢慢找资料学习,网上有不少关于 FOC 的资料,
不过讲的都不全面,而且有的还会存在错误,但是不懂的时候也无法分辨对错,所以走了不少弯路。所以将个人
的学习心得记录于此,与大家分享,由于需要对电机进行位置控制,所以使用了 14 位分辨率的磁编码器。
FOC 主要是通过对电机电流的控制实现对电机转矩(电流)、速度、位置的控制。通常是电流作为最内环,
速度是中间环,位置作为最外环。
下图是电流环(最内环)的控制框图:
图一:电流环图 图二:速度电流双环
在图一中,Iq_Ref 是 q 轴(交轴)电流设定值,Id_Ref 是 d 轴(直轴)电流设定值,关于交轴直轴不再介绍,大
家自行百度。
Ia,Ib,Ic 分别是 A 相、B 相、C 相的采样电流,是可以直接通过 AD 采样得到的,通常直接采样其中两相,利
用公式 Ia+Ib+Ic=0 计算得到第三相,电角度 θ 可以通过实时读取磁编码器的值计算得到。
在得到三相电流和电角度后,即可以进行电流环的执行了:三相电流 Ia,Ib,Ic 经过 Clark 变换得到 Iα,Iβ;然
后经过 Park 变换得到 Iq,Id;然后分别与他们的设定值 Iq_Ref,Id_Ref 计算误差值;然后分别将 q 轴电流误差值代入
q 轴电流 PI 环计算得到 Vq,将 d 轴电流误差值代入 d 轴电流 PI 环计算得到 Vd;然后对 Vq,Vd 进行反 Park 变换得
到 Vα,Vβ;然后经过 SVPWM 算法得到 Va,Vb,Vc,最后输入到电机三相上。这样就完成了一次电流环的控制。
当对 PMSM 进行速度控制时,需要在电流环外面加一个速度环,控制框图如上:
在图二中,Speed_Ref 是速度设定值,ω 是电机的转速反馈,可以通过电机编码器计算得到。
将计算得到的电机速度 ω 与速度设定值 Speed_Ref 进行误差值计算,代入速度 PI 环,计算的结果作为电流
环的输入;比较图二和图一的电流环部分可以发现,图二中 d 轴电流被设定为零(Id_Ref=0),因为 d 轴电流对于驱
动电机的转动不会产生输出力,所以通常情况下都会将 d 轴电流设定为零(但不是总是设定为 0 的);当 Id_Ref=0 时,
Iq_Ref 就等于了速度环的输出;再结合上面的电流环,就实现了速度电流的双闭环控制。
当对 PMSM 进行位置控制时,需要在速度电流环外面加一个位置环,控制框图如下:
评论0