Simulink电机控制代码生成-----关于PI控制器参数整定的一点总结

news2025/1/21 9:34:07

目录

PI控制器的参数整定方法

方法一:

方法二:

方法对比

总结


看过很多论文,对PI参数的整定方法五花八门,还有PI参数整定的口诀,所谓口诀就是试凑法。除了试凑法,本文提供另外两种方法来整定PI参数,并互相验证两种方法的可行性。

PI控制器的参数整定方法

方法一:

反电动势项忽略得到DQ轴坐标系的电压方程:

 对上式进行拉普拉斯变换得到:

 得到电流环闭环传递函数:

这里把反馈为单位负反馈,增益环节也是1。

 闭环传递函数零极点对消化简得到PI参数,其中为带宽系数

一般设计PI控制器参数或者其他控制器参数时需要考虑带宽的选取,一般带宽越高,响应越快但是相应稳态性能偏差,带宽越低响应越慢,相应的稳态性能就越好。设计控制器参数时根据系统定义需求进行调整即可。以上方法经常在很多参考文档里面遇到,而实际工程中带宽的设计都是基于经验和都尝试。

方法二:

参考之前的博文

永磁同步电机矢量控制电流环参数整定方法----Matlab controlSystemDesigner的使用

方法对比

这里通过一个控制实例来更直观的感觉下PI控制的效果:

根据方法一,我们得到下面的代码:

pmsm = struct;
pmsm.RatedVoltage = 800.0;  %TBD
pmsm.PolePairs = 4;
pmsm.StatorPhaseResistance = single(0.00653); % RS
pmsm.InductanceLd = single(0.000118);         % Ld
pmsm.InductanceLq = single(0.000276);        % Lq
pmsm.FluxLinkage = single(0.0672346);           %Flux
pmsm.Jkm2=single(0.002);

%Set Inverter Parameters%
inverter = struct;
inverter.BusVoltage = 24.0;
inverter.BusVoltageMax = 36.0;
inverter.BusVoltageMin = 10.0;
inverter.CurrentMax = single(10);
inverter.PWM_frequency = 10000;     %20Khz
inverter.Ts=1/inverter.PWM_frequency; %Ts
inverter.Speed_PI_T =0.002;%s

currentloop = struct;
currentloop.wc = single(1500); %rad/s 电流环带宽
currentloop.kp_d = pmsm.InductanceLd * currentloop.wc;
currentloop.ki_d = currentloop.wc*pmsm.StatorPhaseResistance;
currentloop.kp_q = pmsm.InductanceLq * currentloop.wc;
currentloop.ki_q= pmsm.StatorPhaseResistance*currentloop.wc;

 这里根据电机的参数,设计带宽1500 rad/s 换算成频率238.7Hz。得到的PI参数如下:

 根据方法二的方法,把方法一得到的Q轴的PI参数代入到系统传递函数,得到以下代码:

s = tf('s');
Td=1/inverter.PWM_frequency;%+0.5/inverter.PWM_frequency
Giq=1/(pmsm.InductanceLq*s+pmsm.StatorPhaseResistance);
Giq_delay=tf([1],[pmsm.InductanceLq pmsm.StatorPhaseResistance],'inputdelay',Td);
%Giq_z=c2d(Giq_delay, inverter.Ts, 'zoh');
%Ciq
%Iq_numz = 0.66446*[1 -0.9973]
%Iq_denz = [1 -1] 
%Ciq = tf(Iq_numz,Iq_denz,inverter.Ts)
Kpq=0.4140;
Kiq=9.7950;
PI_q=Kpq+Kiq/s;

controlSystemDesigner(Giq_delay,PI_q,1,1);

 运行后:

可以看到,设计带宽正好是1500rad/s. 

 换成频率为单位:

和我们之前算的一样239,系统的相位裕量和增益裕量也足够,系统稳定。通过方法二设计的PI参数,就可以让我们设计一个控制系统时看得到更多的信息,而不是试凑一个带宽或者一组PI参数。

 增大带宽:

通过鼠标抓取曲线上下移动,或者调整零点位置都可以达到改变带宽的效果。

增大带宽可以看到相位裕量变小,增益裕量变小,从阶跃响应来看系统响应更快,但是由于裕量变小了,所以系统的稳定性变差了。具体是什么情况好,取决于系统需求。这里就解释了前面带宽越高,响应越快但是相应稳态性能偏差,带宽越低响应越慢,相应的稳态性能就越好。

总结

本文利用实例通过两种方法整定PI参数,并互相比较,总结出两种方法都可以整定出PI参数,但是方法二更加直观和合理。方法一存在一定的不确定性,比如当前设计的带宽是不是太高,太低。只能在实际中验证。方法二如果电机参数准确,可以更方便的看出电机PI参数是否会引起系统超调太大,是否稳定等信息。

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

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

相关文章

【JavaSE】类与对象--封装性

文章目录一、面向对象的三大特性二、封装性1.什么是封装性?2.为什么要有封装性?3.封装性的作用4.封装性的实现步骤5.访问限定修饰符一、面向对象的三大特性 面向对象的三个基本特征是:封装、继承、多态。 二、封装性 1.什么是封装性&#xf…

BLE学习(4):蓝牙地址类型和设备的隐私

蓝牙地址也被称为蓝牙MAC地址,它能唯一标识一个蓝牙设备的48位的值。在蓝牙规范中,它被称为BD_ADDR。蓝牙的地址类型可以分为两种:public addresses和random addresses,其中random addresses又可再细分为几类,如下图所…

centos7.8手动部署php环境 01 nginx1.8.0编译安装

环境说明: 一、使用电脑 MacBook Pro 二、ssh 工具 finalShell 三、本地虚拟机 VMware Fusion 四、服务器配置 CentOS 7.8 64位 ps:虚拟机安装CentOS省略 登录服务器 一、安装基础工具 yum install net-tools -y yum install wget -y二、将yum源更改为腾…

创新型智慧农业信息化系统建设方案

农业电信增值服务与农村信息化建设要充分考虑新的信息技术、移动通信技术带来的革命,尤其是三网融合、移动互联网、下一代互联网、物联网、云计算、移动支付等新型产品与业务对我们的影响。 存在问题 •网络覆盖基础差 仍然有很多行政村没有宽带网络的覆盖&#x…

TiDB HTAP

TiDB 数据库 HTAP 概述 HTAP技术 OLAP和OLTP带来了多副本的问题。 HTAP的要求 HTAP的架构 异步复制,不参与投票。 HTAP的特性 行列混合 列存支持基于主键的实时更新TiFlash作为列存副本OLTP和OLAP业务隔离 智能选择(CBO自动或者人工选择)…

IB数学的备战技巧有哪些?

去知名品牌院校进修是许多学员的理想,可是众所周知这些重点大学的入校规定是十分严谨的。因此许多学员为了更好地提高自身的入校概率,就报名参加了一些可以大大加分的国际课程内容和考試。在其中IB数学课则是最受众多学员钟爱的一个课程内容。近些年&…

PyTorch 官方库「上新」,TorchMultimodal 助力多模态人工智能

多模态人工智能是一种新型 AI 范式,是指图像、文本、语音、视频等多种数据类型,与多种智能处理算法相结合,以期实现更高的性能。 近日,PyTorch 官方发布了一个 domain library–TorchMultimodal,用于 SoTA 多任务、多模…

[Linux]----进程间通信之共享内存

文章目录前言一、system V共享内存原理二、创建共享内存关联和去关联共享内存进行通信三、基于管道进行共享内存通信四、临界资源五、信号量总结前言 基于上篇我们利用管道进行进程间通信的使用和实现,本篇将带大家通过共享内存进行进程间通信! 正文开始…

R9.8-9.8-9.8-9.8A_特点

R9.8-9.8-9.8-9.8A_特点 R9.8-9.8-9.8-9.8A_特点哈威柱塞泵主要特点是高自吸转速,工作效率高,结构紧凑,工作压力高等。该泵可为工程机械、铲雪车、路堤割草机、柴油叉车、自驱式工作平台和农业机械中的执行元件等提供压力油。 哈威液压泵R9.…

LIRA: Learnable, Imperceptible and Robust Backdoor Attacks 论文笔记

论文信息 论文名称LIRA: Learnable, Imperceptible and Robust Backdoor Attacks作者Khoa Doan(Baidu Research)会议/出版社ICCV 2021pdf📄在线pdf代码💻pytorch其他该作者还有一篇攻击的论文,在线pdf 介绍 本文提出了一种新的攻击框架 LIR…

技术中台的定义、范围与内容

【摘要】中台不能算是一个新的概念,只不过把它从一个单一系统扩展到了企业内部所有系统和组织级(企业架构级)的概念。那么时下“中台”的本质究竟是什么?技术中台又该如何理解? 前台、中台、后台的概念早就有之,只不过不同的场景下有不同的内涵。前中后台是从应用系统架…

T293037 [传智杯 #5 练习赛] 白色旅人

题目描述 有一个物品队列 \frak BB,初始时为空。现在共有三种操作。每个操作会给定三个整数 \mathrm{op},x,yop,x,y,其中 \mathrm{op}op 表示操作种类,x,yx,y 是操作的参数。操作分为如下三种: 11:向 \frak BB 尾部添…

React 简书项目实战【3】实现搜索框动画

React 简书项目实战【3】实现搜索框动画 添加判断变量 header/index.js 核心代码 ... class Header extends Component {constructor(props) {super(props);this.state {focused: true}}render() { ...添加classname header/index.js 核心代码 搜索框和放大镜图标 <…

手把手教你如何用界面组件DevExpress WPF应用一个模板主题

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF组件包…

VR失重太空舱游乐设备|航空航天VR体验|VR航天航空体验馆

普乐蛙推出了十几种不同类型的VR航天航空体验设备&#xff0c;VR创意内容丰富好玩&#xff0c;360全景还原航空各个场景&#xff0c;体验享受航空中的失重、飞行、旋转等刺 激与乐趣;模拟月球、太空、空间站等丰富航天场景&#xff0c;近距离体验航天科幻十足的魅力;通过沉浸式…

vue(移动端)使用高德地图实现精准定位

目录 效果图 前提准备 代码展示 效果图 两个页面 页面一&#xff08;粗略定位&#xff09; 点击城市进入页面二 &#xff08;粗略定位&#xff09;&#xff0c;搜索框输入具体位置&#xff08;以大连理工大学为例&#xff09; 点击大连理工大学&#xff0c;回到页面一&…

[附源码]java毕业设计校园淘宝节系统

项目运行 环境配置&#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…

MongoDB Journaling工作原理

文章目录 小结当 mongod 进程启动后,首先将数据文件映射到 shared 视图中,假如数据文件的大小为 4000 个字节,它会将此大小的数据文件映射到内存中,地址可能为 1000000~1004000。如果直接读取地址为1000060的内存,我们将得到数据文件中第60个字节处的内容。有一点要注意,…

ElementUI的Form表单使用slot-scope=“scope“获取当前表格行数据实现数据回显、修改表单操作

在写项目时&#xff0c;老师通过向后端发请求获得表格原来的数据来填充修改表单里的数据。 这是表格&#xff1a; 这是点击修改按钮后显示出来的修改表单&#xff1a; 但本地里都已经有这些数据了&#xff0c;就没必要再发一次请求&#xff0c;徒增服务器压力。 准备 可是…

Java基础之《netty(3)—NIO之Buffer》

一、Buffer基本介绍 1、缓冲区&#xff08;Buffer&#xff09; 缓冲区本质上是一个可以读写数据的内存块&#xff0c;可以理解成是一个容器对象&#xff08;数组&#xff09;。该对象提供了一组方法&#xff0c;可以更轻松的使用内存块。缓冲区对象内置了一些机制&#xff0c;…