PID控制学习笔记(一)
比例控制往往会存在稳态误差(该结论适用于0型对象)
由比例度的定义和意义,比例增益Kc越大,即直线的斜率越大,则,越快达到平衡,稳态误差越小,因此在保证系统相对稳定性一定的条件下,总是希望比例增益越大越好(具体理解可以参考郑辑光等编写的《过程控制系统》P100).
增大比例增益确实是一种减小稳态误差的方法,但是,这个对系统的要求比较高,比如完全线性,并且控制机构具有较快的响应速度,还要保持系统的稳定。
另外一种方法就是灵活调整直流分量,通过把曲线的上下移动来消除稳态误差(这句话说的很不专业,但是就是差不多这个样子的)。但是,一定的直流分量对于不同的设定值(或干扰大小)不能同时满足,也就是条件或者环境一变,就必须改变这个值,有些情况下这个值我们可以得到,但是对于一些未知的干扰怎么办呢?
为了解决这个问题,积分控制引入。

对比上面的两个公式,积分项实际上就是对直流分量
的一种自动“重置”,并且当稳态偏差e(t)逼近零后,积分项就逼近“理想”的直流分量。
一般在含有积分的PID控制器中,积分项消除静差在本质上就相当于积分项通过不断“试凑”,最终总能找到合适的
(除非系统不稳定)。
但是,如果出现了这样的情况:假设截至到同一当前时刻t,两过程的误差积分以及在t时刻的瞬时误差大小均相同,则PI控制器在t时刻只能给出完全相同的输出信号。如果一个的趋势是向下,一个是向上,这样显然就不合理了。
为此,引入了微分控制。
比例积分控制基于历史偏差以及当前偏差做出控制策略,如果再把误差的未来变化趋势引入控制器设计,或许会取得更好的控制效果。尤其针对如温度等大惯性对象,其输出变化趋势往往非常明显,通过对控制误差进行简单的求导,即可对其未来的误差进行比较准确的预估计,从而可实现基于未来有限时段的误差变化量的调节动作,即微分动作。
在稳态条件下,即使误差再大,单纯的微分环节也不会产生任何的调节作用。
PID控制学习笔记(一)的更多相关文章
- PID控制学习笔记(二)
不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...
- 某科学的PID算法学习笔记
最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...
- 专家PID控制仿真学习
目录 专家控制 专家系统 专家控制 学习笔记,用于记录学习 资料:<智能控制>(第四版)--刘金琨 专家系统 一.专家系统的定义 专家系统是一类包含知识和推理的智能计算机程序,其内部包含某 ...
- V-rep学习笔记:关节力矩控制
Torque or force mode When the joint motor is enabled and the control loop is disabled, then the join ...
- 播放一个视频并用滚动条控制进度-OpenCV应用学习笔记二
今天我们来做个有趣的程序实现:利用OpenCV读取本地文件夹的视频文件,并且在窗口中创建拖动控制条来显示并且控制视频文件的读取进度. 此程序调试花费了笔者近一天时间,其实大体程序都已经很快写出,结果执 ...
- Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用
一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见 function setTabVisableByName( ...
- Dynamic CRM 2013学习笔记(十八)根据主表状态用JS控制子表自定义按钮
有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules ...
- STM32学习笔记(二)——串口控制LED
开发板芯片:STM32F407ZGT6 PA9-USART1_TX,PA10-USART1_RX; PF9-LED0,PF10-LED1; 一.串口1配置过程(不使用串口中断): 1.使能时钟,包括G ...
- STM32学习笔记(四)——串口控制LED(中断方式)
目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类 ...
随机推荐
- react中文API解读二(教程)
记下自己的react学习之路 ,官方文档写的很详尽,学起来应该比较简单 官方文档地址:react.http://reactjs.cn/react/docs/getting-started.html 2 ...
- web.py 学习(-)Rocket web框架
Rocket是一个轻量级,多线程,符合WSGI规范的web框架. Rocket使用一个线程监听连接,接收到连接之后放到Queue中,有worker线程进行处理. Rocket含有以下属性: metho ...
- Xshell连接服务器密钥改成密码登录
密钥登陆 直接点本地shell打开之后直接ssh ip连接 需要centos用户登录,选择机器密钥. 登录后 sudo su - root 修改root密码 passwd root 修改文件 vi / ...
- linux中的守护进程
概念Daemon(精灵)进程,是Linux中的后台服务进程,生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.模型守护进程编程步骤1. 创建子进程,父进程退出所有工 ...
- 【code vs】 2780 ZZWYYQWZHZ
2780 ZZWYYQWZHZ 题目描述 Description 可爱的小管在玩吹泡泡.忽然,他想到了一种排序....... 输入描述 Input Description 第一行输入n,表示有n个数. ...
- 笨方法学python--读文件
1 raw_input()的另外用法 prompt = '> ' likes = raw_input(prompt) 提示符> 可以不用每次输入,要修改,只修改一个地方. 2 读取文件 t ...
- C++设计模式-Iterator迭代器模式
ref: http://www.cnblogs.com/onlycxue/archive/2013/12/25/3490738.html
- 《JavaScript高级程序设计》读书笔记 ---数据类型
ECMAScript 中有5 种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String和Object——复杂数据类型,Object 本质上是由一组 ...
- c语言-转义序列
字符组合是由反斜杠 (\) 后接字母或位组合构成的字符组合.若要显示换行符,单引号或某些其他字符在字符串末尾,必须使用转义序列. 转义序列被视为单个字符,因此,它是有效的字符常数. 转义序列通常用于指 ...
- php 项目简单分类
项目分为:客户需求和自行研发. 商城项目:------------------------商城分类:单商家:商家就是网站所有者.如京东.凡客. 多商家:如淘宝 网站所有者不是卖家. ...