PID整定二:基于Ziegler-Nichols的频域响应

news2024/11/18 5:47:00

PID整定二:基于Ziegler-Nichols的频域响应

  • 1参考
  • 2连续Ziegler-Nichols方法的PID整定
    • 2.1整定方法
    • 2.2仿真示例

1参考

1.1根轨迹图的绘制及分析
1.2计算机控制技术01-3.4离散系统的根轨迹分析法
1.3PID控制算法学习笔记
在这里插入图片描述
在这里插入图片描述

2连续Ziegler-Nichols方法的PID整定

2.1整定方法

基于稳定性分析的频域响应PID整定方法:对于给定的被控对象传递函数,可以得到其根轨迹,对应穿越jw轴的点,增益Km为系统开始振荡时的增益K值,wn为振荡频率。
整定公式为:
kp=0.6 * km;
ki=kp * wm/pi;
kd=kp * pi/(4*wm);

2.2仿真示例

整定程序:

%PID Controler Based on Ziegler-Nichols
clear all;
close all;
sys=tf(400,[1,30,200,0]);
figure(1);
rlocus(sys);%画根轨迹图
[km,pole]=rlocfind(sys);%手动!!找系统开始震荡时的增益Km和对应的极点(穿越jw虚轴)
wm=imag(pole(2));%震荡频率

%由系统开始震荡时的增益Km和频率wn确定PID参数:
kp=0.6*km;
ki=kp*wm/pi;
kd=kp*pi/(4*wm);

figure(2);
grid on;
bode(sys,'r');
sys_pid=tf([kd,kp,ki],[1,0]);%PID控制器的传函
sysc=series(sys,sys_pid);%被控系统加上PID整定后的系统!!!
hold on;
bode(sysc,'b');

figure(3);
rlocus(sysc);

整定前系统根轨迹图见Figure1,系统有3个极点,根轨迹图有3根,从极点开始,终止与无限远(因为系统无0点,否则有终止于0点的线),**[km,pole]=rlocfind(sys);%手动!!找系统开始震荡时的增益Km和对应的极点(穿越jw虚轴)**当用鼠标选取与虚轴相交的点时,找到系统振荡开始的增益Km=14,对应的极点有三个(红色的点),振荡频率wm=14rad/s,根据整定公式可得Kp=8.8371;Ki=39.4847;Kd=0.4945。
在这里插入图片描述
整定前后的系统伯德图见Figure2,整定后,频带拓宽,相移超前。
在这里插入图片描述
整定后的系统根轨迹图见Figure3,所有极点位于负半平面,系统达到完全稳定状态
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023软考中级《软件设计师》(备考冲刺版) | 知识产权与标准化

1.知识产权 1.1 保护对象和范围 1.2 保护期限 注意:注册商标续注可延长 1.3 知识产权人确定 1.3.1 职务作品(区分个人和公司单位:大部分都是公司单位) 1.3.2 委托开发、合作开发与同时申请 1.4 侵权判定 1.第二十五条对下列各…

操作系统——线程调度

0.关注博主有更多知识 操作系统入门知识合集 目录 6.1线程调度概念 思考题: 6.2典型调度算法 思考题: 6.3Linux线程调度 6.1线程调度概念 在第四章曾经介绍过,线程是操作系统调度的基本单位,那么本篇就不再以进程的视角去…

【操作系统OS】学习笔记第二章 进程与线程(下)【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…

基于rke部署的k8s集群如何配置kube-proxy工作在ipvs模式

kube-proxy默认工作在iptables模式下&#xff0c;在集群配置文件cluster.yml中添加如下配置项即可开启ipvs模式。然后执行 rke up 命令使配置生效。

软件测试的ABC

文章目录 一. 衡量软件测试结果的依据—需求1. 什么是需求2. 案例 - 平台支持邮箱注册3. 从测试人员角度看需求 二. 测试用例1. 测试用例的概念2. 案例3. 为什么要有测试用例 三. 软件错误 (BUG)1. 什么是bug2. 如何描述一个bug3. bug的级别4. bug的生命周期5. 如果因为bug和开…

Java面试题总结 | Java面试题总结8- Redis模块(持续更新)

Redis 文章目录 Redisredis的线程模型Redis的Mysql的区别Redis和传统的关系型数据库有什么不同&#xff1f;Redis常见的数据结构zset数据结构Redis中rehash过程redis为什么不考虑线程安全的问题呢Redis单线程为什么还能这么快&#xff1f;为什么Redis是单线程的&#xff1f;red…

【SpringMVC】| SpringMVC执行流程原理 | 常用注解 剥析

MVC目录 一. &#x1f981; MVC模型二. &#x1f981; SpringMVC1. SpringMVC执行流程&#xff08;重点&#xff09;Ⅰ. SpringMVC四大组件Ⅱ. 执行流程 2. RequestMapping3. RequestParam4. ReuqestHeader & CookieValue5. RESTful风格支持Ⅰ. 传统 vs restfulⅡ. PathVar…

5. Docker——先快速入门

本章讲解知识点 Docker 是什么为什么要使用 DockerDocker 引擎Docker 常用命令Docker 生命周期详解虽然我们上一章教大家搭建好了 Kubernetes + Docker 环境,但是我们本章是先从 Docker 讲起,为后面学习 Kubernetes 打好基础。 1. Docker 是什么 Docker 是一种开源的容器化…

spring5源码篇(9)——mybatis-spring整合原理

spring-framework 版本&#xff1a;v5.3.19 spring和mybatis的整合无非主要就是以下几个方面&#xff1a; 1、SqlSessionFactory怎么注入&#xff1f; 2、Mapper代理怎么注入&#xff1f; 3、为什么要接管mybatis事务&#xff1f; 文章目录 一、SqlSessionFactory怎么注入SqlSe…

离散数学_九章:关系(4)

9.4 关系的闭包 1、闭包(closure)的定义2、不同类型的闭包1. 自反闭包(reflexive closure)2. 对称闭包(symmetric closure)3. 传递闭包(transitive closure) 3、闭包的几个定理定理1定理2定理3 - R1∪R2定理4定理5&#x1f4d8;例题&#xff1a; 4、有向图中的路径5、传递闭包1…

2000-2019年30省研发资本存量(含计算过程和原始数据)

2000-2019年30省份研发资本存量&#xff08;含计算过程和原始数据&#xff09;/2000-2019年30个省市R&D资本存量或研发资本存量数据 1、时间&#xff1a;2000-2019年 2、范围&#xff1a;包括30个省市不含西藏 3、指标&#xff1a;省研发资本存量 4、参考文献&#xff…

家用 NAS 服务器搭建 | 网络 | DNS域名解析

1、前言 使用NAS&#xff0c;一般除了在家里通过局域网访问&#xff0c;还会有外网访问的需求&#xff0c;即在外面通过移动网络或者其他网络访问家中的NAS。 正常情况下在外面是没有办法访问家庭网络的&#xff0c;甚至是nas&#xff0c;因为nas获取的是局域网IP&#xff0c;…

【Python】flask

一、Flask教程 Flask是一个免费的web框架&#xff0c;也是一个年轻、充满活力的小型框架&#xff0c;开发文档齐 全&#xff0c;社区活跃度高&#xff0c;有着众多支持者。 Flask的设计目标是实现一个WSGI的微框架&#xff0c; 其核心代码十分简单。 Flask框架在中小型企业中的…

pwn的kali64虚拟机环境搭建记录

自己记着备用&#xff0c;pwn的环境和工具 虚拟机&#xff1a;VMware Workstation Pro Linux版本&#xff1a;kali64 总参考&#xff1a; pwn 环境搭建&#xff08;wsl/vmware&#xff09; pwn入门之环境搭建 目前就装这些&#xff0c;以后改了再更新&#xff08;但愿 安装ka…

第 4 章 HBase 进阶

第 4 章 HBase 进阶 4.1 Master 架构1&#xff09;Meta 表格介绍&#xff1a;&#xff08;警告&#xff1a;不要去改这个表&#xff09; 4.2 RegionServer 架构1&#xff09;MemStore2&#xff09;WAL&#xff08;预写日志&#xff09;3&#xff09;BlockCache 4.3 写流程2&…

使用kubeadm搭建生产环境的多master节点k8s高可用集群

环境centos 7.9 目录 1.对安装 k8s 的节点进行初始化配置 2 通过 keepalivednginx 实现 k8s apiserver 节点高可用 3、kubeadm 初始化 k8s 集群 4.扩容 k8s 控制节点&#xff0c;把 xuegod62 加入到 k8s 集群 5、扩容 k8s 控制节点&#xff0c;把 xuegod64 加入到 k8s 集群…

06_Uboot顶层Makefile分析_前期所做内容

目录 U-Boot顶层Makefile分析 版本号 MAKEFLAGS变量 命令输出 静默输出 设置编译结果输出目录 代码检查 模块编译 获取主机架构和系统 设置目标架构、交叉编译器和配置文件 调用scripts/Kbuild.include 交叉编译工具变量设置 导出其他变量 U-Boot顶层Makefile分析…

Kafka架构原理(三)

三、Kafka架构原理 3.1 整体架构图 一个典型的kafka集群中包含若干个Producer&#xff0c;若干个Broker&#xff0c;若干个Consumer&#xff0c;以及一个zookeeper集群&#xff1b; kafka通过zookeeper管理集群配置&#xff0c;选举leader&#xff0c;以及在Consumer Group发…

软件多语言文案脚本自动化方案

开发高效提速系列目录 软件多语言文案脚本自动化方案 软件多语言文案脚本自动化方案 背景目标整体方案1. 创建文案资源文件2. python脚本开发3. Python脚本执行与管理4. 人员职责分配 PyCharm使用说明1. PyCharm下载2. PyCharm安装配置3. 异常情况解决 总结 博客创建时间&…

中间件漏洞(一)CVE-2013-4547(文件名逻辑漏洞)

目录 1. 了解nginx的工作原理 2. 漏洞原理及举例分析 3. 前端php源码分析 4. 注入思路 5. 漏洞复现 5.1 上传文件并抓包分析 5.2 通过访问文件执行php 注意一点 6. 漏洞修复 1. 了解nginx的工作原理 nginx是以PHP语言为主。像Apache一样&#xff0c;Nginx自身是不支持解…