今日开始学习FOC无刷电机的驱动:克拉克变换、等幅值变换、克拉克逆变换、帕克变换
主控芯片:STM32F407VET6 开发学习板:嘉立创的立创梁山派天空星
2804云台电机; AS5600编码器
个人学习笔记备忘录,根据多方学习整理理解学习来的,感谢网络上的各位老师与GPT Ai
目录
力矩环:
先展示一下要学习的几个变换之间的作用关系图:
定子与转子的关联:
FOC的主要目标是维持定子和转子磁场之间的正交关系,从而实现高效的能量转换。
在最近的初步学习中个人认为:
FOC无刷电机控制的基本算法,其基本目的就是 解决如何通过控制定子物理量的变化对转子状态影响的问题,因此详细了解转子定子物理量之间的关联实属有必要的:
转子的关键物理量:
转子物理量:
- 感应电流:当定子磁场在转子中感应出电流时,这些电流会产生与定子磁场相互作用的磁场,进而产生转矩。因此,定子磁场强度的变化会直接影响转子中的感应电流。
- 转矩:转矩是电机输出的关键物理量,它决定了电机的转速和负载能力。在FOC中,通过控制定子磁场的方向和强度,可以实现对转矩的精确控制。具体来说,当定子磁场与转子磁场垂直时,可以产生最大的转矩。
- 转速:虽然定子磁场本身不直接控制转子的转速,但它通过影响转矩来间接影响转速。在FOC中,通过精确控制转矩,可以实现对转速的精确控制。
定子的关键物理量:
- 磁场强度:定子产生的磁场强度直接决定了转子中感应电流的大小。磁场强度越大,转子中感应的电流也越大,从而产生的转矩也相应增大。在FOC(Field Oriented Control,磁场导向控制)中,精确地控制定子磁场的强度是实现对转矩精确控制的关键。
- 磁场方向:定子磁场的方向对于转子的运动状态有着至关重要的影响。在FOC中,通过控制定子磁场的方向,可以确保它与转子磁场之间的夹角接近或达到90度,从而最大化转矩。这种控制方法被称为磁场定向控制,能够显著提高电机的运行效率和稳定性。
- 电流频率:定子电流的频率会影响电机的转速。在交流电机中,定子电流的频率与电机的转速成正比。因此,通过控制定子电流的频率,可以实现对电机转速的精确控制。
- 电流相位:定子电流的相位对于电机的转矩和效率也有影响。在FOC中,通过控制定子电流的相位,可以确保定子磁场与转子磁场之间的相位关系最佳,从而实现对转矩和效率的精确控制。
克拉克变换原理:
克拉克变换的目的:
克拉克(Clarke)变换是一种重要的坐标变换方法,主要用于将三相交流电信号转换为两相交流电信号。这种变换在电机控制中尤其重要,因为它能够简化信号的处理和分析,提高控制精度和效率。
简而言之,就是将无刷电机旋转问题由三相Sin状波形问题 降级为双变量电流i_aerfa,i_beta的问题来分析:

理解克拉克变换:
首先根据高中物理的右手螺旋定则,根据相位通电电流进出方向判断出产生的磁场方向:
这里画出的磁场方向是定子的磁场方向:

此时我们在加入转子,我们发现问题了:要想控制定子磁场强度与转子转矩产生联系,从而达到控制转子转动到预期位置角度,我们就得想办法控制A\B\C三个磁场方向的磁场强度,而直接对着三个磁场方向进行配凑是十分低效的,因此需要进行一些坐标上的分量变换:

根据基尔霍夫定律,流入节点的电流就等于流出,所以有ia+ib+ic=0;也就是我们只需要知道俩相的电流,就可以推导出第三相的电流,转换到定子磁场上s来看,我们只需知道A轴、B轴的磁场强度信息,就可以推导出C轴的磁场强度信息:
我们通过根据转子磁场进行建立坐标系,可以得出a轴和β轴,于是通过正交分解将定子A轴B轴的磁场强度分解到a轴和β轴上了:
以下运算关系只是针对特定转动方向情况的一种分析演示,并不适用于电机旋转的全过程:
将该过程写成矩阵形式如下:
克拉克变换等幅值形式:
等幅值变换的目的就是消去相位角影响,省去ic的测量(节省了一路的电流传感器)
这里先尝试计算一个特例:将电流ia、ib、ic(满足基尔霍夫定律)写成矩阵{-1 1/2 1/2}
代入到之前的矩阵相乘(行乘列并每项相加)
最后计算出iα_aerfa的相电流是-3/2,iβ_beta的相电流是0
此时我们就发现,由于三相相位差120°的存在,如果直接进行克拉克基本形式的投影而计算出的iα_aerfa 电流就是-3/2A,而不是输入ia的等幅值的-1A
于是为了简单地让式子中iα_aerfa 相电流能等于 ia,就必须给克拉克变换基本形式式子乘2/3
克拉克逆变换:
克拉克逆变换是将矢量信号转换回三相交流信号的过程。
克拉克逆变换和克拉克变换是互逆的过程
帕克变换原理:
帕克变换的目的:
帕克变换的主要目的是将定子的a、b、c三相电流投影到随着转子旋转的直轴(d轴)、交轴(q轴)与垂直于dq平面的零轴(0轴)上,从而实现对定子电感矩阵的对角化,对同步电动机的运行分析起到了简化作用。
简而言之:就是iα_aerfa 和 iβ_beta 会随着转子而转动,帕克变换就是为了解决这个坐标系会旋转的问题的
理解帕克变换: