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

相关推荐
T.i.s16 小时前
论文复现8
matlab·fmcw
海神之光19 小时前
【语音识别】基于matlab语音MFCC特征提取CNN深度学习语音识别【含Matlab源码 14470期】
matlab
Evand J1 天前
【自适应滤波】基于新息协方差匹配的自适应CKF目标跟踪 MATLAB 实战——在目标跟踪、雷达定位、组合导航和传感器融合等问题
人工智能·matlab·目标跟踪
三行数学2 天前
Matlab之父克利夫·莫勒尔逝世
开发语言·matlab
AI Dog2 天前
MathHub数学建模交流社区
数学建模·matlab
机器学习之心2 天前
基于投影寻踪动态聚类的多指标综合评价方法(PPDC),实验文档+MATLAB代码
matlab·数据挖掘·聚类
ji198594432 天前
局部线性嵌入(LLE)算法 MATLAB 实现
算法·机器学习·matlab
Evand J2 天前
【代码介绍】自适应R的AEKF(自适应扩展卡尔曼滤波)和经典EKF比较,MATLAB例程|三维非线性系统
开发语言·matlab·ekf·自适应·自适应滤波
我爱C编程2 天前
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
网络·matlab·ecc·密钥管理·无线传感器网络·簇内分组
guygg882 天前
二维电子气在三角形势阱中的量子特性计算
matlab