直流无刷电机FOC控制算法:从理论到实践——第一部分

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

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

文章目录

  • 直流无刷电机FOC控制算法——理论
  • 1. FOC概述
  • 1.1 FOC由来
  • 1.2 FOC框图
  • 2. 驱动电路介绍
  • 3. FOC控制与六步换相控制比较
  • 4. 坐标变换
  • 5. Clark、Park、反Park变化及SVPWM运算
  • 6. 实战
  • 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坐标系转换为静止的两相直角α_β坐标系

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

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

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

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

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

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

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

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

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

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

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

    6. 实战

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

    创作不易,转发请注明出处,点赞收藏+关注,找我不迷路!

    物联沃分享整理
    物联沃-IOTWORD物联网 » 直流无刷电机FOC控制算法:从理论到实践——第一部分

    发表评论