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的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类 ...
随机推荐
- shell初学
超简单的一段shell代码,查看电脑属性,删除无效安装包,查看天气.FYI #!/bin/bash echo -e '\n' echo "Hello,`whoami`" echo ...
- Union、Union All、Except、InterSect的区别
UNION: 将多个「结果集 (result set)」的「行 (row)」合并,作为单个结果集返回,并移除重复的行.若有重复的行,只留下一个. UNION ALL: 将多个「结果集 (result ...
- 判断一个数是否为2的n次幂
参考:http://bbs.csdn.net/topics/370058619 如题,如何判断一个整数是否是2的N次方,我能想到的方法有两个 1.一直除2,看最后是否等于1.(最笨的方法) 2.转换成 ...
- 【转】ActiveMQ与虚拟通道
郑重提示,本文转载自http://shift-alt-ctrl.iteye.com/blog/2065436 ActiveMQ提供了虚拟通道的特性(Virtual Destination),它允许一个 ...
- 第三次冲刺spring会议(第五次会议)
[例会时间]2014/5/24 21:15 [例会地点]9#446 [例会形式]轮流发言 [例会主持]马翔 [例会记录]兰梦 小组成员:兰梦 ,马翔,李金吉,赵天,胡佳奇
- JavaScript的一些流行的框架
1.Underscore.js 扩展了很多原生js没有的方法,如集合 数组 对象 函数的一些基础和衍生方法,简单实用!2.Backbone.js 前段js代码的一个MVC框架,正在学习来着
- 解决没有X11/Xlib.h 的错误
1. 解决没有X11/Xlib.h 的错误Install XLib $sudo apt-get install libx11-dev 2. 提示错误:未找到软件源 解决办法很简单,更换另一个源就行了. ...
- CocoaPods安装、卸载、使用说明(Mac ox 10.11+)
一.全新安装前,先检查是否有安装残留 由于Mac 10.11更改了安全机制,所以cocoapods得安装和卸载命令也有所改变, 1.如果之前装过cocopods,最好先卸载掉,卸载命令: $ sudo ...
- android常用工具类
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn ...
- android配置文件详解
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...