【MATLAB源码-第268期】基于simulink的永磁同步电机PMSM双闭环矢量控制系统SVPWM仿真,输出转速响应曲线。

news2024/12/28 22:37:36

操作环境:

MATLAB 2022a

1、算法描述

永磁同步电机(PMSM)是目前工业领域中广泛使用的一种高效电机,其具有高功率密度、运行效率高、动态响应快等优点。在控制永磁同步电机时,通常采用矢量控制(也称为磁场定向控制,FOC)策略来实现电机的高精度转矩控制与速度控制。本文将结合上述Simulink框图,详细解释永磁同步电机双闭环启动过程及其控制策略。

一、永磁同步电机控制框图的分析

该Simulink框图主要实现了PMSM的双闭环控制系统。双闭环控制结构通常包括速度外环和电流内环。电流内环负责电机定子电流的控制,而速度外环则通过调整给定的电流来实现对电机转速的精确控制。

1. 速度外环

框图左侧上方的模块表示的是电机的速度外环。通过速度传感器(或估算器)获得的实际转速 ωrωr 与给定的参考转速 ωr∗ωr∗ 进行比较,产生一个速度误差信号。这一误差信号输入到一个PI(比例-积分)调节器中。PI调节器输出的是电流参考值 iq∗iq∗,该电流参考值将作为电流内环的输入。

速度外环的核心目标是通过调节 iq∗iq∗ 来控制电机的转矩,进而控制电机的实际转速,使其跟踪参考转速 ωr∗ωr∗。

2. 电流内环

电流内环由 dd-轴电流控制器和 qq-轴电流控制器组成。由于永磁同步电机的电磁转矩主要由 qq-轴电流 iqiq 控制,dd-轴电流 idid 通常被设定为零(除非需要弱磁控制),以最大化转矩输出效率。

在该框图中,电流内环的工作原理如下:

  • 首先,将速度外环的输出 iq∗iq∗ 与实际 qq-轴电流 iqiq 进行比较,得到电流误差。电流误差经过PI调节器调节后,生成 VqVq 的电压指令。

  • 同时,dd-轴的电流控制器将 id∗id∗ 与实际的 idid 进行比较,生成 VdVd 的电压指令。

3. SVPWM(空间矢量脉宽调制)

电流内环产生的 VdVd 和 VqVq 电压指令通过逆Park变换转换为 αα-ββ 坐标系下的电压 VαVα 和 VβVβ。接着,空间矢量脉宽调制(SVPWM)模块会根据这些电压信号生成PWM信号,控制逆变器的开关,从而调节电机三相定子电流。

4. 逆变器和PMSM

该系统采用三相桥式逆变器来驱动永磁同步电机。逆变器的输入是直流电压 VdcVdc,输出三相交流电压 UabcUabc,从而驱动电机产生旋转磁场。

电机定子电流 iabciabc 通过Clark变换转换为 αα-ββ 坐标系的电流,然后通过Park变换进一步转换为 dd-qq 坐标系下的电流 idid 和 iqiq,从而实现闭环控制。

二、双闭环启动过程

双闭环控制启动过程可以分为以下几个步骤:

1. 电机预充电及启动初始化

在永磁同步电机的启动过程中,首先需要对直流母线进行预充电,确保逆变器输入侧的直流电压 VdcVdc 达到稳定值。与此同时,控制系统的各项初始参数会被设定,例如:初始转速 ωr=0ωr=0,电流 id=0id=0,参考转矩设定为一个合理的初值。

2. 速度参考信号设定

启动时,系统会设定一个参考速度 ωr∗ωr∗ ,该速度通常是由上层控制系统或人工设定。这个参考速度输入到速度外环,与实际电机转速 ωrωr 进行比较,生成速度误差信号。

3. 速度外环输出电流参考值

速度误差信号通过PI调节器调节后,输出 qq-轴电流参考值 iq∗iq∗,该电流参考值是决定电机电磁转矩的关键量。此时,dd-轴电流参考值 id∗id∗ 通常被设定为零。

4. 电流内环控制

电流内环接收来自速度外环的电流参考值 iq∗iq∗,并将其与实际 qq-轴电流 iqiq 进行比较,生成电流误差信号。该误差信号通过PI调节器调节后,输出 VqVq 电压指令。同样的,dd-轴电流参考值 id∗id∗ 与实际 idid 的比较会生成 VdVd 电压指令。

5. 空间矢量脉宽调制生成PWM信号

通过逆Park变换,电流内环的输出电压 VdVd 和 VqVq 被转换为 VαVα 和 VβVβ,再经过SVPWM模块,生成用于控制逆变器的PWM信号。

6. 逆变器驱动电机

SVPWM模块生成的PWM信号控制逆变器的开关状态,逆变器输出三相电压 UabcUabc,从而驱动永磁同步电机。随着电机启动,定子电流逐渐建立,转矩增大,电机加速,直到实际转速 ωrωr 接近设定的参考转速 ωr∗ωr∗。

7. 稳态运行

当电机达到稳态运行时,实际转速 ωrωr 接近参考转速 ωr∗ωr∗,此时速度误差趋近于零,速度外环的PI调节器输出的 iq∗iq∗ 保持稳定,电流内环也处于平衡状态。电机此时运行平稳,维持设定的速度和负载转矩。

三、控制策略分析

该控制框图主要基于矢量控制策略。矢量控制通过将三相定子电流转换到 dd-qq 旋转坐标系,实现电流和转矩的独立控制。以下是该控制策略的关键点:

1. 速度外环与电流内环解耦

永磁同步电机的双闭环控制策略中,速度外环主要控制电机的转矩(通过控制 iqiq 实现),而电流内环则精确控制定子电流。通过将这两个环路分离,系统能够实现更高的控制精度和响应速度。

速度外环与电流内环的解耦设计保证了控制系统的稳定性与动态响应性。速度外环产生的电流参考值 iq∗iq∗ 被输入到电流内环,使得外环的控制目标(转速)能够通过内环精确控制电流来实现。

2. dd-轴电流控制与弱磁控制

在常规运行模式下,dd-轴电流通常被设定为零,以最大化电机的转矩输出。这是因为在永磁同步电机中,qq-轴电流主要负责产生电磁转矩,而 dd-轴电流仅仅是调节磁链的分量。

然而,当电机需要运行在高速状态下时,可能会采用弱磁控制策略,即通过设定 idid 为负值,降低转子磁链,从而实现更高的转速。这一策略主要用于拓宽电机的调速范围。

3. 空间矢量脉宽调制(SVPWM)

SVPWM是一种先进的脉宽调制技术,通过选择适当的电压矢量来逼近目标电压,从而实现更平滑的电压输出和更高的电压利用率。与传统的正弦脉宽调制(SPWM)相比,SVPWM能够产生更低的谐波失真,提高电机的运行效率。

4. 反馈闭环控制

该系统通过实时反馈电机的转速和电流,实现闭环控制。转速反馈用于速度外环,而电流反馈用于电流内环。这种双闭环结构能够有效提高系统的抗干扰能力,保证电机在不同工况下都能保持稳定运行。

四、结论

永磁同步电机的双闭环启动与控制策略是实现高效、稳定电机控制的关键。通过速度外环与电流内环的协同工作,控制系统能够精确控制电机的转速与转矩,同时保证电流调节的快速响应和稳定性。再结合SVPWM技术,系统能够实现高效的电能转换,降低谐波损耗,提高电机运行的效率与稳定性。在实际应用中,永磁同步电机的这种控制策略被广泛应用于工业自动化、机器人、电动车辆等领域。

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取

  V

点击下方名片关注公众号获取

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

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

相关文章

新160个crackme - 060-snake

运行分析 需破解Name和Serial PE分析 32位,未知程序和壳 点击Scan/t按钮外部扫描,发现是C程序 静态分析&动态调试 ida搜索关键字符串,双击进入 发现无法反编译 选中该函数(地址:401048 - 401172)Edit -…

认识结构体

目录 一.结构体类型的声明 1.结构的声明 2.定义结构体变量 3.结构体变量初始化 4.结构体的特殊声明 二.结构体对齐(重点难点) 1.结构体对齐规则 2.结构体对齐练习 (一)简单结构体对齐 (二)嵌套结构体对齐 3.为什么存在内存对齐 4.修改默认对齐数 三.结构体传参 1…

PMP--二模--解题--51-60

文章目录 14.敏捷--术语表--完成的定义DoD--它是团队需要满足的所有标准的核对单,只有可交付成果满足该核对单才能视为准备就绪可供客户使用。51、 [单选] 在冲刺计划会议上,Scrum主管重申,如果在冲刺结束时敏捷项目团队正在构建的产品增量没…

五种IO模型和阻塞IO

文章目录 五种 IO 模型和阻塞 IO1、五种 IO 模型1.1、阻塞 IO1.2、非阻塞 IO1.3、信号驱动 IO1.4、IO 多路转接1.5、异步 IO1.6、总结 2、高级 IO 概念2.1、同步通信(synchronous communication)和异步通信(asynchronous communication&#…

第十五章:使用html、css、js编程制作一个网页版的下雪场景动画

背景:这是一个充满诗意的下雪场景代码。打开网页时,雪花轻轻飘落,覆盖住你的屏幕,仿佛置身于冬日的夜空下。背景音乐《我期待的不是雪》缓缓响起,伴随着雪花的飘动,仿佛心中的那份爱与温柔悄然绽放。 雪花的飘落是梦境般的存在,每一片雪花都是轻盈的告白,旋转着从天际…

使用GitHub Actions自动发布electron多端安装程序

GitHub Actions 是一个强大的自动化工具,可以帮助开发者在 GitHub 仓库中自动化构建、测试和部署工作流程。我们的客户端就是使用github action来打包项目发布的。 以下是关于 GitHub Actions 自动化构建的一些关键点和步骤: GitHub Actions 的基本概念…

go注册中心Eureka,注册到线上和线下,都可以访问

go注册中心Eureka,注册到线上和线下,都可以访问 本地通过127访问, 线上通过内网ip访问 package mainimport ("github.com/SimonWang00/goeureka""github.com/gin-gonic/gin""wbGo/controller""wbGo/task…

【工具变量】地市环保法庭试点城市DID数据集(2005-2023年)

数据简介:环保法庭是中国司法体系中专门处理环境资源案件的审判机构,其主要职责包括审理涉及自然环境污染、矿产资源保护、自然资源环境开发等环境资源民事纠纷案件,对不服下级人民法院生效裁判的环境资源民事案件进行审查,以及对…

Java_Se--方法

方法就是一个代码片段. 类似于 C 语言中的 "函数"。方法存在的意义(不要背, 重在体会): 1. 是能够模块化的组织代码 ( 当代码规模比较复杂的时候 ). 2. 做到代码被重复使用 , 一份代码可以在多个位置使用 . 3. 让代码更好理解更简单 . 4. 直接调用现有方法开…

cv中每个patch的关联

在计算机视觉任务中,当图像被划分为多个小块(patches)时,每个 patch 的关联性可以通过不同的方法来计算。具体取决于使用的模型和任务,以下是一些常见的计算 patch 关联性的方法: 1. Vision Transformer (…

IDA Pro-代码结构识别

Lab06-01.exe分析 1.由main 函数调用的唯一子过程中发现的主要代码结构是什么? if语句结构 找到main函数中唯一调用的函数,并进入 判断网络是否链接成功,如果返回0走右边未连接成功 2.位于0x40105F的子过程是什么? 将字符串压栈,猜测…

双非本 985 硕士,秋招上岸字节算法岗!

最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新人如何快速入门算法岗、如何准备面试攻略、面试常考点、大模型项目落地经验分享等热门话题进行了深入的讨论。…

面向对象程序设计——set容器の简析

1.set的介绍 • 序列式容器和关联式容器 • 我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间⼀般没有紧…

Python GUI 编程:tkinter 初学者入门指南——窗口

目录: 创建窗口更改窗口标题更改窗口大小和位置窗口在屏幕上居中窗口设置的其他属性 Tkinter 是在 Python 中开发 GUI(图形用户界面)最常用的库。在本指南中,我们将引导您了解 Tkinter 的基本知识,学习如何使用 Tkinte…

汽车电子零部件(16):ZCU区域控制器

ZCU(Zone Control Unit,区域控制器),功能主要包括哦数据交互、信号控制及电力分配等,是智能网联汽车中不可或缺的关键组件,ECU负责车身、车门、车窗、天窗、车灯(外大灯、内氛围灯)、座椅(可能包括座椅音响)、雷达甚至后排娱乐系统等控制执行单元的集中化。 CCU(centr…

【后端开发】JavaEE初阶—Theard类及常见方法—线程的操作(超详解)

前言: 🌟🌟本期讲解多线程的知识哟~~~,希望能帮到屏幕前的你。 🌈上期博客在这里:【后端开发】JavaEE初阶—线程的理解和编程实现-CSDN博客 🌈感兴趣的小伙伴看一看小编主页:GGBondl…

Vue3新组件transition(动画过渡)

transition组件&#xff1a;控制V-if与V-show的显示与隐藏动画 1.基本使用 <template><div><button click"falg !falg">切换</button><transition name"fade" :enter-to-class"etc"><div v-if"falg&quo…

【开源服务框架】Dubbo

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理Java面试中开源服务框架Dubbo会涉及到的知识点 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一…

C++标准库容器类——string类

引言 在c中&#xff0c;string类的引用极大地简化了字符串的操作和管理&#xff0c;相比 C 风格字符串&#xff08;char*或cahr[]&#xff09;&#xff0c;std::string 提供了更高效和更安全的字符串操作。接下来让我们一起来深入学习string类吧&#xff01; 1.string 的构造…

sqli-lab靶场学习(三)——Less8-10(盲注、时间盲注)

Less8 第八关依然是先看一般状态 http://localhost/sqli-labs/Less-8/?id1 然后用单引号闭合&#xff1a; http://localhost/sqli-labs/Less-8/?id1 这关的问题在于报错是不显示&#xff0c;那没办法通过上篇文章的updatexml大法处理。对于这种情况&#xff0c;需要用“盲…