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