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

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°

新的合成磁场角度与转子磁场角度始终不变,磁力的大小也没有发生变化,因此能保证力矩恒定; 新的合成磁场角度与转子磁场角度始终为90°,可以保证合成磁场的力最大化做功,效率最大 此外在驱动电机前我们首先需要知道一个知识:电动机与发动机的关系:电动机反过来即为发电机,通过外力转动永磁同步电机,测量U V W三相之间任意两相之间的电压变化,我们可以看到输出为三个相位相差120°的正弦波,

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

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

三三导通:同一时刻有三个MOS管导通

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

4、坐标变换

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

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

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

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

Clark变换

坐标系:静止三相坐标系 -> 静止两相直角坐标系
波形:正弦波 -> 正弦波

第②步:P输入功率 = P输出功率 + P损耗功率

当三相绕组通以电流产生的合成磁场与转子磁场成90°相切时, P输出功率最大,P损耗功率最小,所产生的力效率最高;
而当合成磁场与转子磁场平行且反向时,电机会被吸住不能运转,P输出功率最小,P损耗功率最大,此时电机效率最低,同时由于损耗功率绝大部分作用于电机的热量损耗,因此此时电机温升将极具增大,长时间很容易烧毁电机
因此在控制时,我们应尽可能的控制合成磁场与转子磁场成90°,即上图中的Q轴方向,而D轴方向的分量因尽可能为0(当然也有一种是控制D轴分量为负,利用同性磁极之间斥力进行作用的方法,此处不考虑)
根据上述分析,我们可以随着电机转动,转子磁场不断旋转,合成磁场也应同步旋转,因此便已转子磁铁作为参考建立D_Q轴旋转坐标系
通过Park变换,将静止两相直角α_β坐标系转换为跟随电机旋转的旋转D_Q坐标系将正弦计算转化为常数计算,旋转坐标系与静止坐标系的夹角为电机此时的电角度

Park变化
坐标系:静止的两相直角坐标系 -> 旋转的两相直角坐标系
波形:正弦波 -> 常数

2.第③步:进行PID计算,根据目标与偏差,在旋转D_Q坐标系上计算得到输出

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

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

说了半天好像不如正点原子的视频讲的透彻些,还是没有找到答案,为什么要采集三相电压

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值