此练习主要是比例积分控制,包括三部分:
①系统建模;
②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.pswp.cn/bicheng/91935.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91935.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91935.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】MySQL 中的数据排序是怎么实现的?

MySQL 数据排序实现机制详解 MySQL 中的数据排序主要通过 ORDER BY 子句实现,其内部实现涉及多个优化技术和算法选择。让我们深入探讨 MySQL 排序的完整实现机制。 一、排序基础:ORDER BY 子句 基本语法: SELECT columns FROM table [WHERE c…

JVM-垃圾回收器与内存分配策略详解

1.如何判断对象已死1.1 对象引用的4种类型(强软弱虚)1.1.1 强引用特点:最常见的引用类型,只要强引用存在,对象绝不会被回收Object strongObj new Object(); // 强引用注意:集合类型,如果对象不…

新手向:简易Flask/Django个人博客

从零开始搭建个人博客:Flask与Django双版本指南 本文将详细讲解如何使用两种主流Python框架构建功能完整的个人博客系统。我们将从零开始,分别使用轻量级的Flask框架和功能全面的Django框架实现以下核心功能: 用户认证系统: 用户注册/登录/注销功能 密码加密存储 会话管理…

使用 Trea cn 设计 爬虫程序 so esay

使用 Trea cn 设计 爬虫程序 so esay 在现代数据驱动的时代,网络爬虫已成为数据采集的重要工具。传统的爬虫开发往往需要处理复杂的HTTP请求、HTML解析、URL处理等技术细节。而借助 Trea CN 这样的AI辅助开发工具,我们可以更高效地构建功能完善的爬虫程…

MySQL Redo Log

MySQL Redo Log MySQL主从复制:https://blog.csdn.net/a18792721831/article/details/146117935 MySQL Binlog:https://blog.csdn.net/a18792721831/article/details/146606305 MySQL General Log:https://blog.csdn.net/a18792721831/artic…

项目实战1:Rsync + Sersync 实现文件实时同步

项目实战:Rsync Sersync 实现文件实时同步 客户端中数据发生变化,同步到server端(备份服务器)。 Rsync:负责数据同步,部署在server端。 Sersync:负责监控数据目录变化,并调用rsync进…

Spring Boot 全 YAML 配置 Liquibase 教程

一、项目初始化配置 1.1 创建 Spring Boot 项目 通过 Spring Initializr 生成基础项目,配置如下: ​​Project​​: Maven​​Language​​: Java​​Spring Boot​​: 3.5.3(最新稳定版)​​Project Metadata​​: Group: com…

STM32-驱动OLED显示屏使用SPI(软件模拟时序)实现

本章概述思维导图:SPI通信协议SPI通信协议介绍SPI通讯:高速的、串行通讯、全双工、同步、总线协议;(通过片选信号选中设备);注:SPI通讯通过片选信号选中设备,串口通讯通过端口号选中…

Easy系列PLC相对运动指令实现定长输送(ST源代码)

汇川Easy系列PLC总线伺服转矩控制功能块 Easy系列PLC总线伺服转矩控制功能块(详细PDO配置+完整ST源代码)_pdo中添加目标力矩然后映射到轴中-CSDN博客文章浏览阅读215次。Easy系列PLC如何实现轮廓速度模式PV速度模式Easy系列PLC如何实现轮廓速度模式PV速度控制_汇川easy plc轮廓…

SpringCloud学习第一季-4

目录 16.SpringCloud Alibaba Nacos服务注册和配置中心 SpringCloud Alibaba简介 1. 为什么出现 SpringCloud Alibaba 2. SpringCloud Alibaba带来了什么 2.1 能干什么 2.2 去哪里下载 2.3 怎么玩 3. 学习资料的获取 17.SpringCloud Alibaba Nacos服务注册和配置中心 …

嵌入式开发学习———Linux环境下数据结构学习(五)

折半查找&#xff08;二分查找&#xff09;适用于已排序的数组&#xff0c;通过不断缩小查找范围定位目标值。int binarySearch(int arr[], int size, int target) {int left 0, right size - 1;while (left < right) {int mid left (right - left) / 2;if (arr[mid] t…

(一)React +Ts(vite创建项目/useState/Props/Interface)

文章目录 项目地址 一、React基础 1.1 vite创建 1. 创建项目 2. 安装项目所需环境 1.2 jsx 1. 三元表达式 1.3 基础 1. 创建第一个组件 2. 安装boostrap 3. 插件常用命令 4. map 二、组件 2.1 useState 1. useState 2. 使用 3.更新对象 4. 更新数组(增,删,改) 5. 使用immer…

网关和BFF是如何演化的

BFF&#xff08;Backend For Frontend&#xff09;:对返回的数据结构进行聚合、裁剪、透传等适配逻辑。 适用于API网关之后的数据聚合、裁剪与透传简化客户端逻辑&#xff0c;减少网络开销敏感数据过滤 BFF逻辑层 架构没有最好&#xff0c;要看是否满足当前的业务场景。 业务的…

SQL中的WITH语句(公共表表达式CTE)解释

SQL中的WITH语句&#xff08;公共表表达式CTE&#xff09; WITH语句&#xff0c;也称为公共表表达式&#xff08;Common Table Expression&#xff0c;CTE&#xff09;&#xff0c;是SQL中一种强大的功能&#xff0c;它允许你创建临时结果集&#xff0c;这些结果集可以在后续的…

服务器地域选择指南:深度分析北京/上海/广州节点对网站速度的影响

更多云服务器知识&#xff0c;尽在hostol.com你准备开一个覆盖全国的线上零食店&#xff0c;现在万事俱备&#xff0c;只差一个核心问题没解决&#xff1a;你唯一的那个总仓库&#xff0c;应该建在哪里&#xff1f;是建在哈尔滨&#xff0c;让南方的朋友下单后&#xff0c;一包…

桶排序-Java实现

桶排序是一种分配式排序算法&#xff0c;将元素分到有限数量的桶里&#xff0c;每个桶再单独排序&#xff08;比如用插入排序&#xff09;&#xff0c;最后依次把各个桶中的元素取出来即完成排序。 时间复杂度&#xff1a;最佳 O(n) | 平均 O(n n/k k) | 最差 O(n) 空间复杂…

oracle知识

这里写自定义目录标题Oracle常用的数据类型&#xff1a;Oracle实操&#xff1a;创建数据表Oracle约束建表的时候设置约束&#xff1a;表创建后添加添加约束&#xff1a;Oracle常用的数据类型&#xff1a; Oracle实操&#xff1a;创建数据表 Oracle约束 建表的时候设置约束&…

超级人工智能+无人机操控系统,振兴乡村经济的加速器,(申请专利应用),严禁抄袭!

无人机边缘智能系统&#xff1a;山林珍稀资源探测的完整架构与实战指南本人设计的多模态边缘AI系统已在秦岭山区完成实地验证&#xff0c;对7种高价值食用菌识别准确率达94.3%&#xff0c;定位误差小于0.8米一、前沿技术融合的商业化机遇根据Gartner 2025年技术成熟度曲线分析&…

用腾讯地图写一个逆地址解析(很详细)

首先说明以下代码适合有前端基础知识的同学。以下是css和html部分<!DOCTYPE html><html lang"zh-CN"><!-- lang是用来申明语言类型&#xff0c;这里申明为中文&#xff08;zh&#xff09;中国大陆&#xff08;CN&#xff09;补充中文繁体为zh-TW --&g…

在 Vue3+Vite+TypeScript 项目中使用 svg 文件并支持自定义样式

参考文档&#xff1a;vite-svg-loader 安装与配置 安装插件 pnpm add vite-svg-loader -D配置 // vite.config.ts import svgLoader from vite-svg-loaderexport default defineConfig({plugins: [vue(),svgLoader({defaultImport: component})] })使用 <script setup …