基于PI控制的PMSM永磁同步电机控制系统simulink建模与仿真

news2024/11/19 23:29:13

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

4.1 PMSM数学模型

4.2 矢量控制策略

4.3 PI控制器设计

4.4 控制系统实现

5.完整工程文件


1.课题概述

       基于PI控制的PMSM永磁同步电机控制系统simulink建模与仿真。其中,基于PI(比例-积分)控制器的矢量控制策略因其简单、可靠的特点而被广泛采用。永磁同步电机采用建模方式实现,不使用simulink的自带模型。

2.系统仿真结果

3.核心程序与模型

版本:MATLAB2022a

17

4.系统原理简介

       永磁同步电机(PMSM)因其高效率、高功率因数、高转矩密度等优点在诸多领域得到广泛应用。为了实现PMSM的高性能控制,需要采用先进的控制策略。其中,基于PI(比例-积分)控制器的矢量控制策略因其简单、可靠的特点而被广泛采用。本文将详细介绍基于PI控制的PMSM控制系统的原理。

4.1 PMSM数学模型

 由于电机定转子存在相对运动,气隙磁密存在谐波,导致电磁关系复杂;若再考虑电流谐波,磁路饱和,以及电导、磁导等参数摄动,系统复杂程度将进一步提高。为简化分析,便于建模和设计对应的控制策略,往往对PMSM作出以下假设:
  1)三相绕组对称,空间互差2π/3电角度;
  2)忽略磁路饱和;
  3)不计磁滞损耗和涡流损耗;
  4)忽略齿槽效应,每相磁动势沿气隙正弦分布;
  5)转子无阻尼绕组。
  因此,PMSM在三相静止a-b-c,a-b-c,a−b−c坐标系下的电压方程和磁链方程可建立为:

4.2 矢量控制策略

       矢量控制策略通过坐标变换将PMSM的定子电流分解为相互正交的励磁分量和转矩分量,并分别进行控制。这样可以实现对PMSM的解耦控制,提高控制性能。在矢量控制中,通常采用id=0的控制方式,即直轴电流为零,此时电磁转矩与交轴电流成正比,简化了控制系统。

4.3 PI控制器设计

PI控制器是一种线性控制器,其传递函数可表示为:

(G(s) = K_p + \frac{K_i}{s})

        其中,(K_p)为比例系数;(K_i)为积分系数。PI控制器通过对误差信号的比例和积分作用来消除稳态误差,提高系统的动态响应性能。

       在PMSM控制系统中,通常需要设计两个PI控制器,分别用于调节直轴电流和交轴电流。通过调整PI控制器的参数,可以实现对PMSM的快速、准确控制。

4.4 控制系统实现

基于PI控制的PMSM控制系统实现过程如下:

采集PMSM的定子电流和转子位置信号;
通过坐标变换将定子电流从abc坐标系变换到dq坐标系;
设计PI控制器,并根据给定的直轴和交轴电流参考值计算PI控制器的输出;
将PI控制器的输出作为PWM调制信号的输入,生成PWM波形;
将PWM波形作用于PMSM的逆变器,驱动PMSM运转;
重复以上步骤,实现闭环控制。

5.完整工程文件

v

v

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

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

相关文章

使用UDP和JSON在C#中高效发送结构体数据

使用UDP和JSON在C#中高效发送结构体数据 引言 在许多网络编程场景中,我们经常需要在不同的应用程序或服务之间发送和接收数据。UDP(用户数据报协议)因其低延迟和少开销的特点,在需要快速数据传输的场景中非常有用。本文介绍了如何…

【FPGA/verilog -入门学习15】vivado FPGA 数码管显示

1,需求:使用xc720 开发板的8个数码管显示12345678 2,需求分析: 75hc595 1,74hc595驱动,将串行数据转换成并行输出。对应研究手册 2,发送之前将要发的数据,合并成高8位:SEG,低8位&…

【算法】利用分治思想解算法题:快排、归并、快速选择实战(C++)

1. 分治思想 介绍 分治法将问题划分成多个相互独立且相同或类似的子问题,然后递归地解决每个子问题,并将结果合并以得到原始问题的解。 分治思想通常包含以下三个步骤: 分解:将原始问题划分成多个规模较小、相互独立且类似的子…

如何恢复 iPhone 上永久删除的照片?

2007年,苹果公司推出了一款惊天动地的智能手机,也就是后来的iPhone。你会惊讶地发现,迄今为止,苹果公司已经售出了 7 亿部 iPhone 设备。根据最新一项调查数据,智能手机利润的 95% 都进了苹果公司的腰包。 如此受欢迎…

用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表) -- 自动生成 --【本人】

一、插件安装 1.1 搜索插件 mybatis 安装 1.2 接受安装 1.3 再次进入,说明安装好了 1.4 与鱼皮不同点 1)mybatis 版本不一致 鱼皮: 本人: 2)鱼皮需重启安装 本人不需要 1.5 【需完成 三、步骤,再来看】 …

webpack 5 loader

webpack 本身不能识别js&#xff0c;json外的资源&#xff0c;所以我们需要借助其他loader来处理对应的文件 CSS Loader&#xff0c;处理css 安装 npm i css-loader style-loader -D css-loader 负责讲css编译成webpack能识别的模块内容style-loader 动态创建<style&g…

SQL之CASE WHEN用法详解

目录 一、简单CASE WHEN函数&#xff1a;二、CASE WHEN条件表达式函数三、常用场景 场景1&#xff1a;不同状态展示为不同的值场景2&#xff1a;统计不同状态下的值场景3&#xff1a;配合聚合函数做统计场景4&#xff1a;CASE WHEN中使用子查询场景5&#xff1a;经典行转列&am…

【PTA-C语言】实验八-函数与指针II

如果代码存在问题&#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 目录——实验八-函数与指针II 6-1 移动字母&#xff08;分数 10&#xff09;6-2 删除字符&#xff08;分数 10&#xff09;6-3 函数实现字符串逆序&#xff08;分数 10&#xff09;6-4 递归计算Ackermenn函数…

CTFshow web入门web127-php特性30

开启环境: extract() 函数从数组中将变量导入到当前的符号表&#xff0c;使用数组键名作为变量名&#xff0c;使用数组键值作为变量值 举例就是?a2&#xff0c;就会变成$a2&#xff0c;这里ctf_show有个_需要构造&#xff0c;前面说过php中变量名只有数字字母下划线&#xff…

BIND-DNS配置介绍

一、主要配置文件 /etc/named.conf options { //Option 段全部配置 listen-on port 53 { 127.0.0.1; };//表示BIND将在53端口监听&#xff0c;若需要对所有IP进行监听&#xff0c;则修改为// listen-on port 53 { any; }; directory "/var/named"…

WPF+Halcon 培训项目实战(11):HS组件封装

文章目录 前言相关链接项目专栏运行环境匹配图片封装组件新增类库项目选择依赖顺序并添加Nuget修改原本矩形方法运行结果&#xff1a; 对矩形进行抽象封装抽象基类矩形抽象改造 圆形抽象封装代码运行结果 前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原…

leetcode2487.从链表中移除节点

文章目录 题目思路复杂度Code 题目 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1&#xff1a; 输入&#xff1a;head [5,2,13,3,8] 输出&#xff1a;[13,8] 解释&#xff1a;需要移除的节点是 5 &#xff0…

1.2作业

温湿度数据通过中断处理显示到数码管中 main.c #include "spi.h"#include"si7006.h"int main(){int i0,j0,m0,n0;int num[10] {0xFC,0x60,0xDA,0xF2,0x66,0xB6,0x3E,0xE0,0xFE,0xF6};SPI_init();unsigned short hum;short tem;//进行si7006的初始化si700…

关于我花费六千多组了台window+Linux主机

一边学习&#xff0c;一边总结&#xff0c;一边分享&#xff01; 写在前面 我在2023年12月组了一台“洋垃圾”的主机&#xff0c;一边当做台式机使用&#xff0c;一边当做服务器使用。这个方案算是相对比较划算的方案。我开始是打算直接单做服务器使用的&#xff0c;以及内存…

【react-taro-canvas】用canvas手写一个数字、字母混合的行为验证码

用canvas手写一个数字、字母混合的行为验证码 实现效果源码 实现效果 源码 import Taro from "tarojs/taro"; import { View, Canvas, Input, Button } from "tarojs/components"; import { useState, useEffect } from "react"; // 画随机线函…

Android14之禁掉Selinux的两种方式(一百七十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

安装elasticsearch、kibana、IK分词器、扩展IK词典

安装elasticsearch、kibana、IK分词器、扩展IK词典 后面还会安装kibana&#xff0c;这个会提供可视化界面方面学习。 需要注意的是elasticsearch和kibana版本一定要一样&#xff01;&#xff01;&#xff01; 否则就像这样 elasticsearch 1、创建网络 因为我们还需要部署k…

cJSON代码解读

1、背景 cJSON用了很久&#xff0c;但是对它一直不太了解。这次向添加对long long类型的支持&#xff0c;一直出问题。因为有以前添加两位小数float的经历&#xff0c;我觉得会很轻松&#xff0c;没想到翻车了。于是有了这边文档&#xff0c;阅读了部分博主对cJSON的解析&…

安装VS Code到AWS EC2 Linux 2

文章目录 小结问题及解决参考 小结 本文记录了安装VS Code到AWS EC2 Linux 2。 问题及解决 安装VS Code到AWS EC2 Linux 2采取了以下步骤&#xff1a; 更新VS Code的YUM源&#xff1a; [ec2-userip-100-92-28-119 ~]$ sudo rpm --import https://packages.microsoft.com/k…

LOG滤波器原理探究---计算机视觉和特征检测

先来看几个滤波器公式&#xff1a; 高斯滤波器&#xff1a; G ( x , y ; σ ) 1 2 π σ 2 e − x 2 y 2 2 σ 2 G(x,y;\sigma) \frac{1}{2 \pi \sigma^2} e^{-\frac{x^2 y^2}{2\sigma^2}} G(x,y;σ)2πσ21​e−2σ2x2y2​ 图像的二阶导数&#xff1a; ∇ 2 f ∂ 2 f ∂…