【转载】 传统PID算法解决不了的情况,应该怎么办?
原文地址:
http://www.51hei.com/bbs/dpj-152844-1.html
---------------------------------------------------------------------------
图 1: 在这个 '运行良好'的 过程控制示例中, 过程变量 (绿色) 在控制活动(红色) 中,或多或少的对步进过程做出响应。然后, 它以不断下降的速率提升速度,直至达到稳定状态值。在温度、压力和流量控制应用中, 一阶滞后过程尤其适用于 PID 控制。
PID的挑战
正如在图2中所描述的过程行为, 过程变量不会立即响应控制器的指令。它开始时并没有缓慢的向控制器期望的方向移动,直到控制器已经开始推动它很长时间后才开始移动。

图 2: 此过程表现的不是特别好,因为直到过了死区时间之后,过程变量 (绿色)才能在控制活动 (红色) 的作用之下发生改变。这通常发生在控制器对物料进行操作的应用中, 因为它通过执行器的移动抵达某个距离之外的传感器。这种死区时间主导过程的 PID 控制器必须具备足够的耐心或远见, 才能在最近的纠正努力到达期待值之前等待死区时间结束。
如果控制器的控制活动和过程开始响应之间的延迟或死区时间,并没有那么长时间,那么未经修改的PID控制器就可以调节过程,只是PID算法配置的动作速度要缓慢。但是, 如果死区时间特别长或应用程序需要较少等待, PID 控制器就需要额外增加智能控制。

图3中描述的过程行为是更棘手的情况。在这里, 过程运行在100%工况时,过程变量对控制器的控制行为做出更大的响应。相对于从0% 到50%所需付出的努力而言, 将过程变量从50% 到 100%所需要的控制力度要低得多。
图 3: 这个非线性过程推动了 PID 算法的极限。随着过程变量 (绿色) 的增加, 它对控制活动(红色) 的敏感度增加, 反之亦然。这可能会导致控制器在一个极端的情况下反应过激,而在其它工况下并不响应。过程灵敏度随着时间的推移而不可预测的变化, 将对 PID (或任何其它控制算法) 带来更大的挑战。
一个基本的PID控制器,很难调节这个过程, 主要是因为过程运行在最大负荷或运行过于保守时,它的控制活动往往太过激进。这个问题的经典解决方案就是所谓的 '增益调度',不需要为PID 算法添加任何额外的智能算法, 但它需要多个控制器,每个控制器仅在过程变量落在一定范围内时才激活。
具体地说,在过程变量接近100%时,保守的控制器接管控制,而在过程变量接近0%时,积极的控制器将接管控制。过程变量也可以划分为两个以上的范围, 每个区域都有自己的 PID 控制器, 以适应每个范围的过程行为。
另一方面, 如果与该例类似的非线性过程运行时,其过程变量如果只局限于某个狭窄的范围, 那么单一的传统 PID 控制器就足够了。在其它范围内,过程要么变得太敏感,要么变得太不敏感,但是控制器控制行为已经变得不太重要,因为进程永远不会到达那里。幸运的是,在工业应用中, 控制对象将过程变量维持在某个设定位置上,是一个相当常见的情况。
不适用PID的场合
虽然PID回路是这样的简单、普及和多用途, 但是仍有一些反馈控制问题需要替代解决方案。有时应用PID会用力过猛,例如,在烤箱内调节温度的开/关加热元件。只有当需要较高精度时, 才需要 PID 回路。比如在大多数家庭中使用的恒温控制器,如果温度下降过低时,只需打开加热器,或温度过高时关闭控制器,就可以维持大致恒定的温度。
另一种极端情况, 控制问题需要有比PID更智能化的解决方案, 如控制器必须提前计划约束控制, 以避免将控制活动或过程变量,调节到可接受的范围之外。对于多变量控制也需要高级规划, 控制器必须协调多个执行器的工作, 同时控制多个过程变量。
PID回路可以强制适用于这些应用中的任何一种,但更先进的、自定义设计的控制技术通常更具成本效益,至少在最初时是如此。但在通常情况下, 设计和实施这些技术的专家在项目结束后可能需要进行其它项目, 让非专家处理过程及其控制器。因此, 如果以后出现问题, 可能就没有足够的内部专家来解决这一难题。这种情况通常会导致高级控制器被 PID替代甚至完全被禁用, 尽管这样可能会导致性能下降。
然后,还有其它的控制问题, 即使不是不可能,也难以通过任何控制算法来解决。错误的传感器、尺寸过小的执行器、断开的连接等问题都必须在任何类型的反馈控制工作之前解决。
-------------------------------------------
【转载】 传统PID算法解决不了的情况,应该怎么办?的更多相关文章
- 自整定模糊PID算法的理论
模糊控制系统的构成与与常规的反馈控制系统的主要区别在于控制器主要是由模糊化,模糊推理机和精确化三个功能模块和知识库(包括数据库和规则库)构成的.具体实现过程如下所示: (1)预处理: 输入数据往往是通 ...
- PID算法通俗理解,平衡车,倒立摆,适合不理解PID算法的人来看!
先插句广告,本人QQ522414928,不熟悉PID算法的可以一起交流学习,随时在线(PID资料再我的另一篇博客里) 倒立摆资料连接↓ https://www.cnblogs.com/LiuXinyu ...
- 广告成本控制-PID算法
今天我们来聊聊广告成本控制中常用的PID算法. 0.PID算法简介 首先我们可以看下维基百科中给PID算法的定义:由比例单元(Proportional).积分单元(Integral)和微分单元(Der ...
- PID算法笔记2
总所周知,PID算法是个很经典的东西.而做自平衡小车,飞行器PID是一个必须翻过的坎.因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂.并举出PID的形象例子来帮助理解PID.一. ...
- Hash算法解决冲突的方法
https://blog.csdn.net/feinik/article/details/54974293 Hash算法解决冲突的方法一般有以下几种常用的解决方法1, 开放定址法:所谓的开放定址法就是 ...
- PID算法控制简单理解
1 传统的位式控制算法 用户期望值Sv(设定值)经控制算法输出一个输出信号OUT,输出信号加载到执行部件上(像MOS管等)对控制对象进行控制(步进电机.加热器等),控制对象的当前值(Pv)如速度通过传 ...
- PID控制算法的C语言实现一 PID算法原理
本系列是转载............. 全部的程序有一个共同点:就是我没认真去调pid的参数 在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设 ...
- hdu1533 Going Home km算法解决最小权完美匹配
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- PID算法 旋转倒立摆与平衡车的区别。此贴后边会更新。
我做PID算法的背景和经历:本人之前电子信息科学与技术专业,对控制方向颇感兴趣,刚上大学时听到实验室老师说PID算法,那年在暑假集训准备全国电子设计竞赛,我正在练习做一个以前专科的题目,帆板角度控制系 ...
- 分布估计算法解决TSP问题
分布估计算法解决旅行商问题(TSP) TSP问题(Traveling Salesman Problem,旅行商问题),由威廉哈密顿爵士和英国数学家克克曼T.P.Kirkman于19世纪初提出.问题描述 ...
随机推荐
- ssh练习
根据要求完成部署 根据如下要求,完成部署过程 1.恢复7.8.9.31.41所有机器的快照 7 8 9 web服务 nginx 172.16.1.xx nfs-31 提供共享文件存储 ...
- python重拾基础第三天
本节内容 函数基本语法及特性 参数与局部变量 返回值 嵌套函数 递归 匿名函数 函数式编程介绍 高阶函数 内置函数 1. 函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况 ...
- 海思SDK 学习 :000-海思HI35xx平台软件开发快速入门之背景知识
背景 参考自:<HiMPP V3.0 媒体处理软件开发参考.pdf> 由于在音视频处理领域,海思芯片占有全球市场的很大份额.当我们选择使用海思芯片开发时,程序开发模型主要是围绕HIMPP( ...
- STM32 CubeMX 学习:002-外部中断的使用
背景 上一讲 STM32 CubeMX 学习:GPIO的使用 介绍了如何配置以及操作GPIO引脚. 这一讲我们通过中断来控制按键.关于中断的概念不做介绍. HOST-OS : Windows-10 S ...
- python基础-内置函数
# callable() # 函数用于检查一个对象是否是可调用的.如果返回 True,object 仍然可能调用失败:但如果返回 False,调用对象 object 绝对不会成功. # 对于函数.方法 ...
- 全志科技T3国产工业评估板规格书(四核ARM Cortex-A7,主频1.2GHz)
1 评估板简介 创龙科技TLT3-EVM是一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz,由核心板和评估底板组成. 评估板接口资源丰富, ...
- SpringBoot实现RequestBodyAdvice和ResponseBodyAdvice接口
Spring Boot 提供了一种机制,允许开发者在请求体(RequestBody)和响应体(ResponseBody)被处理之前和之后执行自定义逻辑.这通过 RequestBodyAdvice 和 ...
- SpringCloud学习篇
什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生 ...
- 使用FastReport报表动态更新人员签名图片
在一些报表模块中,需要我们根据用户操作的名称,来动态根据人员姓名,更新报表的签名图片,也就是电子手写签名效果,本篇随笔介绍一下使用FastReport报表动态更新人员签名图片. 1.设计FastRep ...
- 妙趣横生:利用Echarts实现SpreadJS引用从属关系的可视化魅力
最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 在金融行业,我们经常会有审计审查的需求,对某个计算结果进行审查,但是这个计算结果可能依赖多个单 ...