当前位置: 首页 > news >正文

控制建模matlab练习07:比例积分控制-③PI控制器的应用

此练习主要是比例积分控制,包括三部分:
①系统建模;
②PI控制器;
③PI控制器的应用;
以下是,第③部分:PI控制器的应用。

一、比例积分控制的应用模型

1、整个系统是如图,这样一个单位反馈的形式;
2、这个系统存在扰动D(s),因此无法直接用feedback命令来建立闭环传递函数,所以需要手动的推导。
比例积分控制体重
3、将整个系统的推导过程如下图,最后就能求出输入R(s)和输出X(s)之间的关系,也就得到整个系统闭环传递函数Gcl(s)。
闭环传递函数推导
4、其中D(s)就是d(t)的表达式,进行拉普拉斯变换;
5、从练习05的案例一,这个体重作为例子:即目前体重x0=90,准备减到目标参考值r(t)=65。
初始值
6、此时整个系统,就可以把中间这么多,看成新的闭环系统G_cls。
7、因为R(s)是常数输入,所以输出X(s)就相当于它的单位阶跃响应x对应的R倍。
看成整体的闭环系统

clc;clear;close all;
%% 定义参数
S = 5;
x0 = [70];
h = 175;
a = 20;
Ei = [2500,2100,2500];
alpha = 1.3;
Ea = [0, 0, 500];
%% 定义G(s)
G_s = tf([1],[7000,10*alpha]);
%% 定义扰动
d = -alpha*(6.25*h-5*a+S);
D_s = tf([d],[1 0]);
%%%% 定义比例积分微分控制
kp = 200;
ki = 1; 
kd = 0;
C_s = pid(kp, ki, kd); 
%% 仿真
x0 = [90];
R_s = tf([65],[1 0]);
sys_cl = G_s*(C_s + D_s/R_s + 7000*x0/R_s)/(1 + G_s* C_s);
%% 定义输入
t = 0: 1: 3000;
R = 65;
x = R*step(sys_cl,t);%因为R(s)是常数输入,所以输出就相当于它的单位阶跃响应*对应的R倍。
plot (x);
grid on;
%%

二、运行结果及分析

1、Kp=200,Ki=1,Kd=0;
(比例积分PI结合,此时从响应速度、最后稳定值都能快速到参考值65)
运行结果
2、Kp=200,Ki=0,Kd=0;
(只有比例项P,此时无法到65,存在稳态误差)
只有Kp
3、Kp=0,Ki=1,Kd=0;
(只有积分项I,此时存在非常大的振荡)
只有Ki

学习来源:《控制之美》[卷1],王天威

http://www.dtcms.com/a/312372.html

相关文章:

  • 深入掌握 ExcelJS:Node.js 中强大的 Excel 操作库
  • 小红书开源dots.ocr:单一视觉语言模型中的多语言文档布局解析
  • WebRTC前处理模块技术详解:音频3A处理与视频优化实践
  • ⭐CVPR2025 3D 生成新框架|Kiss3DGen 让 2D 扩散模型玩转 3D 资产生成
  • sqli-labs:Less-26关卡详细解析
  • 【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘
  • Spring Boot 的事务注解 @Transactional 失效的几种情况
  • MCU中的复位生成器(Reset Generator)是什么?
  • 智能手表项目:原理图
  • kotlin kmp 跨平台环境使用sqldelight
  • Shell脚本-变量如何定义
  • webrtc弱网-QualityScaler 源码分析与算法原理
  • npm ERR! code CERT_HAS_EXPIRED:解决证书过期问题
  • `npm error code CERT_HAS_EXPIRED‘ 问题
  • Azure DevOps — Kubernetes 上的自托管代理 — 第3部分
  • JVM-垃圾回收器与内存分配策略详解
  • Node.js 服务可以实现哪些功能
  • 【python实用小脚本-169】『Python』所见即所得 Markdown 编辑器:写完即出网页预览——告别“写完→保存→刷新”三连
  • 深度学习周报(7.28~8.3)
  • 【机器学习③】 | CNN篇
  • 分享链接实现状态共享
  • 嵌入式相关书籍
  • Javaweb————Windows11系统和idea2023旗舰版手动配置Tomcat9全流程解析
  • FreeRTOS源码分析三:列表数据结构
  • MCP革命:Anthropic如何重新定义AI与外部世界的连接标准
  • Linux系统编程Day4-- Linux常用工具(yum与vim)
  • io_setup系统调用及示例
  • Odoo OWL前端框架全面学习指南 (后端开发者视角)
  • 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法一)单调栈+三次遍历
  • Flink程序关键一步:触发环境执行