PID控制参数整定(调节方法)原理+图示+MATLAB调试

2023-05-16

首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性。

PID的作用概述:
1、P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。
2、I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。
3、D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。

同时调节的顺序是:P>I>D

 

下面了解的一个很重要的就是调节的目标,也就是最好的响应曲线是什么样子。

PID 调节目标:

1、衰减比在4-10之间最佳,也就是响应曲线的前两个峰值B:B1的比值在4-10之间。

2、稳态误差趋近于0

3、系统响应越快越好

一、P参数选取

tip:在第一步牢记P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。

如果想自己调试尝试可以打开matlab,运行simulink,照着下面的图进行连接,如果想直接应用可以直接往后看。

图中的系统为一个PID控制二阶系统。

         

 

拿上面的系统进行举例,首先设定P=0.1,I=0,D=0观察响应。可以看到图像没有超调,说明P产生的响应速度和力度太小了,                                        

 

P=1,I=0,D=0观察系统响应,超调量出现但是只有一个波形,同时也就意味着调节时间太慢了,继续加大P

                                     

 

P=10,I=0,D=0,此时调节时间显著下降,可以看到此时的数量级已经调整完成,也就是P参数只需要微调

                                     

 

P=100,I=0,D=0,系统开始变得振荡

                                     

 

如果继续加大P,系统会达到一个临界值,产生等幅振荡,最后开始发散。如下图所示:

                                                     

 

二、I的调节

tip:I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。

  I主要调节稳态输出,消除扰动。由于系统没有扰动输入因此看不到I对于消除扰动的效果。P=10,I=10,D=0,此时I过大导致系统振荡加剧。

                                   

 

  P=10,I=1,D=0,此时响应波形基本符合预期。观察稳态输出约为0.963左右。

                                   

                                  

 

 

  P=10,I=0.1,D=0,可以看到几乎响应波形没有变化。说明在没有扰动的情况下I只要不过大影响不大。但是稳态输出变化为0.916

                                   

                                  

 

 P=10,I=0,D=0,稳态输出变为0.91左右。

                                

 最终我们可以通过I少量调节稳态输出的值,最终将稳态误差消除。关于I对波形影响的作用总结如下图:

                                                         

三、D的调节

tip:D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。

P=10,I=0.1,D=10,可以看到将所有的冲击都消除掉了。

                         

P=10,I=0.1,D=1,消除冲击减弱,此时显然衰减比不符合要求

                         

P=10,I=0.1,D=1,此时基本符合要求。

                         

四、总结

  首先调节P的数量级达到一个只有2个左右明显峰值的波形,再调节I找到不会波形振荡也不会没有超调的的区间,在区间内找到一个I将稳态误差尽可能消除。最终使用D来控制衰减比和波形的峰值、超调量。最后根据要求的稳态值、调节时间、超调量、上升时间、峰值时间等指标进行微调达到目标。

最后可以总结成一个口诀 

参数整定找最佳,从小到大顺序查,
 先是比例后积分,最后再把微分加,
 曲线振荡很频繁,比例度盘要放大,
 曲线漂浮绕大湾,比例度盘往小扳,
 曲线偏离回复慢,积分时间往下降,
 曲线波动周期长,积分时间再加长, 
 曲线振荡频率快,先把微分降下来, 
 动差大来波动慢,微分时间应加长, 
 理想曲线两个波,前高后低4比1,
 一看二调多分析,调节质量不会低 。

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

PID控制参数整定(调节方法)原理+图示+MATLAB调试 的相关文章

  • Ubuntu上可使用的15个桌面环境

    Ubuntu上可使用的15个桌面环境 发布者 红黑魂 来自 Ubuntu之家 摘要 Linux下桌面环境很多 xff0c Ubuntu之家给大家总结了比较常用的15个桌面环境 xff0c 并附上Ubuntu 12 10 xff08 Linu
  • C语言数据类型

    数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作 数据类型包括原始类型 多元组 记录单元 代数数据类型 抽象数据类型 参考类型以及函数类型 本文主要以51单片机中的数据类型为中心而展开的话题 在keil C51或者ia
  • 《Cortex-M0权威指南》之Cortex-M0技术综述

    Cortex M0权威指南 之Cortex M0技术综述 转载请注明来源 xff1a cuixiaolei的技术博客 Cortex M0 处理器简介 1 Cortex M0 处理器基于冯诺依曼架构 xff08 单总线接口 xff09 xff
  • xos详解5:PendSV_Handler

    PendSV Handler PendSV Handler LDR R2 61 OSTcbCurr 不必关中断 嵌套中断发生时会自动保存 R0 R3 到 MSP 并恢复 LDR R0 R2 如果发生咬尾的多个 PendSV xff0c 上半
  • M0最高优先级的中断设计

    1 Reset 3 Highest Reset 绝大部分处理器设计时 xff0c 将复位中断放在最高优先级 一般来说这样设计是合理的 xff0c 个人认为在某些应用场景这样处理仍有局限性 2 NMI 2 Nonmaskable interr
  • 如何从零开始写一个操作系统?

    首页发现等你来答 登录加入知乎 如何从零开始写一个简单的操作系统 xff1f 关注问题 写回答 操作系统 编程学习 如何从零开始写一个简单的操作系统 xff1f 看了这个 xff1a 从零开始写一个简单的操作系统 求指教 关注者 4 787
  • 每次听到同事跳槽后的薪资,我就像打了鸡血一样

    本文总结了现阶段 34 大龄程序员 34 的职业生存状况 xff0c 内容包含职位需求量 xff0c 议价能力如何以及如何度过传说中的 34 中年危机 34 等等 xff0c 供大家参考 xff01 值此金 三 银四跳槽季 的开端 xff0
  • Lua性能优化—Lua内存优化

    原文链接https blog uwa4d com archives usparkle luaperformance html 这是侑虎科技第236篇原创文章 xff0c 感谢作者舒航供稿 xff0c 欢迎转发分享 xff0c 未经作者授权请
  • Jetson Xavier NX(emmc)烧录系统时可能遇到的问题(避坑)

    目录 Ununtu18虚拟机无法联网 当NX接上电源后 xff0c 指示灯没有亮 xff08 不工作 xff09 在登陆SDK时 xff0c 可能会出现卡在初始界面的情况 在烧录镜像时 xff0c 可能会卡在该处没有变化 Ununtu18虚
  • 互斥量、条件变量与pthread_cond_wait()函数的使用,详解(一)

    1 首先pthread cond wait 的定义是这样的 The pthread cond wait and pthread cond timedwait functions are used to block on a conditio
  • STAR法则写简历

    STAR 法则是在面试 xff0c 求职 xff0c 写简历时候的常用利器 虽然常用 xff0c 但是我想知道的人一定很少很少 xff0c 不然为什么那么多人面试的时候犯那么低级的错误呢 xff1f STAR法则无法帮你提高你的实力 xff
  • 论文发表为什么不可以一稿多投呢

    论文发表为什么不可以一稿多投呢 很多作者在担心投一家杂志会被拒稿 xff0c 就会选择一篇稿件投多家期刊的方法 xff0c 大家应该或多或少都听过不能一稿多投 xff0c 但具体原因是什么大家知道吗 一稿多投会有什么后果 一稿多投是自稿件发
  • ROS下视频消息发布与订阅

    https download csdn net download v7xyy 10869743 下下来后 1 发布视频消息 rosrun video transport tutorial video publisher xff08 节点 c
  • ros中标志位设计(4)

    由于需要涉及控制权的交接事件 xff0c 需要通过标志位的方式进行设计 首先需要自定一个标志位的信息在ros中用于标志位信息的发布 下面是用于标志位的头文件Flag h Generated by gencpp from file xx ms
  • 全球最贵域名Sex.com将再度出售

    金融时报消息称 xff0c Sex com域名曾位居全球最贵域名前例 xff0c 四年前 xff0c 它以1400万美元成交 xff0c 不过 xff0c 买下此域名的公司面临破产 xff0c 因此Sex com将再度拿来出售 Sex co
  • 微信消息推送消息加解密(golang)

    本篇介绍如何使用golang对微信消息推送进行加解密 xff0c 后续会补充 xff0c 目前先写个原理 xff0c 大概自己看一下 xff0c 其他的自己应该也能写 老套路 xff0c 分为三步 xff0c 为啥写 xff0c 教程 xf
  • C++数据可视化MathGL使用简示

    C 43 43 数据可视化 MathGL 使用指南 效果演示 搭建环境与依赖项 Windows10 64位 VS2017 Zlib1 2 11 xff08 已编译好的可用版本已集成在我后面的项目链接里 xff09 libpng1 6 37
  • 飞思卡尔智能车——舵机及PID控制

    本篇博客已迁移至 xff1a 飞思卡尔智能车 舵机及PID控制 请帮个忙 xff0c 去新地址访问 xff1a xff09 舵机 xff1a 小车转向的控制 机构 也就是控制小车的转向 它的特点是结构紧凑 易安装调试 控制简单 大扭力 成本
  • Github Actions + Docker实现HTML静态前端页面CICD部署

    使用 Github Actions 可以实现 CICD 自动构建部署 简单来说就是你只需要执行 git push 命令 xff0c 你服务器上的网页就可以自动部署更新 xff0c 无需你执行编译指令 前置环境 服务器一台 xff0c 我的是
  • Ubuntu显示“submodule(s) are missing“或“子模块未对路径注册“解决方案

    最近测试openMVG的三维重建效果 xff0c 于是在github下克隆openMVG的库 xff0c git clone过程成功进行 xff0c 但是在build文件夹下cmake的时候error occured 错误显示 34 sub

随机推荐

  • 互斥量、条件变量与pthread_cond_wait()函数的使用,详解(二)

    1 Linux 线程 进程与线程之间是有区别的 xff0c 不过Linux内核只提供了轻量进程的支持 xff0c 未实现线程模型 Linux是一种 多进程单线程 的操作系统 Linux本身只有进程的概念 xff0c 而其所谓的 线程 本质上
  • 网易视频云:流媒体服务器原理和架构解析

    网易视频云 是网易公司旗下的视频云服务产品 xff0c 以Paas服务模式 xff0c 向开发者提供音视频编解码SDK和开放API xff0c 助力APP接入音视频功能 今天 xff0c 网易视频云的技术专家给大家分享一篇流媒体技术性文章
  • MATLAB语言中int函数

    在MATLAB语言中 xff0c 求符号函数的定积分是使用int函数 xff0c 其调用格式如下 xff1a int F x a b a表示定积分的下限 xff1b b表示定积分的上限 xff1b 上式表示 xff0c 被积函数F在区间 a
  • matlab中的subs函数用法

    matlab中subs 是符号计算函数 xff0c 表示将符号表达式中的某些符号变量替换为指定的新的变量 xff0c 常用调用方式为 xff1a subs S OLD NEW 表示将符号表达式S中的符号变量OLD替换为新的值NEW 下面具体
  • Android配置临时ipv6地址

    Google公网DNS 2001 4860 4860 64642001 4860 4860 64 ifconfig wlan0 inet6 add IPV6ADDR ifconfig wlan0 inet6 add 2001 4860 48
  • MFC:pic控件的矩形的left、right、top、bottom 坐标位置

    CRect rect 然后 获取矩形控件 那么这个矩形控件的左上 和右下 分别对应 xff0c left xff0c top xff1b right xff0c bottom left xff0c top为左上角的点坐标 right xff
  • ubuntu下对sd卡 分区和格式化 挂载sd卡

    一 sd卡分区和格式化 1 查看自己的设备号 命令 xff1a mount 可以看到 最后一行即为sd卡的挂载目录 2 umount 由于sd卡插上之后会自动mount xff0c 所以需要unmout 命令 xff1a umount 路径
  • linux c 线程间同步(通信)的几种方法--互斥锁,条件变量,信号量,读写锁

    Linux下提供了多种方式来处理线程同步 xff0c 最常用的是互斥锁 条件变量 信号量和读写锁 下面是思维导图 xff1a 一 互斥锁 xff08 mutex xff09 锁机制是同一时刻只允许一个线程执行一个关键部分的代码 1 初始化锁
  • IMX头部详细解析之一 头部组成

    镜像组成 完整的imx镜像由以下四部分组成 xff1a Image Vector Table xff08 映像向量表 xff09 Boot Data xff08 启动数据 xff09 Device Configuration Data xf
  • IMX头部详细解析之二 头部生成工具

    前言 在之前的文章中 xff0c 介绍了imx的头部组成部分 xff0c 本文将介绍u boot如何通过mkimage工具构建imx的头部 正文 在imx6平台上进行裸机程序开发时 xff0c 通常需要添加imx头部信息 xff0c 才能使
  • Linux命令查询工具 O-LinuxCmd

    Linux命令查询工具 O linuxCmd 前言 一直以来 xff0c 遇到不熟悉的Linux命令都会直接百度 xff0c 找到一些命令查询网站再进行查询 xff0c 比如这个man linuxde net网站就很不错 虽然加入收藏夹就能
  • 嵌入式Linux利用ppp实现4G模块联网

    之前做项目时需要用到SIM7100模块 xff0c 便快速了解下ppp拨号 xff0c 实现了功能 xff0c 但是功能虽然实现了 xff0c 却依然有许多疑问 xff0c 这段时间有点时间 xff0c 打算更加详细的研究下 编译ppp2
  • O-ComTool V2.0.0串口调试工具

    O ComTool V2 1 0更新 xff0c 点击访问 O ComTool V2 0 0 简介 本次更新带来了 船新 的串口助手 xff0c 相较于V1 0 0版本 xff0c 代码重构 xff0c 添加了更多实用功能 xff0c 如
  • Marvell交换芯片88E6321/88E6320驱动总结-硬件篇

    芯片特性 Marvell 88E6321 88E6320 是一个7 Port千兆以太网交换芯片 支持最新的IEEEE802 1 Audio Video Bridging标准 芯片包含两个10 100 1000三速以太网收发器 xff08 P
  • Marvell交换芯片88E6321/88E6320驱动总结-寄存器篇

    由于我在项目中将该芯片作为PHY和SERDES使用 xff0c 因此本文内容主要还是围绕PHY和SERDES的相关功能 xff0c 至于其他功能则没有进行深入研究 工作模式 在之前的硬件篇中有提到 xff0c 该芯片有两种寻址模式 xff1
  • 更新 O-ComTool V2.1.0 串口调试助手

    FBI再次WARNING 测试时间较短 xff0c 有问题留言反馈哟 xff01 本次更新如下 实现更加人性化的暂停显示 上一版本中 xff0c 点击暂停显示时间过久 xff0c 就会出现卡顿的现象 xff0c 现在舍弃原来的方法 xff0
  • 什么是PN结

    FBI WARNING xff1a 本文是个人对PN结的理解 xff0c 若有错误 xff0c 望不吝赐教 xff0c 谢谢 xff01 二极管 三极管作为电路中的常见元件 xff0c 了解其工作原理是非常必要的 xff0c 但是在此之前
  • struct termios结构体详解

    一 数据成员 termios 函数族提供了一个常规的终端接口 xff0c 用于控制非同步通信端口 这个结构包含了至少下列成员 xff1a tcflag t c iflag 输入模式 tcflag t c oflag 输出模式 tcflag
  • PISSTV 树莓派慢扫描电视

    连接硬件 硬件 xff1a 树莓派 有驱动的摄像头 调试时需要usb wifi 配置树莓派 配置树莓派时要开启树莓派摄像头的支持 因为需要安装软件 xff0c 将树莓派连接到外网 测试摄像头拍照 使用raspistill命令进行拍照 ras
  • PID控制参数整定(调节方法)原理+图示+MATLAB调试

    序 首先最重要的是了解每个参数调节了系统响应的那些属性 xff0c 通过观察响应从而调节参数改变属性 PID的作用概述 xff1a 1 P产生响应速度和力度 xff0c 过小响应慢 xff0c 过大会产生振荡 xff0c 是I和D的基础 2