FOC又称矢量控制,是一种通过控制逆变器输出电压的幅值和频率来控制三相无刷直流电机的变频驱动控制方法。 FOC的本质是利用坐标变换将三相静止坐标系中的电机相电流转换到相对于转子磁极轴静止的旋转坐标系,通过控制电机的电流来达到控制电机的目的。旋转坐标系中向量的大小和方向。由于定子上的电压、电流、电动势等都是交流量,并且它们在空间中以同步速度不断旋转,控制算法很难实现控制。经过坐标变换,旋转同步矢量转换为静止矢量,电压和电流均转换为直流。然后根据转矩公式,找出旋转坐标系上转矩与被控量的关系,实时计算并控制转矩所需的直流给定量,从而间接控制电机实现其性能。由于每个直流量都是虚构的,在物理上没有实际意义,因此需要通过逆变换将其转换为实际的交流给定值。
1、测量电机运行时的三相定子电流,即可得到Ia、Ib、Ic。三相电流通过克拉克变换为两相电流I和I,它们是彼此正交的时变电流信号。
2、I和I通过Park变换得到旋转坐标系下的电流Id和Iq。当电机达到稳定状态时,Id 和Iq 为常数。此时使用的转子位置是上一次迭代计算出的角度值。
3、Id的参考值决定电机转子磁通,Iq的参考值决定电机的扭矩输出。将两者的实际值与参考值进行比较得到的误差作为电流环PI控制器的输入。通过PI控制计算输出以获得Vd和Vq,它们是施加到电机绕组的电压矢量。
4. 有一个传感器FOC,根据霍尔信号或通过无感估计来计算转子位置和电机速度。新的转子角度告诉FOC 算法下一个电压矢量的位置。计算出的电机转速将用于电机状态切换、回路切换、堵转保护等子功能模块的数据支撑。
5. 使用新的电机角度,通过Park 逆变换将Vd 和Vq 变换到两相静止坐标系中。该计算将产生下一个正交电压值V、V。然后利用SVPWM算法判断合成电压矢量位于哪个扇区,并计算出三相各桥臂开关管的导通时间。最后通过三相逆变驱动模块输出电机所需的三相电压。
电压模式-电压
基于电压的扭矩控制是最基本的扭矩控制模式,它为您提供了一个抽象的无刷直流电机,以便您可以将其作为直流电机进行控制。
它基于简单的欧姆定律(忽略电流动态),因此不需要任何电流传感相关的硬件。这种扭矩控制方法适用于任何无刷直流电机驱动板,无论其是否具有电流感应功能。
这个型号也是我们所知道的电机的型号。
直流电流模式- dc_current
基于直流电流的扭矩控制可以像控制直流电机一样控制无刷电机。电流检测用于获取流过电机的电流的大小和方向。我们假设扭矩和总电流成正比。这种模式的优点是可以非常精确地控制无刷电机的实际电流,一些性能较低的处理器(如ATMega328系列)也可以达到更快、更稳定的结果。
看左边的无刷电机,没有换向器这个东西。
FOC 电流模式- foc_current
基于直流电流的扭矩控制是唯一真正的扭矩控制方法。它控制电流q 和d 的两个分量。我们假设扭矩与电流的q 分量成正比,并控制电流的d 分量保持为零。
这是三种方法的比较
代码设置在这里
几种配置的结构
基于电压的控制
获得旋转角度和当前给定电压,算法给出三个电压。 FOC算法确保这些电压产生的磁力与电机转子的永磁场正好偏移90度,从而保证最大扭矩。这称为换向。
假设电机产生的扭矩与设定电压Uq成正比,这意味着最大扭矩与Uq有关,而这个Uq受到电源电压的限制。最小扭矩当然是Uq=0。
如果给定电机的相电阻,也可以直接提供电流:
闭环模型就变成这样了
我们来看第二个,基于电流的控制
直流电流扭矩控制算法读取无刷直流电机的相电流(通常是ia和ib)。
该算法从位置传感器读取角度a。通过克拉克反变换和简化帕克变换将相电流转换为直流电流iDC。
然后,PID控制器利用目标电流Id和测量电流iDC来计算设置给电机的相应电压值Uq,并且Ud始终保持为0。
最后,FOC为电机设置相应的ua、ub和uc。 FOC 确保这些电压产生的磁力与电机转子的永磁场恰好偏移90 度,从而确保最大扭矩。这称为换向。
这种扭矩控制模式假设电机的扭矩与电机的直流电流iDC成正比(iDC=iq),因此可以通过控制电流来实现扭矩控制。然而,这种假设仅限于低速条件。在高速条件下,id分量会变得很高,导致iDC=iq无效。
我们来看看FOC
FOC电流-扭矩控制算法读取无刷直流电机的相电流(通常是ia和ib)。此外,算法还从位置传感器读取角度a。
通过Clarke和Park逆变换将相电流转换为d分量电流id和q分量电流iq。然后,各相PID控制器使用目标电流Id和测量的电流值iq和id来计算设置给电机的相应电压值Uq和Ud,以维持iq=Id,id=0。
最后,FOC 使用Park 和Clark(或SpaceVector)变换来设置适当的ua、ub 和uc。
通过测量相电流,扭矩控制算法能够确保生成这些电压以在电机转子中产生适当的电流和磁力,并且与电机转子的永磁场恰好偏移90 度,以确保最大扭矩。这称为换向。电机产生的扭矩与q分量电流iq成正比。这一原理使得这种扭矩控制模式成为无刷直流电机真正的扭矩控制。
简而言之,电压控制模式是实现电机扭矩控制的最简单方法。它基本上运行在电机+驱动器+MCU 的任意组合上。
直流电流模式是电压控制模式的一个进步。它比电压控制模式更精确,但需要电流检测和更强大的MCU。
FOC电流模式是真正的电机扭矩控制方法,与前两者的“近似”不同,因此它也需要电流传感器,对MCU处理能力的要求比DC电流模式更高。
电压模式直接给出目标电压,电流模式是给定电流。其实与上面的方式相比,就是相电阻的变化。