Pid控制算法-PID算法的离散化
来源:互联网 发布:wow60数据库 编辑:程序博客网 时间:2024/06/05 20:02
PID控制算法的C++语言实现
二 PID算法的离散化
上一节中,我论述了PID算法的基本形式,并对其控制过程的实现有了一个简要的说明,通过上一节的总结,基本已经可以明白PID控制的过程。这一节中先继续上一节内容补充说明一下。
1.说明一下反馈控制的原理,通过上一节的框图不难看出,PID控制其实是对偏差的控制过程;
2.如果偏差为0,则比例环节不起作用,只有存在偏差时,比例环节才起作用。
3.积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。
4.而微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信号的变化趋势来进行超前调节,从而增加了系统的快速性。
好了,关于PID的基本说明就补充到这里,下面将对PID连续系统离散化,从而方便在处理器上实现。下面把连续状态的公式再贴一下:
假设采样间隔为T,则在第K T时刻:
偏差err(K)=rin(K)-rout(K);
积分环节用加和的形式表示,即err(K)+err(K+1)+……;
微分环节用斜率的形式表示,即[err(K)-err(K-1)]/T;
从而形成如下PID离散表示形式:
则u(K)可表示成为:
至于说Kp、Ki、Kd三个参数的具体表达式,我想可以轻松的推出了,这里节省时间,不再详细表示了。
其实到这里为止,PID的基本离散表示形式已经出来了。目前的这种表述形式属于位置型PID,另外一种表述方式为增量式PID,由U上述表达式可以轻易得到:
那么:
这就是离散化PID的增量式表示方式,由公式可以看出,增量式的表达结果和最近三次的偏差有关,这样就大大提高了系统的稳定性。需要注意的是最终的输出结果应该为
u(K)+增量调节值;
PID的离散化过程基本思路就是这样,下面是将离散化的公式转换成为C语言,从而实现微控制器的控制作用。
- Pid控制算法-PID算法的离散化
- PID算法的C语言实现二 PID算法的离散化
- Pid控制算法-位置型pid算法的C++实现
- Pid控制算法-增量型pid算法的C++实现
- PID控制算法笔记
- 杂谈PID控制算法
- PID控制算法推算
- pid控制算法
- PID算法控制
- PID控制算法
- PID控制算法
- PID控制算法的C语言实现
- 模糊PID控制算法的C++实现
- PID控制算法的C语言实现
- Pid控制算法-专家PID与模糊PID的C++实现
- pid控制算法系列(2)pid控制算法
- pid控制算法系列(1)常用的控制算法
- 模糊pid算法控制速度
- 使用谷歌开源组件tesseract-OCR识别身份证,通过opencv处理图像后再进行识别(windows版本)
- 调用Child Package
- 字符集编码的发展
- MySQL添加用户、删除用户与授权
- Java 集合 6: WeakHashMap扩展知识1(原理与Reference相关)
- Pid控制算法-PID算法的离散化
- js选项卡
- Linux 一条 find 命令 在不同系统中的略微差别
- GBDT决策树集成学习残差预测和分类
- java基础之集合
- true,false,null 优先级 小记
- 第三十二讲项目 输出小星星
- SDOI2017Round1解题报告!
- SSIS package 更新 variable