PID控制原理和算法

闭环控制是根据控制对象输出反馈来进行校正的控制方式,它是在测量出实际与计划发生偏差时,按定额或标准来进行纠正的。比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上。提到闭环控制算法,不得不提PID,它是闭环控制算法中最简单的一种。PID是比例 (Proportion) 积分 ,(Integral) 微分 ,(Differential coefficient) 的缩写,分别代表了三种控制算法。通过这三个算法的组合可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。如下图所示为PID的流程。

其中r(t)表示给定输入值,c(t)表示实际输出值,e(t)表示信号偏差量,u(t)表示修正量。

1、比例(P)、积分(I)、微分(D)控制算法各有作用:

1)、比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;

2)、积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;

3)、微分,反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动

态性能。但是分对噪声干扰有放大作用,加强微分对系统抗干扰不利。

积分和微分都不能单独起作用,必须与比例控制配合。

参考资料:

[1]. PID控制最通俗的解释与PID参数的整定方法

[2]. PID控制算法

时间: 2024-10-16 06:59:04

PID控制原理和算法的相关文章

模糊PID控温算法的具体实现(一):参数自整定模糊PID算法概念

上个学期已经基本上实现了PID的温控算法,为了撰写小论文,这个学期最先要做的事情就是实现模糊PID的温控算法. 模糊控制系统的构成与与常规的反馈控制系统的主要区别在于控制器主要是由模糊化,模糊推理机和精确化三个功能模块和知识库(包括数据库和规则库)构成的.具体实现过程如下所示: (1)预处理: 输入数据往往是通过测量设备测量得到的一个具体数据,预处理就是在它们进入控制器前对这些数据进行分类,或性质程度的定义.预处理过程也是量化过程,它是在离散空间中把输入数据划分为若干个数字级别.例如,假设一个反

模糊PID控温算法的具体实现(二):MSP430F5438A怎么实现查表法

工程上要实现参数自整定模糊PID算法,最常采用的方法是查表法.具体实现方法是将不同的E(温度误差),EC(误差变化率)与 △Kp, △Ki , △Kd的规则制成一张表格存储在单片机内部.那么在每一采样得到的温度数据模糊化得到E和Ec后,便可以通过查表从而得到相应的△Kp,△Ki和△Kd了.这个表类似于下面的形式: 那么怎么在MSP430F5438A中插入这种类似的表呢,是插在Flash里面还是SRAM里面呢?

【转】RM论坛 控制技术 PID控制中的I与D

DJI RM论坛资料from:raymon DJI 第七课时 控制技术 PID控制中的I与D: 一.https://bbs.robomaster.com/thread-6194-1-1.html 二.https://bbs.robomaster.com/thread-6210-1-1.html 三.https://bbs.robomaster.com/thread-6212-1-1.html 以下为正文 一.第七课时 控制技术 PID控制中的I与D(一) PID控制算法是<RoboMaster机

PID控制器的数字实现及C语法讲解

PID控制器的数字实现及C语法讲解 概述 为方便学习与交流,根据自己的理解与经验写了这份教程,有错误之处请各位读者予以指出,具体包含以下三部分内容: (1)  PID数字化的推导过程(实质:微积分的近似计算): (2)  程序风格介绍(程序风格来源于TI官方案例): (3)  C有关语法简述(语法会结合实例进行讲解). PID控制器的数字化 PID控制器是工业过程控制中广泛采用的一种控制器,其中,P.I.D分别为比例(Proportion).积分(Integral).微分(Differentia

HDU 5253 Prim算法

http://acm.hdu.edu.cn/showproblem.php?pid=5253 Prim算法是 1.每次选出 (已经选出的)点集 能够连接 边权值最小的点 2.使用新找出的点能带来的新的更小的边权,来更新旧的较大的边权 3.重复,直到连接所有点 的贪心算法 使用优先权队列优化 查找 边权值最小的点 的步骤. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ios

HDU 1863 畅通工程【最小生成树,Prime算法+Kuruskal算法】

畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 25784    Accepted Submission(s): 11234 Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列

HDU 1874 畅通工程续(初涉dijkstra算法实现)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 dijkstra算法实现可参照此博客学习:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 44302 Acc

最长回文子串(Manacher算法)

回文字符串,想必大家不会不熟悉吧? 回文串会求的吧?暴力一遍O(n^2)很简单,但当字符长度很长时便会TLE,简单,hash+二分搞定,其复杂度约为O(nlogn), 而Manacher算法能够在线性的时间内处理出最长回文子串. 让我们来看道题:http://acm.hdu.edu.cn/showproblem.php?pid=3068 这个算法的巧妙之处,便是把奇数的回文串和偶数的回文串统一起来考虑了.这一点一直是在做回文串问题中时比较烦的地方.这个算法还有一个很好的地方就是充分利用了字符匹配

hdu 3068 Manacher算法 O(n)回文子串算法

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3068 关于算法的教程  推荐这个:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824    注意:我推荐的这篇博客里说的那个代码有bug,我觉得没问题,而是博主在用的时候写错了,博主举得反例我都过了 而且hdu 3068也过了 最开始是用的后缀数组,2000ms+ 果断超时............... 看过一遍很快就学会这个算法了:然后A