Simulink电机控制代码生成-----关于PI控制器参数整定的一点总结
创始人
2024-04-11 17:45:02
0

目录

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;%scurrentloop = 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参数是否会引起系统超调太大,是否稳定等信息。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...