FOC控制之小A小B小C是如何追求小D的

news2024/12/22 19:57:57

1、写在前面

随着电动汽车的热火,关于FOC控制技术的文章这几年在网络上可谓是一搜一大把,各种理论分析,公式推导,应有尽有。通过这些文章,可以看出大佬还是很多的。另外也有FOC的开源硬件。而在大几年前,第一次做这种项目的时候,想找个开源硬件参考下代码,搜遍了全球最大的同性交友网站(github),也没有找到。只找到一些开环的VF控制的。

而大几年前关于FOC控制技术,是各个芯片公司的独家秘笈。一般是不外传的,只对合作方开放。比如TI的电机控制库,ST的motor control workbench3.0 4.0啥的,英飞凌也有,现在想不起来是什么了,特别是ST的库,以及ST举办的开发者技术交流论坛,流传的一个PPT,是众多电机开发者入门的宝典,包括我个人。在此也要感谢ST,现在用的国产芯片,他们电机库我看了一遍,有一种直觉,这就是ST的复刻版啊。

再写一篇理论性的文章,我个人觉得完全没有必要,一方面是网络上确实是太多了,多我一篇不多,少我一篇不少。另一方面,写这种文章比较耗费精力,画图,列公式,推导,写这种理论文章的意义就是自己再复习一遍。所以这里就不写了。就把一些优质资源列出来供大家参考,意义更大一些。

ABC是电机的三相,Q是力矩,D是磁链。

2、FOC的一些概念

2.1、BLDC和PMSM

关于电机,很多人开始的时候容易搞混BLDC和PMSM的概念,本质上这两种电机其实从结构形式上是一样的。唯一的区别是转子上的磁钢,一个是方波一个是正弦波。再准确点的讲,BLDC一般是用多块磁钢贴在转子上,这就导致了磁场是不连续的,形成了方波磁场。而PMSM的转子磁钢是一个整体圆环,充磁的时候径向正弦波充磁,充出我们需要的极对数。下图这种就是典型的BLDC。
在这里插入图片描述

大家看了很多文章,知道PMSM的转矩波动小,BLDC的转矩波动大。而决定这个转矩波动的就是充磁方式和磁钢安装方式决定的。通过几种方式我们可以轻易的分别这两种电机。一个是用手去转转子,感受齿槽效应,很小,甚至感受不到的一般都是PMSM,最稳妥的办法就是直接拿示波器测量旋转反电动势。反电动势波形是正弦波的就是PMSM,方波的就是BLDC。

FOC是一种矢量控制算法,这两种电机都可以控制,从我的实践看来,BLDC转起来会有轻微顿感,而PMSM是非常顺滑的。

2.2、控制流程

2.2.1 、从有刷电机到六步换向到FOC

我们知道一个直流有刷电机,给他通一个电他就开始转起来了,电压越高转的越快。小时候拆过玩具里面马达的都可以看到,这种电机后面是有一个碳刷换向器的,当然了,我们拆的那种就是两个铁片,没有碳刷。其实我们这种控制方式就是电流控制。如果用PWM调制一个电压来控制有刷直流电机,就可以轻松的改变电机旋转速度。

而三根线的这种无刷电机,直接这样通电,电机是不会转的,你给其中两根线通电,电机会卡死在某一个位置。你如果不断电的话,电机就会发热,最后可能烧毁。这个时候你再换两根线通电,电机会卡在另外一个位子,你再换两根线,电机又换一个位子,你如果速度足够快的去换着通电,电机就会按照你这个足够快的速度转起来,这就是6步换向控制。这是几年前大多数BLDC的控制方式。而实际控制过程中换向点需要比较准确,所以还要检测反向电动势过了中点。如果这个电机是一对级的,换一次相,那么电机走60度,六步换向刚好360度。那么在这个60度之间,我如果想让电机走15度或者走5度怎么办呢。通过六步换向这种方式明显是做不到了,这个时候我们就要用FOC控制了。FOC的中文翻译就是磁场向量控制。我们用一个很浅显的方式来理解他。如下图所示,如果A使出全部的力量,那么转子就转到A的位置,B使出全部力量,那么转子就靠在B的位子,如果A使出一半的力,B使出一半的力,那么转子就停在A和B的中间。这就好比,小A和小B一起追求小D,假设小D的人品有问题,小A发力的时候,小D就靠近小A,小B发力的时候,小D就靠近小B,而小A和小B一起发力,且势均力敌,小D就游走中间。这样的话,控制好小A和小B的发力尺度,通过三角函数,我们就能算出小D游走在哪个位子。如果小D走到了小B和小C的区间,那么小D就会受到小B和小C的拉扯了。这就是FOC控制的精髓。这样的话,我们就可以控制转子运动到任何一个地方了。
在这里插入图片描述

2.2.2、如何做到FOC

如何轻松控制小A和小B的发力程度呢,电机三根线,究竟该如何控制呢。上世纪七十年代,西门子公司的工程师Blaschke发表了一篇论文,如下所示:

在这里插入图片描述

巧妙的把三根电机线的控制等效成类似于有刷电机的两根线控制。那么具体是如何等效的,其实初中的知识就可以做到了。就是一个clark变换。如下图所示,Ia,Ib,Ic转换到α和β的直角坐标系。
在这里插入图片描述

Iα 等于Ia减去Ib和Ic在α轴上的分量,Ib乘以cosθ就是Ib在阿尔法轴上的投影。所以:
I α = I a − c o s θ ∗ I b − c o s θ ∗ I c Iα = Ia - cosθ*Ib - cosθ*Ic Iα=IacosθIbcosθIc
而θ很明显是60度。同理可以得到:
I β = s i n θ ∗ I b − s i n θ ∗ I c Iβ = sinθ*Ib-sinθ*Ic Iβ=sinθIbsinθIc

写成矩阵形式就是:

在这里插入图片描述

为什么要写成矩阵形式?是不是有病,装高深,其实并不是,因为转成两个控制量,是方便了我们进行控制,但是最后还是要去控制实实在在的三根线啊,所以最后还要再转回去。一个向量乘以一个矩阵变成另一个向量,那么再变回去,我们就用另一个向量乘以这个向量的逆矩阵(线性代数)。这样就不用我们再傻不拉几的反着推导了。现在这个αβ坐标系是个静止的,我们要让他转起来,所以我们要把他变成旋转的坐标DQ坐标。如下图(借用了稚晖君的图,参考文献会给出稚晖君的链接)所示,如何旋转呢,三角函数大法继续,这个转换就是park变换。

在这里插入图片描述

公式如下:

在这里插入图片描述

这个θ角度,可以通过编码器得到,或者反电动势估算,所以,这个θ角其实是已知的。这个时候,我们发现只要我们给Id和Iq一个值,然后给一个θ角度,然后反park变换,是不是我们就可以得到Ia,Ib,Ic三个控制量的值了。这就是FOC控制的核心思想和核心公式。

2.2.3、到底如何控制那三根线

看看FOC的经典控制过程图:

在这里插入图片描述

我们可以看到后面有一个SVPWM,这是个什么东西,其实这个SVPWM,是一个反clark变换器,同时也是一个pwm的调制器,先了解下pwm调制,占空比大,电压就大,占空比小电压就小。如下图所示,通过调节PWM的占空比,我们是不是就可以得到一个正弦波。你用示波器去测量电机的三个线,你会发现,里面其实就是这种波形。当然了,没有负半轴,这里的负半轴是为了方便理解。
在这里插入图片描述

为了方便理解,我们取某一个时刻来看,这个时刻ABC三根线的电压是不变的,也就是小A和小B还有小C,他们之间的发力关系是不变的,这个时候小Q在那个θ角的位置。我们现在要让小Q在360°均匀游走,雨露均沾,我们就给Iq一个值,并且把对应的θ角实时的反馈到变换公式里,这样,小Q就会转起来。我们给的这个Iq值越大,小Q就转的越快。

SVPWM一句话来概括,就是根据Uα,Uβ(电流到电压是线性的)产生脉宽调制波形送给电机,而小A和小B具体发力的多少,其实是用时间来划分的,在单位时间内,小A作用时间长,那么小A做的功就多,伏秒平衡原则。具体参考下面这篇文章。涉及到互补性PWM,全桥控制电路等。

https://zhuanlan.zhihu.com/p/414721065

2.2.4、总结

到这里,大概了解了FOC是怎么一回事,明白了做这个算法的目的。更多的理论知识可以参考下面的文档。

https://zhuanlan.zhihu.com/p/147659820

稚晖君深入浅出,讲的非常清楚。

https://zhuanlan.zhihu.com/p/364247816

一只臭皮球,这个网页也讲的很全面,同事在网上进行检索,还有很多相关的文章。

3、写在后面

理论知识过一遍,肯定还是模模糊糊的,毕竟理论要结合实际,在实际调试的过程中,你可能会碰到电机不转,发热,电流采样噪声大,电机转起来里面滋滋响,电压总线上谐波很大,电机转起来不均匀、载波频率上不去、控制范围越界等各种问题。有问题是好事,弄清楚一个问题,你对FOC的理解就会又深入了一点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

党务管理系统搭建,答题获积分,学习有好礼

党务管理系统搭建是以服务党员群众为目的的,然后通过互联网信息化手段,将党建工作与大数据等新技术融合,实现党建资源答题学习的数字化整合,也提升了党建科学化水平。 党务管理系统搭建助力党建数字化、规范化:利用信息…

快来生成你专属的英文名吧(使用字符级RNN)!

目录 一.前言 二.准备数据 三.构造神经网络 四.训练 五.网络采样(预测) 一.前言 数据集为18个国家的姓氏,任务是根据训练得到的模型,在给定国家类别和首字母后,能得到一个与该国人名非常相似的一个人名。 > …

openstack基本命令小结

文章目录Openstack0、进入1、查看日志日志位置日志格式举例2、CLI命令格式基本格式使用帮助3、命令文档(常用)4、基础组件的常用命令1、keystone查询类查看所有组件状态查看所有服务的状态查看域列表查看服务列表查看节点列表查询用户列表查询用户详细信…

用5G制造5G,中国电信打造“滨江模式”,助力电子信息制造产业升级

工业和信息化部近日印发《5G全连接工厂建设指南》,提出“十四五”时期,主要面向原材料、装备、消费品、电子等制造业,采矿、港口、电力等重点行业领域,加快5G全连接工厂建设。中国电信联合中兴通讯打造南京滨江智能工厂&#xff0…

Python第三方库之MedPy

1.MedPy简介 MedPy 是一个图像处理库和针对医学(如高维)图像处理的脚本集合,此处主要讨论利用该库计算常见的医学图像分割任务评价指标,如Dice、Jaccard、Hausdorff Distance、Sensitivity、Specificity、Positive predictive value等。 论文表格的表头…

docker部署的redis集群 添加节点(扩容)

上篇博文完成了在 docker 中部署 redis 多主多从集群:点这里 这篇博文说一下如何在集群基础上继续添加节点,也就是给集群扩容 博文中的命令出现的 111.111.111.111 均换成实际 IP 执行 创建要添加的一主一从容器 这里创建一个6377主节点和一个6378从节…

ArgoDB 5.1 正式发布:多模融合、实时分析和数据安全多重升级

Transwarp ArgoDB是星环科技自主研发的高性能分布式分析型数据库,在PB级数据量上提供极致的数据分析能力。ArgoDB支持标准SQL语法和分布式事务,提供高并发高速数据写入、复杂查询、多模分析、数据联邦、隐私计算和动态脱敏等能力。基于星环科技ArgoDB数据…

怎么自由裁剪图片大小?分享一款在线图片编辑工具

工作的时候常常需要用图片编辑工具把图片裁剪为我们想要的大小,但下载处理图片软件又耗费时间,那么有没有比较快捷的修改图片的方法呢?其实我们可以用在线图片处理(在线ps 图片编辑制作工具 免费照片编辑器_压缩图)工具…

日期插件(默认显示当前日期)---年月

方法&#xff1a;加载页面时将当前日期赋值 <!-- 选择年月--> <div class"form-group"><label class"col-sm-2 control-label is-required">时间&#xff1a;</label><button id"bin0"><< </button&g…

Nvidia 驱动安装

由于使用unreal engine editor 开发,需要安装nvidia 独显驱动,遇到各种坑,在此记录,方便自己以后再次遇到,也希望能帮助他人辟坑 系统: Ubuntu18.04 显卡:Geforce GTX 1650 UE版本:5.1.0 1. 自动安装 sudo ubuntu-drivers devices 推荐安装470 sudo ubuntu-drivers autoi…

Redis哨兵模式原理剖析,监控、选主、通知客户端你真的懂了吗?

哨兵启动后只指定了master的地址&#xff0c;要想知道整个集群中完整的拓扑关系怎么做呢&#xff1f; 哨兵每隔10秒会向每个master节点发送 info 命令&#xff0c; info 命令返回的信息中&#xff0c;包含了主从拓扑关系&#xff0c;其中包括每个slave的地址和端口号。有了这些…

[附源码]计算机毕业设计汽配管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

10. 获取操作系统版本和位数

1. linux如何查看系统版本 (1) 查看系统版本&#xff1a;uname -a (2) 查看内核版本信息&#xff1a;less /proc/version (3) 查看发行版本信息&#xff1a;less /etc/issue (4) 查看发行版详细信息&#xff1a;lsb_release -a 2. 怎么查看linux是32位还是64 系统 (1) getco…

Web3中文|以太坊创始人V神:关注技术,而不是价格

全球第二大数字货币交易所 FTX 轰然倒下&#xff0c;可以说是牵连甚广&#xff0c;不止是小资族&#xff0c;不少资深玩家都在这次事件中亏损数百、数千万美元。Solana、BlockFi等都在此次事件中受到巨大冲击。 基于BNB Chain的去中心化金融&#xff08;DeFi&#xff09;协议A…

Mac 上好用的远程桌面软件:Splashtop

市场分析表明&#xff0c; Mac电脑的市场份额正在增加 。在相关新闻中&#xff0c;全球远程桌面软件市场正在经历巨大的增长 。 远程桌面软件允许你通过互联网连接到一个特定的计算机&#xff0c;并用一个单独的设备来控制它。然后你就可以使用任何应用程序&#xff0c;访问主…

笔试强训48天——day23

文章目录一. 单选1.下面程序段的时间复杂度为&#xff08;&#xff09;2. 下列关于线性链表的叙述中&#xff0c;正确的是&#xff08; &#xff09;3. 下列描述的不是链表的优点是&#xff08; &#xff09;4. 向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执…

纺织进入“寒冬”,纺织企业利用APS生产排产加强生产管

进入11月&#xff0c;对于纺服产业链而言&#xff0c;大体“金九银十”的旺季订单已经结束。实际上&#xff0c;经历了前三季度的疲弱表现&#xff0c;市场整体已经对四季度缺乏信心。的确从整个下游行业来看&#xff0c;纺织出口形势依然严峻&#xff0c;预计11月份纺织行业也…

图像增强之灰度变换

前言 图像增强是图像处理常用最常用的方法&#xff0c; 目录前言引言为什么进行空间域增强什么是图像增强如何进行图像增强空间域增强灰度变换线性变换简单的黑白转换灰度拉伸分段线性变换非线性变换对数变换幂次变换直方图均衡引言 为什么进行空间域增强 什么是图像增强 按…

天宇优配|多家房企发布再融资预案,最牛地产股九连板

多家上市房企抢先发布再融资预案&#xff1b;氢能工业车辆产线有新进展&#xff0c;燃料电池本钱或有下降空间。 房地产板块掀涨停潮 12月5日&#xff0c;房地产板块再度走高&#xff0c;掀起涨停潮&#xff0c;阳光股份、招商积余、沙河股份、粤宏远A等涨停&#xff1b;所属地…

uView教程-骨架屏搭建 #低代码 #小程序 #uView

当小程序没有加载完时会出现一个基础的骨架效果&#xff0c; 页面加载完之后骨架会消失掉&#xff0c; 这个效果怎么做的呢&#xff1f; 今天由我来带领大家学习如何使用骨架屏&#xff0c; 在guiplan低代码开发工具中&#xff0c; 选中要添加骨架的元素&#xff0c; 比如…