【电力电子在电力系统中的应用】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控制(蓝线)时输出波形如图:

相关推荐
2401_858120538 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
leon6258 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
小齿轮lsl8 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
学习不好的电气仔11 小时前
基于虚拟阻抗的逆变器下垂控制环流抑制策略MATLAB仿真
开发语言·matlab
原机小子11 小时前
掌握MATLAB中的数据类型转换技巧
开发语言·matlab
机器学习之心14 小时前
时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据(单输入单输出)
matlab·递归预测未来·ssa-tcn·麻雀搜索算法优化时间卷积网络
shiming887917 小时前
MATLAB图像处理
图像处理·计算机视觉·matlab
slandarer17 小时前
MATLAB | R2024b更新了哪些好玩的东西?
java·数据结构·matlab
2401_8581202617 小时前
MATLAB中的无线通信系统部署和优化工具有哪些
开发语言·matlab
MATLAB滤波17 小时前
【PSINS】基于PSINS工具箱的EKF+UKF对比程序|三维定位|组合导航|MATLAB
开发语言·matlab