在电机控制领域,无刷电机凭借其高效率、高可靠性等优点得到了广泛应用。而 FOC(Field - Oriented Control,磁场定向控制)控制技术作为无刷电机控制的先进方法,能够显著提升电机的性能。下面为大家详细介绍无刷电机 FOC 控制的相关知识。
矢量控制的思想是简化无刷电机的控制模型。通过各种算法变换,将需要换相的无刷电机抽象为直流电机的控制模型,只需控制简单的两个直流分量就能实现对无刷电机的控制。其中,Vq 可抽象为直流电机的两端电压,Vd 则可用于调节电机力矩。不过,这个模型需要实时的电机轴角度 θ 参与计算。为了实现该直流电机控制模型,需要用到两个重要的数学变换,即 clarke 变换和 park 变换,同时还会涉及原始的 PID 控制器等内容。
其初衷是将三相的磁路模型变换成正交的两相磁路模型,也就是把三相 abc 变换为两相 α,β。

其波形如下图所示:

clarke 逆变换则是反向操作,已知 α,β 来求解 abc。

经过 clarke 变换后,变量从三个减少到两个,但仍然是交流分量,对控制不太友好。因此引入 park 变换,将两相的坐标轴看作转子沿着圆形旋转,从而得到两个直流量 q 和 d。

这样变换后,周期变化的波形就变成了两个直流信号,非常便于控制,即将 α,β,θ 转换为 q,d。

park 逆变换则是反向操作,已知 q,d 和电角度 θ,将其转换成 α,β。

了解了上述两个变换后,我们可以尝试让电机转动。使用 park 逆变换和 clarke 逆变换,就能轻松地将无刷电机当作直流电机驱动。输入参数有三个:Vq,Vd 和实时电角度 θ(theta)。其中,Vq 和 Vd 是两个直流分量,可控制无刷电机的转速和力矩;θ 是通过间接或直接测量得到的输出轴实际角度,关于电角度和机械角度的相关知识可通过百度查询。通过这两个逆变换后,可得到 abc 的电压 Va,Vb,Vc,将这三个值输出到 pwm 的三个通道的比较输出寄存器中,就能驱动无刷电机。笔者使用 Vq = 3000,Vd = 0 进行测试,一个单磁极的内转子电机无声地转到 4000 多 rpm。

变换后,Vα,Vβ 的波形和 pwm 的 duty 的波形如下。此时,电机可以通过 Vq 直接控制转动,若要反转,给 Vq 一个负数即可。
虽然无刷电机能通过一个直流分量转动,但这属于开环控制。矢量控制的优点之一是功率因数可以做得很好,原因是电流和电压的波形一致。而开环控制无法保证这一优点,并且增加电流环后还能控制力矩。对于算法而言,需要采集电机三相的线上电流,可通过三电阻采样法、单电阻采样法、相电流直接采样法等方法获取,具体可通过百度查询。通过电流采集观测到的三相电流 Ia,Ib,Ic 波形与控制输出给电机的 Va,Vb,Vc 波形相位相同。由于在任意时刻满足 Ia + Ib + Ic = 0,所以只需采集 a 相和 b 相的电流。

通过 clarke 变换和 park 变换后可得到 Iq,Id。

之所以进行多次变换,是为了得到直流量 Iq 和 Id,其符号代表转动方向。同时,Vq 和 Vd 也是直流量,目的是使用经典的 PID 进行闭环控制。

使用经典的 PI 控制,让电压跟随电流的变化,从而实现电流闭环控制。
一般来说,电流环是高速环,通常作为无刷电机的内环。若要实现速度闭环控制,电流环为内环,速度环为外环。下面是 foc 速度环 + 电流环总框图。

通过上述对无刷电机 FOC 控制的详细介绍,我们可以看到,利用 clarke 变换、park 变换以及 PID 控制等技术,能够实现无刷电机的高效、控制,无论是开环控制还是闭环控制,都能满足不同应用场景的需求。