FOC直流无刷电机控制算法——理论

说明:图片素材来源于网络

文章目录

  • FOC直流无刷电机控制算法——理论
    • 1. FOC概述
      • 1.1 FOC由来
      • 1.2 FOC框图
    • 2. 驱动电路介绍
    • 3. FOC控制与六步换相控制比较
    • 4. 坐标变换
    • 努力加更中…
    • 5. Clark、Park、反Park变化运算
      • 5.1 Clark变换运算
      • 5.2 Park变化运算
      • 5.3 反Park变化运算
    • 6. SVPWM实现
      • 6.1 SVPWM概述
      • 6.2 扇区判断
      • 6.3 矢量作用时间计算
    • 7. 实战

1. FOC概述

1.1 FOC由来

什么是FOC?

FOC英文全程为 field-oriented control,即磁场定向控制,也称之为矢量控制,主要应用于直流无刷电机的控制,通过此控制算法可以实现对直流无刷电机的精确控制。

那么怎样才能称之为精确控制,FOC和普通的六步换相控制有什么区别呢?

对于直流无刷电机的控制,采用六步换相确实可以驱动电机运转,但是如果从原理上深入理解一下便可以发现其缺陷,六步换相技术通过传感器检测(通常为霍尔)当前转子磁场位置,之后控制三相输出产生合成磁场,通过此合成磁场吸引转子磁场转动,从而实现电机的驱动。 此方法的缺点是:由于只能产生六种固定的合成磁场,转子磁场所处位置不同,所受磁力不一致,因此此方法的缺点便是对于电机力矩控制不稳定(在电机转速较低时更加明显),效率低(磁场产生的吸引力不能成90°完全做功)

针对六步换向存在的这些缺陷,伟大的前辈们便思考出了FOC这种控制算法。

1.2 FOC框图

以下便是FOC的控制框图

相信对于没有接触过FOC的同学,对于框图中不懂的含义可以先不用纠结,此时只需要你对整个框图有个大体的映像即可

从框图中大体可以看到FOC中有几个关键的点:

  • Park逆变换
  • Clarke逆变换
  • Park变换
  • Clarke变换

大家先有个映像,以上均会在接下来进行详细讲解

2. 驱动电路介绍

无论是直流有刷电机还是直流无刷电机,想要实现控制,根据历史的经验,我们都是通过工具+方法来实现。

对于直流无刷电机,驱动电路由三个半桥控制电路组成,通过控制三个半桥的上下桥导通和关断,实现逆变控制,将直流电变成交流电,简单点理解就是可以实现流过电机三相线圈的电流的流向控制。

上述驱动电路便是控制直流无刷电机运转的工具,那么如何合理的使用此工具来实现我们的目的——驱动直流无刷的电机呢?

通过控制半桥上下桥臂在不同时刻的不同导通方式,可以实现对流过电机三相绕组的电流控制,从而控制电机内部合成特定角度的磁场完成电机驱动

我们首先来看下六步换相控制是如何实现的,以下是六步换相的六种框图:


通过上述示意图,我们应该可以清晰的理解六步换相的基本原理了,通过控制线圈的导电顺序,根据右手螺旋定则产生合成磁场,根据磁铁的异性相吸,同性相斥原理,吸引转子磁场进行转动

而FOC最底层的原理和六步换相一致,也是通过控制线圈通电,从而控制合成的磁场方向吸引着转子磁极;所不同的是,六步换相技术所产生的磁场固定为六个方向,FOC可以理解为将六步换相产生的任意几个方向的磁场进行组合,合成一个新的磁场,使得合成的新的磁场始终与转子磁场保持90°

  1. 新的合成磁场角度与转子磁场角度始终不变,磁力的大小也没有发生变化,因此能保证力矩恒定;
  2. 新的合成磁场角度与转子磁场角度始终为90°,可以保证合成磁场的力最大化做功,效率最大

此外在驱动电机前我们首先需要知道一个知识:电动机与发动机的关系:电动机反过来即为发电机,通过外力转动直流无刷电机,测量U V W三相之间任意两相之间的电压变化,我们可以看到输出为三个相位相差120°的正弦波,

因此如果需要驱动直流无刷电机,我们应该通过控制上述三个半桥电路,使得输出到电机UVW三个相位相差120°的正弦波电流来驱动无刷电机。

如何控制三个半桥电路产生三相相位相差120°的正弦波呢?以及如何实现合成磁场与转子磁场始终保持90°相位差呢?这便是FOC所需要解决的问题了

3. FOC控制与六步换相控制比较

刚刚我们从原理上简单的讲解了下FOC和六步换向的区别,而在实际控制中,FOC与六步换相还存在以下差别需要大家首先明确:

  • 控制信号区别:
    • FOC采用正弦波驱动,六步换相采用方波驱动
  • 控制方式区别:
    • FOC控制中三个半桥的MOS采用三三导通,而六步换相采用两两导通
      • 三三导通:同一时刻有三个MOS管导通

      • 两两导通:同一时刻有两个MOS管导通

4. 坐标变换

我们继续看到最开始的FOC控制框图

整个控制框图可以分为五个部分,分别对应上图中的 ① – ⑤,那么为什么需要做的这么复杂呢?拿到电机的三相电流之后直接做作为PID控制器反馈输入不好吗?此图看上去复杂了些,实际上真正做到了化繁为简

根据我们之前的描述可知,我们从电机U V W三相检测到的反馈电流为正弦波,同时处于静止的abc三相坐标系,谁会愿意在三相坐标系上去计算呢,受过九年义务教育的我们,都只喜欢在二维坐标系上去进行简单计算的嘛,聪明的先辈们也体会到计算的复杂性,太难的东西不利于推广,因此经过先辈们的艰苦奋斗,找到了一种巧妙的解决方式——坐标变换。

  1. 第①步:通过传感器采样,得到三相电流,为了节约成本,亦可只采集其中任意两相的电流,之后根据基尔霍夫电流定律,流入节点电流等于流出节点电流,即 Ia+Ib+Ic=0 计算第三相电流,之后通过Clark变换,将静止的三相a_b_c坐标系转换为静止的两相直角α_β坐标系

    • Clark变换
      • 坐标系:静止三相坐标系 -> 静止两相直角坐标系
      • 波形:正弦波 -> 正弦波
  2. 第②步:P输入功率 = P输出功率 + P损耗功率

    • 当三相绕组通以电流产生的合成磁场与转子磁场成90°相切时, P输出功率最大,P损耗功率最小,所产生的力效率最高;

    • 而当合成磁场与转子磁场平行且反向时,电机会被吸住不能运转,P输出功率最小,P损耗功率最大,此时电机效率最低,同时由于损耗功率绝大部分作用于电机的热量损耗,因此此时电机温升将极具增大,长时间很容易烧毁电机

    • 因此在控制时,我们应尽可能的控制合成磁场与转子磁场成90°,即上图中的Q轴方向,而D轴方向的分量因尽可能为0(当然也有一种是控制D轴分量为负,利用同性磁极之间斥力进行作用的方法,此处不考虑)

    • 根据上述分析,我们可以随着电机转动,转子磁场不断旋转,合成磁场也应同步旋转,因此便已转子磁铁作为参考建立D_Q轴旋转坐标系

    通过Park变换,将静止两相直角α_β坐标系转换为跟随电机旋转的旋转D_Q坐标系,将正弦计算转化为常数计算,旋转坐标系与静止坐标系的夹角为电机此时的电角度

    • Park变化
      • 坐标系:静止的两相直角坐标系 -> 旋转的两相直角坐标系
      • 波形:正弦波 -> 常数
  3. 第③步:进行PID计算,根据目标与偏差,在旋转D_Q坐标系上计算得到输出

  4. 第④步:通过反Park变换,将输出所在的D_Q旋转坐标系转化为静止的直角坐标系,即进行Park变换的反运算

  5. 第⑤步:通过SVPWM技术,将输出转化为马鞍波,U V W对地波形分别为马鞍波,U V W三相任意两相相减得到正弦波,驱动电机运转

努力加更中…

5. Clark、Park、反Park变化运算

FOC直流无刷电机控制算法 理论到实践 —— 理论(二)

5.1 Clark变换运算

FOC直流无刷电机控制算法 理论到实践 —— 理论(二)

5.2 Park变化运算

FOC直流无刷电机控制算法 理论到实践 —— 理论(二)

5.3 反Park变化运算

6. SVPWM实现

6.1 SVPWM概述

6.2 扇区判断

6.3 矢量作用时间计算

7. 实战