无刷电机控制基础(3)——FOC矢量控制入门

news/2024/4/20 17:13:27/文章来源:https://blog.csdn.net/little_grapes/article/details/127626317

本节我们讲一些无刷电机FOC矢量控制的入门知识。

1)FOC矢量控制的作用

我们前两节讲的无刷电机(BLDC),是最简单的结构,当转子匀速转动时,定子内产生的反电动势是梯形波;在驱动无刷电机转动时,线圈中只有加电和不加电两种状态,所以转矩是脉冲式的,转动的过程不平稳,会有顿挫感。虽然增加电机的极对数可以减轻这种不平稳特性,但是极对数不能无限增加。

FOC矢量控制,就是研究怎样控制无刷电机的几个定子线圈中的电压,使得它们产生的磁场效果之和,能产生稳定的转矩,使转子平稳地转动。为了达到这一目的,需要使用一种特殊的无刷电机——永磁同步电机。

永磁同步电机(PMSM)的转子和定子间的磁隙是经过特殊设计的,使得转子转动时,定子内的反电动势是正弦波;在驱动它时,也使用正弦电压驱动,那么它的转矩就有可能保持不变,使得转动更加平稳。通常我们所说的FOC矢量控制,都是指的用三相正弦电压去驱动永磁同步电机。

另外,普通的梯形波反电动势的无刷电机也可以用FOC矢量控制。因为梯形波也可以近似为正弦波,所以使用永磁无刷电机的正弦波矢量控制法,也是可以驱动普通的梯形波无刷电机的,只是相比永磁同步电机转矩的稳定性稍差。

2)FOC矢量控制的实现方法

由于FOC矢量控制的目的是要能实现一个大小固定,方向旋转的转矩。如下图所示,也就是定子产生的磁场之和要大小固定,方向稳定地旋转:

不难想到,当三相线圈中通过幅度相同、相位相差120°的正弦波电流时,可以得到一个旋转的磁场,而且这个磁场的大小是恒定的。而这个三相正弦波,需要与转子的位置、转速相匹配,才能把电机顺利驱动起来。具体来说,正弦波的相位与转子位置相关,正弦波的幅值与转速(电压控制电流,电流控制转矩)相关。

FOC矢量控制,就是要依据转子的位置和转速,来确定一个合适的三相正弦波电压去驱动定子线圈。但是,直接通过转速和位置去推算三相电的特性比较困难,我们需要使用各种数学变换来降低控制的难度

a)基础的数学变换

我们先来熟悉一下几个变换,之后再讲如何使用它们去实现FOC控制。

Clarke变换

Clarke也叫3s/2s变换,是一个实现三相到两相的变换。

在三相线圈中,通过的电流Ia、Ib、Ic,它们产生的电流矢量在平面上,是可以变换到一个直角坐标系中的,这样,可以把三相变换为两相,如下图:

a、b、c坐标系里的电流之和,可以通过以下公式变换到α、β直角坐标系中:

这样,我们就把相差120°的三相电流,变换到了正交的两相电流。

Park变换

Park又叫2s/2r变换,是一个实现两相静止到两相旋转的变换。

如下图,α、β是一个静止的直角坐标系,d、q是一个绕原点旋转的直角坐标系(与转子相对静止,d方向的电流矢量能产生转矩,q方向的电流矢量不能产生转矩):

α、β坐标系里的电流之和,可以通过以下公式变换到旋转的d、q直角坐标系中:

同样地,不难得出Park逆变换,把旋转的d、q直角坐标系中的矢量,变换为静止的α、β坐标系中的矢量可以使用如下公式:

b)FOC矢量控制流程

好了,讲了几个变换的,那么对于简化FOC的实现有什么作用呢?我们把三相的电流Ia、Ib、Ic经过Clarke变换,再经过Park变换,会发现,旋转的电流矢量,转换到旋转的d、q坐标系以后,变成了两个固定的电流Id和Iq

通过这两层变换之后,我们再来控制电流矢量的大小就简单得多了,而控制了电流就等于控制了转矩。

下面这张图是FOC矢量控制的基本框图:

FOC控制的步骤如下:

采集无刷电机的三相电流Ia、Ib、Ic;

进行Clarke变换,计算出电流Iα、Iβ;

进行Park变换,计算出电流Iq、Id(这一步需要用到转子的角度信息);

依据特定的控制策略,来调节Iq、Id的大小,图中使用的是PID控制(只用了PI);

PID控制器的输出,是电压Vq、Vd(旋转坐标系下的电压),因为控制电压也就控制了通过电机的电流;

再通过Park反变换,把Vq和Vd变换为静止的直角坐标系下的Vα、Vβ(这一步也需要转子角度信息);

再用SVPWM方法来实现Vα、Vβ的输出,驱动三相全桥;

注意上面步骤中这个“特定的控制策略”,一种最容易想到的方法是使得Id = 0,控制Iq的大小去控制转矩,这样效率最高,也是最常见的一种FOC控制方法。

除了Id = 0策略,还有多种控制策略,如:单位电流电磁转矩最大控制、弱磁控制、最大输出功率控制,等等多种控制方法,有兴趣可以自行钻研。

c)SVPWM实现

FOC的基本框图中,SVPWM是控制中重要的一步,它把Vα、Vβ两相正交的电压矢量变换成了三相全桥的控制量。它是如何工作的呢?

如下图的三相全桥,每个桥臂同一时刻上、下管只能导通一个:

我们将上管导通记为1,下管导通记为0,那么各种导通情况下共有8种导通组合,可产生的电压矢量U0~U7如下图所示:

除去000和111两种电压矢量为0的情况,可以输出U1~U6六种电压矢量。这六个电压矢量把平面分成了六个区,平面内的任一电压矢量,都可以通过它所处区间两边的两个电压矢量来合成。

具体来说,可以分为两步:先确定在哪个扇区,再确定各矢量的大小。如下图:

假定要产生的电压矢量为Uref,Vα、Vβ是两个正交轴上的投影,首先可以通过Vα、Vβ的正负以及大小确定Uref处于哪个扇区。

如上图,则处于U4和U6之间,那么就可以用U4和U6两个矢量来合成Uref矢量。

我们可以通过角度θ,来计算Uref在U4和U6两个方向上投影的比例大小,再依据这个比例去设置一个周期T内输出U4和U6电压矢量的时间,就能保证输出的矢量方向与Uref相同;同时,使用PWM脉宽调制来控制电压的大小。这样,我们就可以通过U4和U6来合成Uref电压矢量了。

假如U4导通时间为T4,U6导通时间为T6,则T4和T6的比例大小如下(T为一个控制周期,m是SVPWM的调制系数,m=√3*Uref/Udc):

一种划分各段实际的方法是,在一个周期中,把时间分成如下几个片段(实际切换7次状态,通常称为7段式):

在T0时桥臂导通000,T4时间导通100,T6时间导通110,T7时间导通111,这样在一整个周期中,通过控制T4和T6时间的大小,可以控制合成电压矢量的方向,通过控制PWM波的占空比可以控制合成电压矢量的大小,我们的输出就与Uref一致了。

另外,注意T0时间段和T7时间段,都是输出0矢量。在非零矢量中间插入零矢量的输出,主要是为了降低谐波分量。选择000矢量还是111矢量,要看合成电压在哪个扇区,哪一种切换的状态变化最少。

除了上面的7段式,也有5段式控制,如下图所示:

d)双环、三环控制

上面已经把FOC最基本的几个模块讲完了,但是只讲了如何控制电机的电流,使得电机平稳转动。实际上,在电机的控制系统中,我们还希望能控制电机的转速、位置等等。

在b)节中出现的FOC基本的框图,只控制了电流,并没有对电机的转速、位置进行控制,所以称为电流环控制:

当我们在上述系统中,增加转速控制的PI环节后,变成了如下框图形式,双环控制:

当我们在上述系统中,再增加位置控制的P环节后,变成了如下框图形式,三环控制:

在实际使用中有时候电机的转速很低时,角速度ω的测量不精确,系统中的速度环会带来较大误差。此时可以不用速度环,而只用位置和电流双环控制:

(注意这里的位置环用上了完整的PID环节,是因为位置的微分就是速度,引入微分环节可以在不使用速度误差的情况下改善速度控制)

好了,关于无刷电机FOC矢量控制的入门知识,就讲到这里了。

如果觉得有用可以关注作者微 信公 众 号,有更多内容分享,在公众号也可以找到代码和资料下载地址:

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你不知道的JavaScript-----强制类型转换

目录 值类型转换 抽象值的操作 JSON 字符串化 ToNumber: 非数字值到数字值 Number(value) ToBoolean: 转换为布尔类型 Boolean(value) 强制类型转换 字符串和数字之间的显式强制类型转换 奇特的~运算符 字位截除 显式解析数字字符串 显式转换为布尔值 隐…

Mybatis查询返回结果类型专题

文章目录一、返回一条信息二、返回List集合三、返回Map集合四、返回多个Map集合五、返回List集合一、返回一条信息 Student selectById(Long id); 不再赘述 二、返回List集合 List< Student> selectAll(); 不再赘述 三、返回Map集合 用map集合去接收返回来的结果 字…

Python-- list(列表)的使用

目录 1.合并两个有序序列构成一个有序列表 2.编写程序判断列表是否为升序 3.输入一个十进制转换为二进制输出 4.将列表中的前p个元素到尾列表 1.合并两个有序序列构成一个有序列表 代码如下&#xff1a; list1 list(eval(input("请输入有序列表list1:"))) list…

【飞桨PaddleSpeech语音技术课程】— 一句话语音合成全流程实践

(以下内容搬运自飞桨PaddleSpeech语音技术课程&#xff0c;点击链接可直接运行源码) 一句话语音合成全流程实践 点击播放视频 1 声音克隆介绍 & 语音合成基本概念回顾 语音合成&#xff08;Speech Sysnthesis&#xff09;&#xff0c;又称文本转语音&#xff08;Text-t…

Web前端:angular对比React——选择2022年Web开发的理想框架

Javascript世界中的框架列表不断增长和变化&#xff0c;但有两个框架从其他框架中脱颖而出。Angular和React是市场上最受欢迎的框架之一&#xff0c;代表了创建web应用程序和网站的两种不同方法。 试图利用web开发框架的开发人员和企业家现在正在分析Angular和React——这两种方…

软考下午题第2题——E-R图 UML图 逻辑结构设计-示题与解析

下午的第二题主要是找【属性】【主键】【外键】【候选键】之间的关系。 候选键&#xff1a;属性或者是属性组合&#xff0c;其值能够唯一地标识一个元组 主键&#xff1a;在一个关系中可能有多个候选键&#xff0c;从中选择一个作为主键 外键&#xff1a;如果一个关系中的属性或…

微机期末复习指导

目录 位扩展定义字扩展定义1、线选法定义优点缺点2、部分译码法定义3、全译码法定义优点缺点⭐字位扩展定义问题

高压放大器基于声纹影法的声可视化实验的应用

实验名称&#xff1a;高压功率放大器基于声纹影法的声可视化实验应用 研究方向&#xff1a;声学超表面声学隐身斗篷 实验内容&#xff1a;利用声纹影平台&#xff0c;对所设计的声隐身斗篷进行出射平面波的测量&#xff0c;采用安泰放大器来驱动平面超声波阵列&#xff0c;可以…

CSS3专题-[上篇]:过渡、2D转换、动画

目录 CSS3&#xff1a;前置特性 CSS3&#xff1a;盒子模型 CSS3&#xff1a;图片滤镜与模糊处理 blur()&#xff1a;高斯模糊 CSS3&#xff1a;计算盒子宽度calc()函数 CSS3&#xff1a;过渡效果 transition属性 2D转换&#xff1a;transform属性 translate()方法 * t…

Mybatis MappedStatement

MappedStatement MappedStatement 类是 Mybatis 框架的核心类之一&#xff0c;它存储了一个 sql 对应的所有信息 Mybatis 通过解析 XML 和 mapper 接口上的注解&#xff0c;生成 sql 对应的 MappedStatement 实例&#xff0c;并放入 SqlSessionTemplate 中 configuration 类属…

凭此五点 这款信创传输系统解决了传输的迫切需求

早在20世纪80年代&#xff0c;我国政府IT底层基础软硬件的自主创新提出了相关要求&#xff0c;但受制于国外巨头垄断关键技术&#xff0c;诸多系统性风险与安全隐患无力解决。自2018年以来&#xff0c;在中兴和华为等公司供应链危机的催化下&#xff0c;信创产业进入快速发展期…

Verilog设计参数化的译码器与编码器,以及设计4位格雷码计数器

Verilog设计参数化的译码器与编码器&#xff0c;以及设计4位格雷码计数器 使用Quartusmodelsim完成设计 文章目录Verilog设计参数化的译码器与编码器&#xff0c;以及设计4位格雷码计数器1. 参数化的译码器分析代码实现Testbench结果2. 参数化的编码器分析代码Testbench结果3.…

Redis 主从架构数据同步

Redis 主从架构图 主从架构能够很大提升并发能力&#xff0c;master 节点负责写数据&#xff0c;slave 节点负责读数据&#xff0c;这样就涉及到 master 和 slave 数据同步的一个过程 一起来看一下数据是如何同步的吧 redis 的主从同步机制可以确保 master 和 slave 之间的数据…

Kubernetes 架构介绍

目录 一、Kubernetes 架构 1、Kubernetes 是什么&#xff1f; 2、Kubernetes 架构 3、Master 节点 4、Node 节点 5、推荐Add-ons 6、Kubeadm 7、查看组件运行状态 8、Kubeadm 容器化组件 二、namespace 1、命名空间 — namespace 2、常用命名空间命令 1. 查看存在哪…

【操作系统】混合索引分配和链接分配相关练习题

混合索引分配练习题&#xff1a; 比较简单&#xff0c;容易理解 练习1&#xff1a; 在UNIX操作系统中&#xff0c;给文件分配外存空间采用的是混合索引分配方式&#xff0c;如下图所示。UNIX系统中的某个文件的索引结点指示出了为该文件分配的外存的物理块的寻找方法。在该索…

C++ 并行编程

C 并行编程1. 进程和线程1.1 常规解释1.2 总结1.3 具体理解1.4 为什么使用多线程1.5 进程和线程的区别2. 并发与并行2.1 多进程并发2.2 多线程并发3. C中的多线程4. 时间管理4.1 C语言&#xff1a;time.h4.2 C11时间标准库&#xff1a;std::chrono4.2.1 获取时间段 int64_t/dou…

SQL学习十九、使用游标

游标&#xff08;cursor&#xff09;是一个存储在 DBMS 服务器上的数据库查询&#xff0c; 它不是一条 SELECT 语句&#xff0c;而是被该语句检索出来的结果集。在存储了 游标之后&#xff0c;应用程序可以根据需要滚动或浏览其中的数据。 我们通常的检索操作会返回一组称为结…

vue3+antd中使用Dayjs实现输出的日期格式化,和限制自定义日期选择器的可选范围

场景复现 在vue3antd项目中用到了日期选择器&#xff0c;但是默认的日期选择的结果是标准的日期格式&#xff0c;我们往往需要对最后的结果进行一定的格式化输出 一般输出的是这种标准的数据格式 如果我们想对时间进行指定的格式化输出&#xff0c;通常大家会想到moment&…

如何在页面中制作悬浮发布按钮弹窗

效果展示&#xff1a; 前置准备&#xff1a; 1.已搭建好&#xff0c;待添加悬浮层的页面 2.icon素材 具体步骤&#xff1a;&#xff08;3&#xff09; 1.添加悬浮层页面 2.配置悬浮层关闭触发器 3.配置首页发布icon触发器和动画 步骤分解&#xff1a; 1.添加悬浮层页面 1.1…

2022 年跨境电商要尝试的 25 个黑五营销技巧

关键词&#xff1a;黑五营销、黑色星期五活动、跨境电商黑五 我们汇总了以下最佳跨境电商黑五创意清单&#xff1a; 黑五营销技巧分享 如何宣传您的黑色星期五优惠 小型企业的黑五营销创意 黑五营销提示 随意跳到您最感兴趣的部分&#xff0c;或通读它们&#xff0c;看看…