PID参数 Ziegler-Nichols基于时域响应曲线的整定 反应曲线法

2023-05-16

PID控制器是工业过程控制中广泛采用的一种控制器,其中,P、I、D分别为比例(Proportion)、积分(Integral)、微分(Differential)的简写;将偏差的比例、积分和微分通过线性组合构成控制量,用该控制量对受控对象进行控制,称为PID算法 。

其传递关系为:

控制器的传递函数可写为:

差分方程为:

其中KP、KI、KD分别为比例系数、积分系数、微分系数。

比例系数KP :反应系统当前最基本的误差,系数大,可以加快调节,减小误差,但是过大的比例使系统稳定性下降,甚至造成系统的不稳定。

积分系数KI  :反应系统的累计误差,使系统消除稳态误差,提高无差度,只要有误差,积分调节就会起作用。

微分系数KD :反应系统误差的变化率,具有预见性,们可以预见偏差的变化趋势,产生超前的控制效果。因此可以改善系统的动态性能。但是微分对噪声有放大作用,会减弱系统的抗干扰性。

(一)PID控制器参数整定的方法有很多,概括起来主要有两大类:一是理论计算整定法,二是通过在线实验的工程整定法。

  1. 理论计算整定法

它主要是依据被控对象准确的数学模型,经过理论计算确定控制器参数。这种方法一般较难做到,同时,得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。

  2.工程整定法

它不需要得到过程模型,主要依赖工程经验,在控制系统的试验中直接进行参数整定。方法简单实用,计算简便且易于掌握,可以解决一般的实际问题,在工程实际中被广泛采用。PID控制器参数的工程整定法,主要有临界比例度法(又称稳定边界法)、反应曲线法和4:1衰减法。其共同点都是通过实验,然后按照工程经验公式对控制器参数进行整定。然而,无论采用哪一种方法整定所得到的控制参数,都需要在实际运行中进行最后的调整与完善。
2.1试凑法就是通过仿真或实际运行,观察系统对典型输入作用的响应曲线,根据各控制参数对系统的影响,反复调节试凑,直到满意为止,从而确定PID参数。
  参数整定找最佳,从小到大顺序查,
  先是比例后积分,最后再把微分加,
  曲线振荡很频繁,比例度盘要放大,
  曲线漂浮绕大湾,比例度盘往小扳,
  曲线偏离回复慢,积分时间往下降,
  曲线波动周期长,积分时间再加长,
  曲线振荡频率快,先把微分降下来,
  动差大来波动慢,微分时间应加长,
  理想曲线两个波,前高后低四比一,
  一看二调多分析,调节质量不会低


2.2 Ziegler-Nichols方法 已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。
Ziegler-Nichols基于时域响应曲线的整定
      1反应曲线法:用阶跃响应曲线来整定控制器的参数。
设想对被控对象(开环系统)施加一个阶跃信号,通过实验方法,测出其响应信号,根据这条阶跃响应曲线定出一些能反映控制对象动态特性的参数。如图所示,以曲线的拐点作一条切线得到三个参数:K是控制对象的增益,L是等效滞后时间,T是等效滞后时间常数。则输出信号可由图中的形状近似确定参数K,L和T(或α) ,其中 。如果获得了参数K,L和T(或α) 后,则可根据表A-1确定PID控制器的有关参数。

    2稳定边界法:用系统的等幅振荡曲线来整定控制器的参数。

先测出系统处于闭环状态下的对象的等幅振荡曲线,根据等幅振荡曲线定出一些能反映控制对象动态特性的参数。设系统为只有比例控制的闭环系统,则当KP增大时,闭环系统若能产生等幅振荡,如测出其振幅kp'和振荡周期p',然后由表A-2整定PID参数。

上述二法亦适用于系统模型已知的系统。但是此二法在应用中也有约束,因为许多系统并不与上述系统匹配,例如第一法无法应于开环传递中含积分项的系统,第二法就无法直接应用于二阶系统。如就无法利用Ziegler-Nichols法进行整定。

Ziegler-Nichols基于频域法的整定

如果实验数据是由频率响应得到的,则可先画出其对应的Nyquist图,从图中可以容易得到系统的剪切频率 与系统的极限增益 ,若令 ,同样我们从表3-3给出的经验公式可以得到PID控制器对应的参数。事实上,此法即时域法的第二法。

(二)选用Ziegler-Nichols基于时域响应曲线的整定反应曲线法
已知受控对象为传递函数 
传递函数在阶跃信号激励下测出其响应信号,根据这条阶跃响应曲线定出一些能反映控制对象动态特性的参数。如图 4所示,以曲线的拐点作一条切线得到三个参数

图 4开环阶跃响应曲线确定PID 参数

由图可知,取L=0.6 T=3.186 k =0.8000。于读图存在误差,因此参数仍需整定。已知对象的K、L 和T 值后,根据Ziegler — Nichols整定公式编写一个MATLAB函数

clc;clear

s=tf('s');clc;clear;

 num=[8];

den=conv([1 5],conv([1 2],[2 1]));

 G=tf(num,den)

 step(G,15);;hold on

 k=dcgain(num,den)

 L=0.6; T=3.186 ;K =0.8;

 a=K*L/T

PIDKp=1.2*T/(K*L); 

PIDTi=2*L;

PIDTd=0.5*L;

PIDG=PIDKp*(1+1/(PIDTi*s)+PIDTd*s)

step(feedback(PIDG*G,1)),hold on     

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PID参数 Ziegler-Nichols基于时域响应曲线的整定 反应曲线法 的相关文章

  • MathType7新版本数学公式编辑器上线功能特性

    许多论文或文献中含有大量较复杂的公式或者符号 xff0c 为了使文章中的公式符号更加规范 美观 xff0c 现在很多人选用MathType软件来编辑公式 MathType具有非常强大的公式编辑能力 xff0c 和我们常用的Office软件结
  • LDO:低压差线性稳压芯片

    LDO LDO即low dropout regulator xff0c 是一种 低压差 线性稳压器 这是相对于传统的线性稳压器来说的 传统的线性稳压器 xff0c 如78XX系列的芯片都要求输入电压要比输出电压至少高出2V 3V xff0c
  • git使用gitee 仓库教程详细

    1 先再本地创建 一个git 仓 先创建一个文件夹 在文件夹内运行git 执行git init 命令生成git 仓库 生成git 仓库之后 创建一个想要上传到云库的文件 xff0c 然后通过 git add 添加所有文件命令 添加跟踪 也叫
  • realsenseD435i运行vins-mono

    目录 写在前面准备编译vins mono 修改launch realsense vins mono 运行参考完 写在前面 1 本文内容 realsenseD435i运行vins mono 2 平台 ubuntu1804 ros melodi
  • Hive源码阅读--SQL的语法解析和语义分析--Driver

    前面五个类 xff0c 殊途同归都是CliDriver类 xff0c 他负责接受用户在命令行上输入的信息 xff0c 然后准备执行并将执行的结果返回 而真正底层干事情的是Driver xff0c 他将接受到的命令编译 xff0c 优化为MR
  • C语言字符串结束符“\0”

    C语言字符串结束符 0
  • STM32 PCB设计

    看了自己2018年2月画的PCB和现在2019年7月画的PCB xff0c 不多说了 不多说了 不多说了上图 96 2018年2月 96 2019年7月 大家可以明显看到第一块板子简直就是惨不忍睹 说几点PCB设计注意事项和自己的感想 xf
  • Java 调用第三方接口方法

    Java 调用第三方接口方法 一 通过JDK网络类Java net HttpURLConnection 1 java net包下的原生java api提供的http请求 使用步骤 xff1a 1 通过统一资源定位器 xff08 java n
  • docker基本命令及使用实例

    docker基本命令 特别鸣谢 xff1a B站up主 狂神说java的视频 xff0c 让我能短时间了解docker docker文件系统 docker镜像为分层设计 xff0c 相比于全量的虚拟机镜像 xff0c 少了引导程序bootf
  • ubantu 系统分区介绍

    假设分区有40个G 1 500M引导分区 2 10个G的swap分区 swap是一个内存交换空间 xff0c 当内存溢出 xff0c 或者计算机打算休眠的时候 会将数据存在swap分区中 在windows系统中是三个文件 swap的大小通常
  • H3C交换机常用命令(初学)

    一 显示交换机当前的一些配置信息 1 display current configuration 显示当前的一些配置信息 xff0c 如vlan xff0c 端口详细信息 2 display saved configuration 显示下次
  • Linux下的Tcp通信项目范例【demo】

    一 适合阅读对象 2 4个月的初学者 C语言编程方向 xff09 二 项目内容 xff1a 设计一个可以符合多用户进行线上查阅乐器的商城 xff0c 要求可以多个用户查看 xff0c 管理员可随时修改内容 xff0c 普通用户仅可查看 xf
  • 平衡小车之陀螺仪调参

    一 平衡小车 平衡小车作为控制进阶 xff0c 成为每个学习PID控制算法者的必经之路 xff0c 可难可易 xff0c 找到方法则非常容易 xff0c 找不到方法可能盲调数天也没有收获 要让小车平衡 xff0c 我认为需要掌握的技能有几点
  • 常用的字符函数和字符串函数

    一 分类 求字符串长度 xff1a strlen长度不受限制的字符串函数 xff1a strcpy strcat strcmp长度受限制的字符串函数 xff1a strncpy strncat strncmp字符串查找 xff1a strs
  • 成功解决Command "python setup.py egg_info" failed with error code 1 in C:\Users\AppData\

    成功解决Command amp quot python setup py egg info amp quot failed with error code 1 in C Users AppData 目录 解决问题 解决方法 解决问题 Com
  • 解决JetPack4.2 自制载板无法开机

    使用下面方法会导致无法连接显示器 xff01 xff01 xff01 1 源码下载 https developer nvidia com embedded downloads 选择 L4T Sources 下载 L4T JAX and TX
  • Android开发技巧 (五) —— Lambda表达式

    Lambda表达式本质是一种匿名方法 xff0c 它既没有方法名 xff0c 也没有访问修饰符和返回值类型 xff0c 用它来写代码更简洁 xff0c 更易懂 Lambda是Java8的新特性 xff0c 所以要在app build gar
  • 树莓派4B安装ubuntu mate20 +putty和vncsever远程登录+安装ROS

    新买了树莓派4B xff0c 安装环境费了好大功夫 xff0c 终于找到一套可以用的方案 xff0c 记录一下 基本 xff1a 树莓派4B一块64G内存卡电源 显示器 鼠标 键盘 安装系统和换软件源 参考树莓派4B安装Ubuntu Mat
  • jsp医疗辅助诊断管理系统servlet开发mysql数据库web结构java编程计算机网页项目

    一 源码特点 JSP医疗辅助诊断管理系统是一套完善的java web信息管理系统 xff0c 对理解JSP java编程开发语言有帮助serlvet 43 dao 43 bean 模式开发 xff0c 系统具有完整的源代码和数据库 xff0
  • MATLAB2019a中文设置的一些说明

    MATLAB2019a中文设置的一些说明 问题 xff1a 今天打开matlab发现是英文的 xff0c 想要修改成中文 网上方法 xff1a preferences xff08 预设项 xff09 General xff08 常规 xff

随机推荐

  • ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够的解决办法

    关于错误 xff1a ERROR Could not install packages due to an OSError Errno 13 Permission denied 39 usr local label cn txt 39 Co
  • 每天进步一点点(一)

    1 说一下sram xff0c flash memory xff0c 及dram的区别 xff1f sram xff1a 静态随机存储 这里的静态是指这种存储器只需要保持通电 xff0c 里面的数据就可以永远保持 但是当断电之后 xff0c
  • GPS载频信号简述(L1、L2、L3、L5)

    L1 1575 42 1 023MHzL2 1227 60 1 023MHz L3 用途和频率暂未公开 资料显示其用于发现核爆炸或其他高能量红外辐射事件的核爆炸侦察系统 NDS 平台提供通讯联系 L5 1176 45 1 023MHz xf
  • Ajax详解及使用Ajax时的返回值类型有哪些?

    Ajax详解 Ajax 61 异步 JavaScript 和 XML Ajax 是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据交换 xff0c Ajax 可以使网页实现异步更新 这意味着可以在不重新加载整个网页的情况下 x
  • ubuntu20.04双系统分区

    一 分四个区 xff0c 记录下 主分区和逻辑分区目前感觉没啥影响 但是有的电脑可能数量会有限制 boot引导分区 500M 交换分区 xff0c 16G及以下与内存大小一致 根目录 xff0c 如果要安装cuda之类的尽量50G以上吧 其
  • Vins-Fusion运行kitti,euroc和tum数据集并使用evo评估

    基于ubuntu18 04 VIns Fusion 1 修改程序输出位姿信息修改为TUM格式 为了方便评估 xff0c 先将程序的输出位姿信息修改为tum格式 xff0c 需要做如下改动 1 1 回环输出位姿文件pose graph cpp
  • JETSON ORIN NX 烧录系统镜像

    所需环境 xff1a Ubuntu 操作系统 本方法适用于SDKManager 找不到套件的情况 xff01 解决方法如下 xff1a 进入NVIDIA官网 xff08 Jetson Linux 35 2 1 NVIDIA Develope
  • 解决Komodo上自带D435可以打开而外接D435i打不开的原因

    解决Komodo上自带D435可以打开而外接D435i打不开的原因 因为Komodo上装的realsense SDK 和realsense ros版本不对应以及版本太低的原因 xff0c 所以各种问题 按照realsense和realsen
  • C++泛型编程,标准模板库(STL)

    C 43 43 的特点就是添加了面向对象和泛型 面向对象是用类实现的 xff0c 泛型是用模板实现的 xff0c C 43 43 的标准模板库 STL 是泛型一个实例 xff0c 已经被集成到C 43 43 xff0c STL是一些常用的数
  • [工程编写]CMakeLists.txt 如何编写

    最近开始写一些SLAM工程 xff0c 所以对涉及到的内容做一些整理 xff0c 那么要做的第一件事情就是编写一个CMakeLists txt 本文那任乾大佬在知乎关于雷达自动驾驶SLAM的工程距离 1 信息指定 cmake版本确定 xff
  • 在执行 pip install 时遇到错误: ERROR: Complete output from command python setup.py egg_info:

    在执行 pip install 时遇到错误 xff1a pip install U docker compose ERROR Complete output from command python setup py egg info ERR
  • 树莓派登录问题

    在使用树莓派的过程中 xff0c 多次遇到了开机后输入正确密码却被重复多次要求输入的情况 xff0c 在查看他人经验后 xff0c 总结出以下两种情况及可行的方法 不确定密码是否正确 参考博客 纸末 树莓派忘记密码的解决方法 1 xff0c
  • 什么是SDK和API?

    SDK xff1a 在搭建环境的时候知道的sdk xff0c 但并不知道有什么用 SDK Software Development Kit 翻译成中文就是 34 软体开发工具组 34 是用来帮一个 产品 或 平台 开发应用程式的工具组 xf
  • 华为开发者大会总结——个人总结

    方舟编译器 xff08 开源 xff09 xff1a 干掉Java虚拟机 将java代码直接编译成机器码 xff0c 静态语义好编译 xff0c 核心是静态编译出动态语义 xff08 通过华为编译实验室的核心专利 xff09 xff0c 代
  • LoRa关键参数 1、扩频因子(SF) 2、编码率(CR) 3、信号带宽(BW) 4、LoRa信号带宽BW、符号速率Rs和数据速率DR的关系 5、

    LoRa 学习 xff1a LoRa 关键参数 xff08 扩频因子 xff0c 编码率 xff0c 带宽 xff09 的设定及解释 1 扩频因子 xff08 SF xff09 2 编码率 xff08 CR xff09 3 信号带宽 xff
  • MarkDown的语法

    使用MarkDoown时应该注意些什么呢 目录 一 添加标题 二 引用代码块 三 嵌入图片 1 本地图片 2 互联网图片 四 快捷键使用 五 分界线的使用 一 添加标题 在文字前加入相应数量的 一级标题 二级标题 三级标题 四级标题 五级标
  • python试爬李毅吧贴子标题,爬虫最初级

    注 xff1a 以下所有python代码均运行于2 7 0 最近想抓点数据存起来 xff0c 开始捣鼓python 爬虫技术以前没接触过 xff0c 这一回就当练手 xff0c 从零开始 xff0c 从最原始的方式开始 先定个小目标 xff
  • Activity的生命周期

    图来自百度百科 onCreate 启动activity时被调用 xff0c 用于进行初始化操作 xff08 加载布局 绑定事件等 xff09 xff0c 不应在onCreate 中做过多的不必要操作 xff0c 避免造成打开activity
  • Activity的启动模式

    以下为读书笔记 xff1a 实际项目中 xff0c 我们要通过特定的需求 xff0c 为每个活动指定恰当的启动模式 Android一共有4种启动模式 xff1a standard singleTop singleTask singleIns
  • PID参数 Ziegler-Nichols基于时域响应曲线的整定 反应曲线法

    PID控制器是工业过程控制中广泛采用的一种控制器 xff0c 其中 xff0c P I D分别为比例 xff08 Proportion xff09 积分 xff08 Integral xff09 微分 xff08 Differential