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°
- 新的合成磁场角度与转子磁场角度始终不变,磁力的大小也没有发生变化,因此能保证力矩恒定;
- 新的合成磁场角度与转子磁场角度始终为90°,可以保证合成磁场的力最大化做功,效率最大
此外在驱动电机前我们首先需要知道一个知识:电动机与发动机的关系:电动机反过来即为发电机,通过外力转动直流无刷电机,测量U V W三相之间任意两相之间的电压变化,我们可以看到输出为三个相位相差120°的正弦波,
因此如果需要驱动直流无刷电机,我们应该通过控制上述三个半桥电路,使得输出到电机UVW三个相位相差120°的正弦波电流来驱动无刷电机。
如何控制三个半桥电路产生三相相位相差120°的正弦波呢?以及如何实现合成磁场与转子磁场始终保持90°相位差呢?这便是FOC所需要解决的问题了
3. FOC控制与六步换相控制比较
刚刚我们从原理上简单的讲解了下FOC和六步换向的区别,而在实际控制中,FOC与六步换相还存在以下差别需要大家首先明确:
- 控制信号区别:
- FOC采用正弦波驱动,六步换相采用方波驱动
- 控制方式区别:
- FOC控制中三个半桥的MOS采用三三导通,而六步换相采用两两导通
三三导通:同一时刻有三个MOS管导通
两两导通:同一时刻有两个MOS管导通
- FOC控制中三个半桥的MOS采用三三导通,而六步换相采用两两导通
4. 坐标变换
我们继续看到最开始的FOC控制框图
整个控制框图可以分为五个部分,分别对应上图中的 ① – ⑤,那么为什么需要做的这么复杂呢?拿到电机的三相电流之后直接做作为PID控制器反馈输入不好吗?此图看上去复杂了些,实际上真正做到了化繁为简
根据我们之前的描述可知,我们从电机U V W三相检测到的反馈电流为正弦波,同时处于静止的abc三相坐标系,谁会愿意在三相坐标系上去计算呢,受过九年义务教育的我们,都只喜欢在二维坐标系上去进行简单计算的嘛,聪明的先辈们也体会到计算的复杂性,太难的东西不利于推广,因此经过先辈们的艰苦奋斗,找到了一种巧妙的解决方式——坐标变换。
第①步:通过传感器采样,得到三相电流,为了节约成本,亦可只采集其中任意两相的电流,之后根据基尔霍夫电流定律,流入节点电流等于流出节点电流,即 Ia+Ib+Ic=0 计算第三相电流,之后通过Clark变换,将静止的三相a_b_c坐标系转换为静止的两相直角α_β坐标系
- Clark变换
- 坐标系:静止三相坐标系 -> 静止两相直角坐标系
- 波形:正弦波 -> 正弦波
- Clark变换
第②步:P输入功率 = P输出功率 + P损耗功率
当三相绕组通以电流产生的合成磁场与转子磁场成90°相切时, P输出功率最大,P损耗功率最小,所产生的力效率最高;
而当合成磁场与转子磁场平行且反向时,电机会被吸住不能运转,P输出功率最小,P损耗功率最大,此时电机效率最低,同时由于损耗功率绝大部分作用于电机的热量损耗,因此此时电机温升将极具增大,长时间很容易烧毁电机
因此在控制时,我们应尽可能的控制合成磁场与转子磁场成90°,即上图中的Q轴方向,而D轴方向的分量因尽可能为0(当然也有一种是控制D轴分量为负,利用同性磁极之间斥力进行作用的方法,此处不考虑)
根据上述分析,我们可以随着电机转动,转子磁场不断旋转,合成磁场也应同步旋转,因此便已转子磁铁作为参考建立D_Q轴旋转坐标系
通过Park变换,将静止两相直角α_β坐标系转换为跟随电机旋转的旋转D_Q坐标系,将正弦计算转化为常数计算,旋转坐标系与静止坐标系的夹角为电机此时的电角度
- Park变化
- 坐标系:静止的两相直角坐标系 -> 旋转的两相直角坐标系
- 波形:正弦波 -> 常数
第③步:进行PID计算,根据目标与偏差,在旋转D_Q坐标系上计算得到输出
第④步:通过反Park变换,将输出所在的D_Q旋转坐标系转化为静止的直角坐标系,即进行Park变换的反运算
第⑤步:通过SVPWM技术,将输出转化为马鞍波,U V W对地波形分别为马鞍波,U V W三相任意两相相减得到正弦波,驱动电机运转
努力加更中…
5. Clark、Park、反Park变化运算
FOC直流无刷电机控制算法 理论到实践 —— 理论(二)
5.1 Clark变换运算
FOC直流无刷电机控制算法 理论到实践 —— 理论(二)
5.2 Park变化运算
FOC直流无刷电机控制算法 理论到实践 —— 理论(二)