永磁同步电机磁场定向控制(FOC)及Matlab/Simulink仿真分析

news2024/11/24 5:51:50

前言

做永磁同步电机控制绕不开FOC,本章节主要介绍FOC控制的基本原理、坐标变换以及永磁同步电机在同步旋转坐标系下的数学模型,并通过Matlab/Simulink进行永磁同步电机FOC控制算法的仿真分析。

01

FOC的基本原理

磁场定向控制(Field-Oriented Control,FOC)系统的基本思想是:通过坐标变换,在按转子磁场定向同步旋转坐标系中,得到等效的直流电动机模型,仿照直流电动机的控制方法控制电磁转矩与磁链,然后将转子磁链定向坐标系中的控制量反变换得到三相坐标系的对应量,以实施控制,具体流程如下图所示:

a55e52ac613bb89e906e8cde3bb422e8.jpeg

FOC最重要的原则是:按转子磁场定向,即保持转子磁链旋转矢量始终与dq坐标系下的d轴重合,q轴正交。通过按转子磁场定向,将定子电流解耦为了励磁分量 id和转矩分量 iq。通过电流 id实现对转子磁链的控制,电流 iq实现对电磁转矩的控制,类比于直流电机的控制。对于表贴式永磁同步电机SPM,一般设置励磁分量id =0,定子电流全部用于产生电磁转矩。


FOC最主要的任务就是:通过不停的观测转子角度,实现转子磁链定向,即保持转子磁链旋转矢量始终与dq坐标系下的d轴重合,q轴正交,dq坐标轴同转子磁链同步旋转。

02

坐标变换

Clark坐标变换

静止坐标变换Clark变换:

65f291a80f7e0c8cdfd2d154af1ab496.jpeg

采用等幅值变换,通过下式将三相静止坐标系ABC下的电流转换为两相静止坐标系αβ下的电流:

3f8fe83e5f44edfa62934cc4a96d844c.jpeg

变换结果:

64319d0fc88a36417e24c7c4995ed4d2.jpeg

由于ia+ib+ic=0 ,因此实际中只需要三相静止坐标系下的两相电流即可,通过下式进行变换:

4622a7eb756706d4312f905dfd7d1f3a.jpeg

Park坐标变换

将两相静止坐标系αβ下的电流转换为同步旋转坐标系dq下的电流,由下式所示:

变换结果:

03

永磁同步电机在同步旋转

坐标系下的数学模型

将三相自然坐标系下的PMSM数学模型,通过坐标变换,转换为同步旋转坐标系下的数学模型。同步旋转坐标系的d轴与转子磁链对齐,并保持同步旋转,如下所示:

78b0441229abe6d06c1f8d9c3ee59980.jpeg


定子电压方程:

0a8ee013ae9340f6a45a74c44502b2d6.jpeg

定子磁链方程:

cecd7313062bbb5098c2c2465e56acdf.jpeg

电磁转矩方程:

de8925bda99e20669b8d52c521b2d42f.jpeg


运动方程:

将定子磁链方程带入电压方程可得定子电压方程为:

此时电磁转矩方程可写为:

由上式,通过坐标变换将三相自然坐标系下的PMSM数学模型变换为同步旋转坐标系下的数学模型,使PMSM的数学模型实现了解耦,可仿照直流电机的控制方法对PMSM进行控制。

FOC的整体控制框架如下图所示:

04

永磁同步电机磁场定向控制

Matlab/Simulink仿真分析

电压开环控制


如上图所示,直接给定同步旋转坐标系下的Vd,Vq电压实现永磁同步电机磁场定向的电压开环控制。Matlab/Simulink整体仿真框图如下所示:


9713507b2656452cac567e60498a38e5.jpeg

仿真电路分析

5d6d14ef7560ab88cb00160801dfd7f2.jpeg

直接给定同步旋转坐标系下Vd,Vq的电压值实现永磁同步电机磁场定向的电压开环控制。

f3f92f993a86b7c3245a3b612686c1f2.jpeg

此处作了一个归一化处理,将FOC电压开环控制的输出电压(调制波形 马鞍波)范围设置在[0,1]之间。

95af39dd1aab7e9c9e4aee6aa092308a.jpeg


主电路包括逆变电路与永磁同步电机,逆变电路如下图所示,采用Average-Value Inverter模块直接生成三相正弦电压。永磁同步电机采用BR2804-1700电机(电机的参数用ST Motor Proflier测得),参数如下:

仿真结果分析

设置开环输入电压Vd、Vq为0和1,该电压经过反Park变换及SVPWM算法输出的马鞍波形如下:

cb4a6b8cabbd69a33eeaa9e8d17d7953.jpeg

电机转速:0.2s突加负载

70c0293bb648ff9390e37e97cab42e8f.jpeg

电机定子电流:

af9bb9748155ca3c6b8f24ebf65487d8.jpeg

电机转子位置:

788e2630d1d31ad8b9614e4655abfdb8.jpeg

dq坐标系下的定子电流值:

dq坐标系下的定子电压:

a7641cab26397f5976468df8b20858e0.jpeg

电磁转矩:

cd9272a291dca2731fab0e64f1c712f1.jpeg

电流闭环控制

在电压开环控制中,加入负载后dq坐标系下的定子电流Id不等于0约为0.036,说明定子电流未完全用于产生电磁转矩。引入电流闭环控制,精确的控制电机Id、Iq电流值。电流环的主要作用是在电机启动过程中能够以最大的电流启动,同时对电网电压的波动起及时抗扰的作用,加快动态系统的响应速度,提高系统的稳定性,其控制框图如上图所示。


永磁同步电机电流闭环控制的Matlab/Simulink整体仿真框图如下所示:


c273880247f38ffb9779ad1ae5cb9960.jpeg

仿真电路分析

与电压开环控制的不同点就是将定子电流进行了反馈,设定同步旋转坐标下定子电流为Id_Ref、Iq_Ref,设定值与定子电流的反馈值Id、Iq进行PI控制,PI控制器的输出作为永磁同步电机的电压给定,驱动PMSM。

6a3816dbfe6cd39a278201dd54e6dfb7.jpeg

其余仿真部分同电压开环控制。

仿真结果分析

设置电流参考值Id_Ref、Iq_Ref为0和1,电流参考值与Id和Iq电流反馈值的误差经PI调节器输出电压Vd、Vq用于电机控制。

电机转速:0.2s突加负载

电机定子电流:

a614b4f893ab7141820eb250fde40c49.jpeg

电机转子位置:

fa81117909508c7db0297cec8ed55887.jpeg

dq坐标系下的定子电流值:电机启动时以设定的最大电流1A进行启动,当转速达到稳态值时电流立即降了下来,实现了理想最优的启动过渡过程。

02404244c4b958d8bf468baf2f415d4e.jpeg

dq坐标系下的定子电压:

ec1947ddc03b722ac4bbdb7a104be3d2.jpeg

电磁转矩:

c279d0880e5693531d426036ec728ff0.jpeg

转速外环电流内环双闭环控制

在实际控制中我们一般关心转速的变化,期望电机以设定的转速进行变化,这时仅靠电流闭环不太能实现,加入转速闭环,实现对转速的控制。转速控制器的输出为电流控制器的给定,转速控制器的输出要进行限幅,因为转速控制器的输出限幅值决定了所用电机的最大允许电流。

永磁同步电机转速外环电流内环双闭环控制的Matlab/Simulink整体仿真框图如下所示:

b2c731de958ef92b423a4e791deb7622.jpeg

仿真电路分析

在电流闭环控制的基础上引入了转速闭环控制,转速控制器的输出作Iq电流的输入,构成转速外环电流内环双闭环控制系统。

b13b62a0f2c81bfc9af83a61f7e5c984.jpeg

仿真结果分析

设定目标转速为3200r/min

电机转速:1s突加负载

c553aa0b45b764d20276e25ad3231503.jpeg

电机定子电流:

bf6cd4e1f1f0a3ac9511dc91532c106e.jpeg

电机转子位置:

a67e6591d5e84268ec56f1a0a0fd6911.jpeg

dq坐标系下的定子电流值:

d68950383403e20445614acdbd61a015.jpeg

dq坐标系下的定子电压:

d208a5a2bce189eb10840b3cbef66642.jpeg

电磁转矩:

859f8d8debe815c215603384390ad91d.jpeg

设定目标转速为变化的值

目标转速:

33e9c7bbe80ac2a6e5aa95652b854dd5.jpeg

电机转速:

fa17468ebd841d49b4545b969d6536de.jpeg

电机定子电流:

78e79dbc6864721708d6203c8d6c71ee.jpeg

电机转子位置:

c37104f89adc9b29cfea0ff49861f0eb.jpeg

dq坐标系下的定子电流值:

478dd71f9b0a3da61a3a9c4591dd4daf.jpeg

dq坐标系下的定子电压:

a5cacabce3b42f0032417a176c81932c.jpeg

电磁转矩:

0a4a63e1537bdc569fcc6b631ed962b1.jpeg

至此永磁同步电机FOC的基本原理及Matlab/Simulink的仿真部分就说完了。永磁同步电机的电压开环控制、电流闭环控制、转速外环电流内环双闭环控制与直流电机的控制思想一致,永磁同步电机通过坐标变换,转换到按转子磁场定向的同步旋转坐标系中,就是为了实现PMSM数学模型的解耦,将PMSM等效为一个他励“直流电机”,按直流电机的控制思想进行PMSM的控制。有关PID控制器的参数整定、SVPWM控制算法以及永磁同步电机磁场定向矢量控制的工程实现会在后续进行补充。

总结

本章节介绍了FOC控制的基本原理,坐标变换以及永磁同步电机在同步旋转坐标系下的数学模型,并通过Matlab/Simulink进行了永磁同步电机FOC控制算法的仿真分析,包括电压开环控制、电流闭环控制、转速外环电流内环双闭环控制,为后续章节的分析奠定基础。(来源:RIO电驱动)

6672fb457c397a25164bf4c31f4d0611.jpeg

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

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

相关文章

分割3-转置卷积可逆吗?

上一话 分割2——语义分割评价指标https://blog.csdn.net/XiaoyYidiaodiao/article/details/125149509?spm1001.2014.3001.5502 转置卷积不是卷积的逆操作,并且转置卷积是卷积操作! 这是因为普通卷积的操作图 1. 图1 其卷积可等效为图 2. 图2 其卷积操…

Offset Explorer2 监视kafka的利器

kafka作为一个生产者和消费者集为一体的框架,消费者必须一直保持打开的状态,并且每隔一段时间接收一次数据,才能够保持生产者放入的数据及时被处理掉,而生产者则可以每隔一段时间发送一波数据,这样消费者就能够接收到了…

Mysql搭建互为主从数据库

Mysql搭建互为主从数据库 一、搭建前期说明二、mysql文件结构以及配置说明1、mysqlA文件结构2、mysqlB文件结构3、mysqlA的配置文件my.cnf4、mysqlB的配置文件my.cnf5、启动mysqlA服务器脚本startMysqlA.sh6、启动mysqlB服务器脚本startMysqlB.sh7、查看服务启动情况 三、设置主…

【Redis】之缓存一致性

1、缓存一致性 对于使用 Redis 作为缓存来说,如何保证数据库和缓存数据一致性是个麻烦的问题。对于缓存和数据库的操作,主要有以下两种方式: 先删缓存,再更新数据库;先更新数据库,再删除缓存;…

【UE4 塔防游戏系列】02-基础设置

步骤 1. 新建一个蓝图,父类为游戏模式基础 命名为“TaFangGameMode” 2. 新建一个玩家控制器 命名为“TaFangGamePlayerController” 3. 在世界场景设置中,选择游戏覆盖模式为“TaFangGameMode” 默认Pawn类设为None,玩家控制器类选择“TaFa…

使用rest-assured框架优雅实现接口测试断言

对于接口测试来说,只判断响应状态码为200是远远不够的,我们经常必须去验证响应内容中的业务字段是否正确,本文将采用Rest-Assured框架来实现接口响应的判断。 1、接口信息的调试 当我们在做接口测试时,通常希望将接口的请求及响…

包装类(wrapper)

包装类(wrapper) 包装类和基本数据类型间的转换(Interger演示) public class WrapperType01 {public static void main(String[] args) {int a 10;// 手动封箱,Integer integer Integer.valueOf(a);System.out.println(integer);// 手动拆箱int i integer.intVa…

十五周算法训练营——岛屿问题

今天是十五周算法训练营的第十五周,主要讲岛屿问题专题。(欢迎加入十五周算法训练营,与小伙伴一起卷算法) 岛屿问题 一、题目 给你一个由 1(陆地)和 0(水)组成的的二维网格&#xff…

11. 利用Tomcat服务器配置HTTPS双向认定

文章目录 Tomcat配置HTTPS1.为服务器生成证书2.为客户端生成证书3.让服务器信任客户端证书4.将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:5.查看证书库6.让客户端信任服务器证书7.配置tomcat8.验证 Tomcat配置HTTPS 1.启动cmd控制台&…

分布式锁【分布式锁概述、业务介绍、创建SpringBoot项目】(一)-全面详解(学习总结---从入门到深化)

目录 分布式锁概述 分布式锁问题_业务介绍 分布式锁问题_创建SpringBoot项目 分布式锁概述 为什么需要分布式锁 在单机部署的系统中,使用线程锁来解决高并发的问题,多线程访问共享变量的问题达到数据一致性,如使用synchornized、 Reentran…

第一堂棒球课品牌设计·棒球1号位

需求背景 第一堂棒球课作为国内的创新体育课程,旨在为广大青少年提供一个更好的平台来接触并了解棒球这项运动。品牌的建设将影响到其在国内的认可度和知名度。在此背景下,我们的产品目标是为第一堂棒球课打造一个具有竞争力的品牌形象,满足…

基于jeecg-boot的nbcio-boot亿事达企业管理平台发布

目前这个演示系统与代码都同步,以后也尽量保持同步。 更多功能看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5&#xff…

「Java核心技术大会 2023」6月启动,邀你共同探讨Java生态

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

数据结构 | 图的最短路径 Floyd算法

一、数据结构定义 typedef int VertexType; typedef int EdgeType;/*图*/ typedef struct {VertexType Vexs[SIZE]; //结点 EdgeType Edges[SIZE][SIZE]; //权值 int vexnum, arcnum; }MGraph;/*路径*/ typedef struct {int path[SIZE][SIZE];EdgeType length; }Path; 1.二维…

给父组件添加点击事件,点击时获取父组件的target

我想获取class为 mes-it 的dom元素结果每次拿到的 target都是子元素 查了查资料可以用 pointer-events: none; 来规避子元素成为target 就是上面图片style 里面的样式

【图灵奖得主Frederick P.Brooks, Jr.带你走进软件工程的世界——《人月神话》】

畅销业界48年的传奇经典 被引频次最高的软工神话 本书为复杂项目管理提供了极具洞察力的见解、发人深省的观点以及大量的软件工程实践。 直至今天,《人月神话》依然活跃在软件开发各个领域的话题中! 我是一个书狂,积习甚深,费尽心…

Python自动化测试五大框架(测试员收藏夹必备)

自2018年被评选为编程语言以来,Python在各大排行榜上一直都是名列前茅。目前,它在Tiobe指数中排名第三个,仅次于Java和C。随着该编程语言的广泛使用,基于Python的自动化测试框架也应运而生,且不断发展与丰富。 因此&am…

PyQt5调用Window弹窗,选择文件、选择多个文件、选择文件夹、保存文件

前言 本篇在讲什么 PyQt5调取windows选择和导出弹窗 本篇适合什么 适合初学Python的小白 适合使用pyqt5的开发项目 本篇需要什么 对Python语法有简单认知 依赖Python3.7环境 依赖Pycharm编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理论&#xf…

01. 找到数组的中间位置 ——【Leetcode每日一题】

1991. 找到数组的中间位置 难度:简单 给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。 中间位置 middleIndex 是满足 nums[0] nums[1] … nums[m…

【dc-dc】降压恒压电源管理IC 平衡车控制器 电动车控制器 以太网交换机驱动芯片

产品 AP8851 一款宽电压范围降压型DC-DC 电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合在宽输入电压范围具有优良的负载和线性调整度。AP8851 芯片包含每周期的峰值限流、软启动、过压保护和…