【电力电子在电力系统中的应用】1 具有输出限幅的离散系统的PID控制器

【仅供参考

【2023.02西南交大电力电子在电力系统中的应用】

目录

[0 仿真要求](#0 仿真要求)

[1 PID控制器的设计与封装](#1 PID控制器的设计与封装)

[1.1 搭建仿真电路](#1.1 搭建仿真电路)

[1.2 对PID控制器部分封装为subsystem模块](#1.2 对PID控制器部分封装为subsystem模块)

[1.3 创建Mask模块](#1.3 创建Mask模块)

[2 PID控制器的参数选择](#2 PID控制器的参数选择)

[2.1 Kp参数的调节](#2.1 Kp参数的调节)

[2.2 Ki参数的调节](#2.2 Ki参数的调节)

[2.3 Kd参数的调节](#2.3 Kd参数的调节)


0 仿真要求

1、针对极点0,-0.5的被控系统,设计具有输出限幅离散系统的PID控制器,并封装成参数可设置的模块,可设置Kp、Ki、Kd、输出限幅最大、最小值等参数。

2、验证PID在以下系统(替换Subsystem)的阶跃输出。

1 PID控制器的设计与封装

1.1 搭建仿真电路

其中:

  1. 将三个Gain模块的数值分别用参数Ki、Kp、Kd代替,便于后续封装成subsystem、创造Mask模块后,对模块属性进行设置;
  2. 在Ki对应的Gain模块后串上一个Discrete-Time Integrator(离散时间积分)模块;
  3. 在Kd对应的Gain模块后串上一个Discrete Derivative(离散系统微分)模块;
  4. 用Add模块将比例、积分、微分三条线路进行加和;
  5. 在Add模块后串联一个Saturation模块,对输出进行限幅;

将Saturation模块中Upper limit、Lower limit的数值分别用参数Max和Min代替,以便于后续创造Mask模块后,对模块属性进行设置。

1.2 对PID控制器部分封装为subsystem模块

得到下图所示电路:

1.3 创建Mask模块

对各参数进行编辑如下:

得到参数可设置的模块如下(可设置Kp、Ki、Kd、输出限幅最大、最小值等参数):

2 PID控制器的参数选择

2.1 Kp参数的调节

先将Ki、Kd清零,不进行限幅。如右图,当Kp选为0.05时(图中黄线所示),达到稳态时间偏长;Kp选为0.14时(图中蓝线所示),反应速度提升,但产生过冲。

2.2 Ki参数的调节

Ki在有外力作用和系统误差时用以消除偏差、提高精度。调大Ki也可增加响应速度,但同时也会产生过冲、过大会产生振荡。此处调节Ki参数效果不甚明显,故取一较小数值0.000001。

2.3 Kd参数的调节

Kd用以抑制过冲和振荡。Kd过小系统会产生过冲,过大则会减慢响应速度。如右图,当Kd选为0.01时(图中黄线所示),产生些许过冲;Kp选为0.14时(图中蓝线所示),差不多为预期所需。

综上所述,所得参数如图:

使用PID控制(黄线)和不使用PID控制(蓝线)时输出波形如图:

相关推荐
感谢地心引力13 小时前
【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!
开发语言·windows·matlab·copilot
九亿AI算法优化工作室&14 小时前
乡村地区无人机医药配送路径规划与优化仿真
人工智能·算法·matlab·回归
77tian15 小时前
MATLAB安装全攻略:常见问题与解决方案
matlab
电力程序小学童15 小时前
【重磅】配电网智能软开关和储能联合规划
matlab·配电网·储能·优化配置·sop·智能软开关·33节点系统
机器学习之心17 小时前
分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现
算法·matlab·分类
showmethetime17 小时前
matlab提取脑电数据的五种频域特征指标数值
前端·人工智能·matlab
FL171713141 天前
UR5e机器人Matlab仿真
linux·matlab·机器人
ghie90901 天前
x-IMU matlab zupt惯性室内定位算法
人工智能·算法·matlab
瑞雪兆丰年兮2 天前
数学实验(Matlab符号运算)
开发语言·算法·matlab·数学实验
潇氡2 天前
使用matlab进行数据拟合
matlab·数据拟合