文档章节

手把手教你看懂并理解Arduino PID控制库——设定值突然改变

欧阳天华
 欧阳天华
发布于 2017/01/19 08:43
字数 512
阅读 900
收藏 1

引子

本文将分析《手把手教你看懂并理解Arduino PID控制库》中:设定值的突然改变,如何避免输出突变。

问题定义

首先先看一下上述问题的图示说明:

假设PID控制的输出的限制是255,如果按照PID经典公式计算,PID控制器不知道其输出的极限值是255,由于设定值较大,那么输出会一直增长,超过255,达到300/400或者更高。此时,突然降低设定值到一个较低的位置(比被控量更小),那么,由于积分项的作用,输出会需要一定的时间才会渐渐过度到极限值以下,然后再慢慢降到所需的设定值。从图中看,就是绿色线条的Lag,这个 是我们不希望看到的。

解决方案

有多种手段可以减小上述问题的影响。

最简单的方式:告诉PID软件输出限制是什么,一旦达到了限制,PID参数将不再累加(积分),注意这里不是“生硬”的将输出限制在极限值,而是到达极限值后,要关闭积分项的继续累加,否则一旦PID恢复,积分项超限部分仍会进入控制流程,影响输出。至于微分项,在时间上仅和上一次的被控量值存在关联,所以影响是微乎其微的。

从图中看出:

一旦积分项控制住了,输出值则会被限制在一个合理的范围中,就算超限,也不会过大。而被控量在设定值降到合理范围后,也不会存在时间上的较大滞后。

NOTE:如有不足之处请告知‘

下一章节将分析PID开启和关闭对系统的影响^.^

NEXT

PS:转载请注明出处:欧阳天华

© 著作权归作者所有

欧阳天华
粉丝 11
博文 9
码字总数 9812
作品 0
松江
程序员
私信 提问
手把手教你看懂并理解Arduino PID控制库——引子

介绍 本文主要依托于Brett Beauregard大神针对Arduino平台撰写的PID控制库Arduino PID Library及其对应的帮助博客Improving the Beginner’s PID。在没有Brett Beauregard帮助之前,也尝试过...

欧阳天华
2016/12/21
9.2K
3
手把手教你看懂并理解Arduino PID控制库——微分冲击

引子 本文将分析《手把手教你看懂并理解Arduino PID控制库》中第二个问题:设定值改变对微分项的影响。语文不好,原文中叫做Derivative Kick,实在是想不出好的名字,暂且称为微分冲击。 问题...

欧阳天华
2016/12/21
1K
1
手把手教你看懂并理解Arduino PID控制库——采样时间

引子 在《手把手教你看懂并理解Arduino PID控制库》中已经简单介绍过Brett Beauregard大神所提供的ArduinoPID控制库,此库不仅仅可以在Arduino使用,稍作简单的修改即可移植到别的平台。那么...

欧阳天华
2016/12/21
3.2K
1
手把手教你做智能LED灯(二) 硬件端的开发

第2节 硬件端的开发 现在,我们开始实现智能LED灯硬件相关部分的设计。 2.1 硬件连接 选择了Arduino MEGA 、HC-06蓝牙模块、LED灯模块和三引脚按钮开关以后,我们就需要把它们组合起来,为我...

anddlecn
2016/09/13
0
0
中国证监会原副主席高西庆再谈区块链:为什么有人恐惧区块链?因为他们的权威没了

要点整理: “今天世界上的金融机构吸引了整个社会上最聪明的、最能干的、最勤奋的、最有学习能力的人,这个事情是有问题的。” 高西庆:区块链是非常好的事情,挡不住的。 高西庆:“我们在...

三言财经
2018/02/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
19分钟前
2
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
今天
5
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
今天
4
0
webpack插件html-webpack-plugin

本文转载于:专业的前端网站→webpack插件html-webpack-plugin 1、插件安装 npm install html-webpack-plugin --save-dev 2、插件使用 webpack.config.js配置文件为: var htmlWebpackPlugin=...

前端老手
今天
6
0
数据挖掘

zhengchen1996
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部