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

这篇具有很好参考价值的文章主要介绍了直流无刷电机FOC控制算法 理论到实践 —— 理论(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

上一章节:FOC直流无刷电机控制算法 理论到实践 —— 理论(一)

下一章节:直流无刷电机FOC控制算法 理论到实践 —— 实践

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

1. 概述

续上一章: FOC直流无刷电机控制算法 理论到实践 —— 理论(一)(点击跳转)

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

在上一章节,我们对于FOC大体有了一个介绍,本博文将详细描述有关Clark变化、Park变化、反Park变化以及SVPWM的理论实现原理,也即相关数学运算实现。
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

2. Clark变化运算

在①处进行Clark运算,将静止的a_b_c坐标系转换为α_β坐标系

通过计算得到:

  • Iα = Ia
  • Iβ = (Ia + 2Ib) / sqrt(3)

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

3. Park变化运算

在②处进行Park变化,将静止的α_β坐标系转化为旋转的d_q坐标系,同时通过Park变化,正弦运算转化为常数运算

  • Id = Iα · cosθ + Iβ · sinθ
  • Iq = Iα · sinθ + Iβ · cosθ
  • 注意此处的 θ 为电机此时的电角度
    直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

4. PID运算

通过clark变化和park变化,原本呈正弦变化的电流已经转变为常数了,此时便方便我们进行其他计算了,因此在③处进行电流环PID运算;

PID输入为 Iq_ref,Id_ref, Iq, Id,PID输出为Uq,Ud

  • Iq_ref:Q轴目标电流
  • Id_ref:D轴目标电流
  • Iq:Q轴反馈电流
  • Id:D轴反馈电流
  • Uq:Q轴目标电压
  • Ud:D轴目标电压

根据我们在上一章节 FOC直流无刷电机控制算法 理论到实践 —— 理论(一) 的分析可知,只有Q轴分量才是真正用来驱动电机的,D轴分量主要用于电机发热,因此 Id_ref 应为0,甚至可以D轴直接不进行PID运算,直接将 Ud 设置为 0。

  • 此处的PID模块亦是一个隔离转换模块,输入为电流量,输出为电压量
  • 而在实际的FOC实现中,我们是通过程序控制实现的,在程序里最终控制的到电机的是定时器
  • 因此此输出量最终应该和定时器的参数(CCR)相互关联,这也是PID的第二大妙处了

5. 反Park变化运算

通过①和②将原来的 a_b_c轴 转化到了 d_q轴 进行运算完成之后,接下来需要做的便是将坐标系再变回去对电机进行控制了,首先进行④ 反Park变换,将 d_q轴 转化为 α_β坐标系

  • Uα = Ud · cosθ - Uq · sinθ
  • Uβ = Ud · sinθ + Uq · cosθ
    直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

6. SVPWM运算

经过④反Park变换之后,坐标轴到了 α_β坐标系 ,首先大家想到的肯定是接下来是不是需要进行反Clark变换了,然而并不是,毕竟采用MCU程序实现,反Clark变化之后,并不方便实现对电机的控制,因此引入了SVPWM运算

6.1 SVPWM 原理

首先SVPWM是什么呢?

SVPWM,即Space Vector Pulse Width Modulation空间矢量脉宽调制的简称,其原理类似于力的合成

通过控制三相半桥的导通方式不同,我们可以生成6个不同方向的力矩,这也就是六步换相的原理,以三相半桥为例:

  • 将三个半桥分别命名为 A B C
  • 假定上半桥导通、下半桥关闭为 1
  • 假定上半桥关闭、下半桥导通为 0
    直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
    我们一共能出现8中组合方式,如下表所示:
  • 其中第1种和第8种组合为特殊组合
    • 第1种组合上管全部关闭,下管全部打开
    • 第8种模式,上管全部打开,下管全部关闭
    • 此两种模式均无力矩输出
序号 A B C
1 (V0) 0 0 0
2 (V1) 0 0 1
3 (V2) 0 1 0
4 (V3) 0 1 1
5 (V4) 1 0 0
6 (V5) 1 0 1
7 (V6) 1 1 0
8 (V7) 1 1 1

我们将以上几种组合所产生的力矩方向在下图中绘出,如下图:

直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
现在我们将电机的转子简化,看成是一对磁极(红色:电机N机 蓝色:电机S极),由于 磁场同性相斥,异性相吸 的原理,为了实现驱动效率最大化,也即力做功最大化,我们期望产生的合成力矩与转子磁场成90°相切,即图中的绿色箭头所指方向,但是根据我们上面的分析可知,通过控制三相半桥的导通,仅仅只能实现在 V1 - V6 六个固定方向的力,那有如何产生图中绿色箭头所指的方向的力呢?

直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
这个时候就需要使用到我们高中所学的力的合成了,根据力的合成:

  • 在一个作用周期 Ts内,产生Tx时间的V4方向的力F4,产生Ty时间的V6方向的力F6
  • 在周期T内,将一部分作用时间 Tz分配给 V0 和 V7 ,通过这种方式控制合成力F的幅值大小
  • 同时满足 Ts = Tx + Ty +Tz

通过合理的控制 Tx 、 Ty 和 Tz 在一个周期内所占用的时间,根据伏秒平衡等效原理了。亦可看成产生了一个周期为 Ts 的合成力F

这里我们为了调节合成磁力F的幅值,引入了两个零矢量 V0 和 V7,为什么需要引入两个0矢量呢?引入一个是否也可以呢?这里便涉及到FOC理论如何转化到实际控制的问题,也就是大家常说的七段式SVPWM五段式SVPWM


首先讲下为什么引入零矢量呢?引入零矢量有两个目的:

  • 通过零矢量调节合成矢量的幅值
  • 通过插入零矢量,使得七段式/五段式SVPWM在每一段切换时,只需要动作一路开关,同时得到的是成中央堆成的PWM,大大减少谐波分量

七段式SVPWM控制如下图所示:
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)直流无刷电机FOC控制算法 理论到实践 —— 理论(二)五段式SVPWM控制如下图所示:
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)直流无刷电机FOC控制算法 理论到实践 —— 理论(二)直流无刷电机FOC控制算法 理论到实践 —— 理论(二)七段式和五段式的区别是:七段式谐波分量更小,但是每个周期会有六次开关切换,开关损耗比较大;五段式每个周期只需要四次开关切换,开关损耗相对较小,但是谐波分量更大

综上,以 V0 ~ V7 为基础力矩,通过这六个方向的基础力矩便可合成任意方向的大小幅值可调的合成磁力F,从而实现以最大效率驱动电机运转,这便是SVPWM,空间矢量脉宽调制的原理了

需要注意的是,合成力矩的调节范围为六边形的内,在实际控制过程中,为了获得良好的控制效果,我们期望给到电机的力是均匀的,因此在实际控制中,我们会将力矩控制在六边形的内切圆内,如下图所示:
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
以下是在网上找的一张动图辅助大家理解力矩的合成
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
α_β坐标系内的Uα和Uβ,通过SVPWM模块,可以输出三相相位相差120°的马鞍波,任意两相马鞍波相减,即可得到正弦波,这便是采用SVPWM实现直流无刷电机控制的原理。

SVPWM运算具体实现大概可以分为两个步骤,接下来将逐步讲解SVPWM的实现。

6.2 扇区判断

根据上述分析,通过控制三个半桥的导通,我们可以获得 V0 ~ V7 八个方向的基础矢量力矩,我们根据这 V1 ~ V6 将360°拆分为六个扇区,扇区Ⅰ到扇区Ⅵ,同时根据 V1~V6 建立六边形坐标系
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
接下来我们先整理下我们的“目标”和“工具”:

  • V0 - V7是我们通过控制三个半桥可以得到的矢量,这是我们的工具
  • 经过反Park变化后的 Uα 和 Uβ 是我们需要去实现的目标

那么接下来我们只需要思考如何采用我们已拥有的工具去实现我们需要实现的目标即可。

此外在目标与工具之间还存在着一个桥梁,将两者相互连接起来,那便是 Vref ,亦可这么理解:其实只是实现 Vref 在α_β坐标系和V1~V6六边形坐标系之间的相互转化

在六边形坐标系中,Vref的合成是需要区分其在哪一个扇区,需要采用哪两个基础矢量实现合成,因此首先需要做的便是判断扇区,而根据Uα和Uβ,我们可以知道 Vref 所在哪一个扇区

由于markdown不方便编辑复杂公式,因此采用word编辑之后截图贴图说明

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

同理其他情况亦可按此方法进行推导分析,最终得到下表:

(A,B,C) 000 001 010 011 100 101 110 111
扇区 4 6 5 2 3 1
N = 4C + 2B +1A 0 4 2 6 1 5 3 7
N = 4A + 2B + 1C 0 1 2 3 4 5 6 7

在实际计算中,我们通过Park变化后的 Uα 和 Uβ 计算 U1 U2 U3的正负,可以得到N,N的计算方式可以选择 N = 4C + 2B +1AN = 4A + 2B + 1C 任意一种,之后通过查表的方式,得到实际的扇区

此外,在上述扇区计算中,还有一点需要特别注意,那便是(A,B,C)(0,0,0)(1,1,1) 的时候,对应的扇区为无,这个的原因是:

  • (A,B,C)(0,0,0) 的时候,得到U1 = 0, U2 = 0, U3 = 0, Uα 和 Uβ均为0,不在扇区内;
  • (A,B,C)(1,1,1) 的时候,得到U1 = 1, U2 = 1, U3 = 1,不存在 Uα 和 Uβ 满足条件。

6.3 计算矢量作用时间

通过扇区判断,我们可以知道目标矢量 Vref 在哪一个扇区内,而 Vref 则可由其相邻的两个 V1 - V6 基本矢量合成,那么此两个相邻矢量以及为了调节 Vref 的幅度,在周期T内引入V0或者V7这个两个0矢量,这几个部分在一个周期内各自分配多长时间呢?

我们以 Vref 在第Ⅰ扇区举例,那么 Vref 则由V4、V6、V0和V7合成,首先假定:

  • Vref 的作用时间为 Ts
  • V0 ~ V7 的作用时间分别为T0 ~ T7

同样还是和力的分解一样,我们以扇区Ⅰ举例,假定此时我们需要得到的 Vref 在扇区Ⅰ内,则

  • 在α轴上有:Vref * cosθ * Ts = V4 * T4 + V6 * cos60° * T6
  • 在β轴上有:Vref * sinθ * Ts = V6 * cos30° * T6

和力的分解与合成一样,我们可以将 Vref 以及 V4 V6分别分解到 α_β 坐标轴上
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
同理,其他扇区亦可按照此方法计算,得到下表:
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

参考

  1. FOC电机控制之SVPWM原理与实现
  2. 【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术

下一章节:直流无刷电机FOC控制算法 理论到实践 —— 实践文章来源地址https://www.toymoban.com/news/detail-468733.html

到了这里,关于直流无刷电机FOC控制算法 理论到实践 —— 理论(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【正点原子】STM32电机应用控制学习笔记——2.直流无刷电机基础知识

    没有电刷,无换向器的电机,也称为无换向器电机。 主要是定子和转子,而直流有刷电机多的是换向器和电刷。 而直流有刷的定子是N和S的永磁体,而无刷是三个线圈饶阻。 直流有刷是定子是饶阻,无刷的定子是N和S的永磁体。两者的转子和定子恰好是相反的。也是他们最大

    2024年02月03日
    浏览(58)
  • 【小白入门】新西达、好盈电调PWM控制直流无刷电机,以N5065为例

    写在开头,本文为我本人在2023 ROBOCON期间为队伍设计直流无刷电机控制期间的初步所学。希望本文能帮到所有第一次入坑直流无刷电机的小白朋友们,文章纰漏星数,还望各位大佬多多包涵。 PWM输出器(某些平台五六块钱的舵机测试仪): 如图,一般可以输出3路控制信号,

    2024年02月11日
    浏览(31)
  • 无刷直流电机矢量控制(四):基于滑模观测器的无传感器控制

            在越来越多的应用场景中,无刷直流电机开始采用无位置传感器的控制方式。无刷直流电机运行于中高转速时,可以利用反电势信号估算转子位置,具体实现的方法不止一种,应用较多的是滑模观测器法。         本文整理了该方法的基本原理,介绍了在MAT

    2023年04月09日
    浏览(48)
  • 大疆开发板A型基于HAL库驱动M3508直流无刷电机及PID控制

    官网:RoboMaster 机甲大师赛 芯片型号STM32F427IIH6   1)新建new project,选择开发板A型的芯片 2)打开外部高速时钟 这是我的时钟树配置 3)我选择用can总线指令控制,所以根据开发版A型原理图打开相应的接口 其中can1为电调专用接口,can2为DJI OnboardSDK和Robomaster UWB定位系统用  我

    2023年04月09日
    浏览(25)
  • 【零基础玩转BLDC系列】基于霍尔传感器的无刷直流电机控制原理

    无刷直流电机(Brushless Direct Current Motor, 简称BLDC)采用电子开关电路来代替直流电机的机械换向器或电刷进行换向,提高了控制系统的可靠,性能上相较一般的传统直流电机有很大优势。无刷直流电机是永磁同步电机的一种,并不是真正的直流电机,其实质是直流电源输入,

    2024年02月02日
    浏览(26)
  • 直流无刷电机

    2024年02月15日
    浏览(24)
  • 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    包含此题目毕业设计全套资料: 原理图工程文件 原理图截图 仿真模型工程文件 仿真截图 低重复率文档(22642字) 英文文献及翻译 资料链接 1.基于单片机实现无刷直流电机控制器的设计,完成系统芯片选型; 2.确定无刷直流电机控制器的总体设计方案; 3.给出系统的硬件设计

    2024年02月07日
    浏览(41)
  • 直流无刷电机驱动的PWM频率

    针对ESCON伺服驱动器: https://support.maxongroup.com/hc/en-us/articles/360020442720-ESCON-PWM-input-frequency-PWM-output-frequency- Impact of the PWM input frequency? Please be aware that the PWM input frequency in use also determines how fast updated set values can be identified and processed because one period has to measured before the PWM duty cy

    2023年04月08日
    浏览(22)
  • 直流无刷电机【一】从零开始上手

    这学期正好学完了两学期的电机学,加上个人一直对四轴无人机的无刷电机与电调感兴趣,同时也比较喜欢几个月前看见的foc控制的电机旋钮那个开源项目,于是自己做了一套无刷电机驱动板(算是真正的从0开始),淘宝买了个十几块的不知名云台无刷电机就开始瞎折腾了。

    2024年02月02日
    浏览(27)
  • 1.直流无刷电机BLDC转速计算推论

    @1.在电机领域,转速的单位是圈/秒或者圈/分钟 @2.圈/分钟的意思是电机一分钟旋转多少圈,单位为RPM(Revolutions Per Minute) 2.带霍尔传感器的有感BLDC转速测量方案 @1.带霍尔的BLDC电机转速测量很精确。霍尔传感器本身根据电磁场的变化输出U、V、W三相波形。U、V、W三相线路接

    2023年04月27日
    浏览(192)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包