嵌入式开发--无刷电机学习1--FOC简介

news/2024/11/15 5:37:53/

写在前面

最近刚学FOC电机控制,文中错误在所难免,欢迎批评指正,也欢迎在评论区留言讨论。

FOC意义

普通直流电机(DC MOTOR)的驱动是碳刷换向,能看到这篇文章的朋友应该不用我再去复述一遍直流电机的工作原理了吧。缺点很明显,存在碳刷换向,换向时会有感生电动势冲击。电机产生的磁场与定子磁场之间的夹角不能保持为0度(或者说180度,是一个意思,以下均用0度表示),驱动力会有波动,也不能产生最大的驱动力矩,也就是能耗高。碳刷换向还会限制电机的使用寿命。优点是结构简单,无驱动电路。

针对上述缺点,BLDC无刷直流电机就产生了。

有一种改进方式是6步换向,对于1极对电机来说,电机每旋转60度角,霍尔元件产生一次换向信号,驱动电路依照这个信号对电机进行换向驱动,省掉了碳刷,也就提高了电机的寿命和可靠性。

另一种方式是FOC即磁场定向控制(Field Orientation Control),它可以让定子和转子的磁场始终处于接近0度状态,从而获得恒定也是最大的驱动力,也让电机工作得最有效率。

控制过程简述

下图是FOC控制电机的完整过程,先不用管它是怎么实现的,边学习边理解就好了。

红框内是开环状态的过程,也就是在不获得电机位置的情况下,通过强行输出每个时间节点的控制信息,来驱动电机旋转,至于电机到底动没动,先不管它。如果参数设置正确,转速不高,电机又是空载的情况下,还是能够转起来的。否则电机可能会在原地发抖。
在这里插入图片描述

在驱动电机之前,假设我们知道电机的各项参数,这是可以预先测试出来的,也知道电源能提供的最大电压和电流。
那么在给定驱动力矩的情况下,由于摩擦力,空气阻力的存在,电机是会匀速旋转的。

我们控制电机针对的是定子线圈,而转子因磁场变化是随动的,在开环运行时可以先不关心转子的状态,只有在进行闭环控制的时候,才开始由编码器去读取转子位置。故而以下所有讨论均围绕开环状态中的定子线圈进行。

首先我们用两个正交放置的线圈,来替代电机定子中120度分布的三相线圈,并将三相电流投射到α和β轴,并用Iα和Iβ来等效电机的三相电流ia,ib,ic,这样通过Iα和Iβ这两路电流来驱动这一对正交线圈,就可以等效的驱动三相线圈了。该方法最早由克拉克女士提出,被称为克拉克变换。

在电机运行时,如果定子产生的磁场方向不变化,那么这个磁场会吸引转子到一个固定的位置后不再旋转,电机就会锁定在这个位置,类似于步进电机的定位。如果把磁场旋转一个小角度,那么转子也会被磁场吸引到这个新角度上。

定子的三个线圈产生的磁场等效为某一个方向上的磁场,这个磁场也可以同两个正交布置的线圈来产生。这个过程称为帕克变换。

在这里插入图片描述

显然这两个变换过程存在某种对应关系,克拉克变换用的是电流,帕克变换用的是磁场,而电流乘以电感就是磁场,于是这两个变换可以连接起来,这样我们就可以通过磁场的方向和强度,来驱动电机。

SVPWM实现的就是具体的每个相给多少电压,由于相电阻和相电感是定值,也就实现了每个相的电流控制,使电机旋转一个小小的角度,然后重复这个过程,电机就转起来了。

归一化的电机坐标图

在这里插入图片描述
如上图所示,
黑色的ABC,表示电机的定子线圈的三个相,是电机最基础的坐标系,它的电流为ia,ib,ic
绿色是α和β坐标系,表示用两个的正交线圈去模拟这三个相,坐标系为α和β。相应的,它的电流为Iα和Iβ
蓝色的是定子坐标系d,q,它本来表示的是磁场,而电流乘以电感就是磁场,所以它也可以等效为id,iq,因为转子是不停的旋转的,所以会有一个θ角表示转子的位置。

力矩控制或者叫力矩环

FOC驱动无刷电机时,对于三相无刷电机来说,是以3路正弦波来驱动的,如下图。

在这里插入图片描述

这里有一个背景知识,对于真实的电机系统来说,由于摩擦阻力,空气阻力的存在,给定一个固定的力矩,电机会保持一个固定的转速,这也就是电机控制最根本的性质,也叫力矩控制,或者叫力矩环。

这个力矩是怎么来的呢,它来自于UVW或者叫ABC三相的驱动电流。比如我们以1KHz的频率驱动MOS管半桥,那么我们需要每秒计算1000次Y的值,X的值就是0秒,0.001秒,0.002秒…直到0.999秒,并相应的计算出Y的值,以驱动3相线圈,使得每个时刻定子产生的磁场,均平行于转子下一步应该到达的的磁场,如此可以获得最大的驱动力。
刚刚描述的是开环工作状态,闭环其实也类似,只是任意时刻电机的实际位置是由编码器给出,而不是由时间计算得出。

显然在任意一个时刻,如果驱动电流不再变化,其电流大小决定了定子产生的磁场的强度,而这并不会改变电机的旋转速度,只会改变电机的保持力矩,也就是扭力,单位是N.m。电机就会停在当前位置保持锁定状态。决定电机旋转速度的,是定子磁场强度与磁场变化的速度的乘积。

这种通过控制力矩来驱动电机旋转的方式叫力矩控制,是电机控制中最频繁控制也是最核心的环路,也叫力矩环。


http://www.ppmy.cn/news/55654.html

相关文章

Java 基础进阶篇(五)—— 接口详解

文章目录 一、接口概述二、接口的基本使用三、接口从 JDK 8 开始新增的方法四、接口的注意事项(了解)补充:接口与接口的关系 一、接口概述 规范的基本特征是约束和公开。 接口就是一种规范,其约束别人必须干什么事情。 所以&…

拓扑排序模板及例题

概念 一个有向无环图必然存在一个拓扑序列与之对应。 流程: 先将所有入度为0的节点入队将队列中的节点出队,出队序列就是对应拓扑序。对于弹出的节点x,遍历x所有出度y,对y进行入读减一操作检查入度减一之后的节点y,…

Docker的四种网络模式

1.Host 模式 通常来讲,启动新的Docker容器,都会分配独立的Network Namespace隔离子系统,如果在运行是指定为host模式,那么Docker容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace子…

Nautilus Chain 测试网第二阶段,推出忠诚度计划及广泛空投

随着更多的公链底层面向市场,通过参与早期测试在主网上线后获得激励成为了行业的一个热点话题,在 Apots、Arbitrum One、Optimism等陆续发放了测试空投后,以 Layer3为主要特性的 Nautilus Chain 也在前不久明确表示将会有空投,引发…

SDK_examples问题汇总

CompParameter 看起来可以用 拖动中间的dialog框 调整下面的参数 GraphicsViewDropEvent 点击“模型库”或者“用户模型”会弹出如下,点击“中止”后退出页面 MassSpringDamperApp 成功过,现在点击“开始仿真”会显示仿真失败 MwBatchSimPlu…

【数据结构初阶】环形链表

目录 一、判断链表中是否存在环思路分析 二、求环的长度三、求入环点 一、判断链表中是否存在环 题目链接: 判断链表中是否存在环 思路 把它转换为追击问题(快慢指针) 快指针比慢指针多走一步,当快指针正好进入环时,慢…

New Year Garland(计数类DP)

New Year Garland 题意 ​ 用m种颜色的球装饰n层的圣诞树,圣诞树的第i层由 l i l_{i} li​个彩球串成,且同一层相邻的球颜色不同,相邻的层之间彩球颜色的集合不同,问有多少种方案,对p取模。 分析 ​ 首先先计算每一…

C++ 使用动态内存创建一个类

使用动态内存的一个常见原因是允许多个对象共享相同的状态。 例如,假定我们希望定义一个名为Blob 的类,保存一组元素。与容器不同,我们希望Blob对象的不同拷贝之间共享相同的元素。即,当我们拷贝一个Blob时,原Blob对象…