目录

PID控制——Simulink模型篇

序言

PID控制器的设计

PID控制——控制函数解析篇

1、问:什么是PID

2:问:PID三项的作用

3:总结一下PID

4:聊聊PID公式

5:详谈 比例、积分、微分 三个环节的作用

6:举个例子

6:Kp、Ki、Kd

7:PID的标定


PID控制——Simulink模型篇

序言

当今的自动控制技术都是基于反馈的概念;(控制理论的基石——反馈)反馈理论的要素包

括三个部分:测量、比较和执行。其中,测量关心的变量,与期望值相比较,用这个误差纠正、调

节控制系统的响应。它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数

(Kp, Ki、Kd)即可。

虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时

间变化的系统,这样PID就可控制了;PID参数较易整定(即:PID参数Kp, Ki、Kd可以根据过程

的动态特性及时整定)


PID控制器的设计

1:PID控制原理图

2:PID控制器传递函数的一般表达式(Simulink)

其中:Kp为比例增益;Ki为积分增益;Kd为微分增益

调整PID参数,以满足系统要求,从而使被控对象有更优良的动态、静态相应

比例环节:根据偏差量成比例的调节系统控制量,以此产生控制作用,减少偏差
        作用:增加系统响应的速度
        比例系数越大,系统响应越快,但系统容易产生超调
        比例系数过小,会影响系统调节的精度,系统响应时间变长,系统的动态响应变差

积分环节:用于消除静差,提高系统的无差度
        积分时间常数决定着积分环节作用的强度
        但是积分作用过强的话会影响系统的稳定性

微分环节:根据偏差量的变化趋势来调节系统控制量
        在偏差信号发生较大变化之前,提早引入一个校正信号
        作用:加快系统动作速度,减少调节时间的作用
        调节微分参数需要注意微分作用太强可能会引起系统振荡

SUM:
P——比例控制系统的响应快速性,快速作用于输出,好比"现在"
(现在就起作用,快)
I——积分控制系统的准确性,消除过去的累积误差,好比"过去"
(清除过去积怨,回到准确轨道)
D——微分控制系统的稳定性,具有超前控制作用,好比"未来"
(放眼未来,未雨绸缪,稳定才能发展)


PID系统仿真

1:控制对象为传递函数

2:用Simulink建立由PID控制器组成的系统仿真模型如下图所示

其中:比例增益Kp取值0.04;积分增益取值0.005;微分增益取值1.2;选用的输入是单位阶跃信号




PID控制——控制函数解析篇

1、问:什么是PID

PID:就是 “比例(Proportional)、积分(Integral)、微分(Derivative)”;是一种常见的

“保持稳定”的控制算法;从信号变换的角度而言,超前校正(Now)、滞后校正(Past)、滞后-

超前校正(Future)可以总结为比例、积分、微分三种运算及其组合。

2:问:PID三项的作用

对P:

增大比例系数P将加快系统的响应,它的作用是输出值较快,但不能很好稳定在一个理想的数;

不良的结果是虽较能有效的克服扰动的影响,但有余差出现,过大的比例系数会使系统有比较大的

超调,并产生振荡,使稳定性变坏。

对I:

积分能在比例的基础上消除余差,它能对稳定后有累积误差的系统进行误差修整,减小稳态误差。

对D:

微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况

下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态

误差减小。

3:总结一下PID

P—比例控制系统的响应快速性,快速作用于输出,好比"现在"
(现在就起作用,快)

I—积分控制系统的准确性,消除过去的累积误差,好比"过去"
(清除过去积怨,回到准确轨道)

D—微分控制系统的稳定性,具有超前控制作用,好比"未来"
(放眼未来,未雨绸缪,稳定才能发展)

(当然这个结论也不可一概而论)

4:聊聊PID公式

其中:

Kp:比例增益,调适参数

Ki:积分增益,调适参数

Kd:微分增益,调适参数

e:误差=设定值(SP)- 回授值(PV)

t:当前时间

5:详谈 比例、积分、微分 三个环节的作用

比例环节 :

成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏

差。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。P参数越大比例作用越强,

动态响应越快,消除误差的能力越强。但实际系统是有惯性的,控制输出变化后,实际y(t)值变化

还需等待一段时间才会缓慢变化。由于实际系统是有惯性的,比例作用不宜太强,比例作用太强会

引起系统振荡不稳定。

P参数的大小应在以上定量计算的基础上根据系统响应情况,现场调试决定,通常将P参数由

大向小调,以能达到最快响应又无超调(或无大的超调)为最佳参数。

优点:调整系统的开环比例系数,提高系统的稳态精度,减低系统的惰性,加快响应速度。

缺点:仅用P控制器,过大的开环比例系数不仅会使系统的超调量增大,而且会使系统稳定裕度变

小,甚至不稳定。


积分环节

控制器的输出与输入误差信号的积分成正比关系。主要用于消除静差,提高系统的无差度。

积分作用的强弱取决于积分时间常数T,T越大,积分作用越弱,反之则越强。

  为什么要引进积分作用?

比例作用的输出与误差的大小成正比,误差越大,输出越大,误差越小,输出越小,误差为

零,输出为零。由于没有误差时输出为零,因此比例调节不可能完全消除误差,不可能使被控的

PV值达到给定值。必须存在一个稳定的误差,以维持一个稳定的输出,才能使系统的PV值保持稳

定。这就是通常所说的比例作用是有差调节,是有静差的,加强比例作用只能减少静差,不能消除

静差(静差:即静态误差,也称稳态误差)。

为了消除静差必须引入积分作用,积分作用可以消除静差,以使被控的y(t)值最后与给定值一

致。引进积分作用的目的也就是为了消除静差,使y(t)值达到给定值,并保持一致。

积分作用消除静差的原理是,只要有误差存在,就对误差进行积分,使输出继续增大或减

小,一直到误差为零,积分停止,输出不再变化,系统的PV值保持稳定,y(t)值等于u(t)值,达到

无差调节的效果。但由于实际系统是有惯性的,输出变化后,y(t)值不会马上变化,须等待一段时

间才缓慢变化,因此积分的快慢必须与实际系统的惯性相匹配,惯性大、积分作用就应该弱,积分

时间I就应该大些,反之而然。如果积分作用太强,积分输出变化过快,就会引起积分过头的现

象,产生积分超调和振荡。通常I参数也是由大往小调,即积分作用由小往大调,观察系统响应以

能达到快速消除误差,达到给定值,又不引起振荡为准。

对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的

或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积

分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很

小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等

于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。PI控制器不但保持了

积分控制器消除稳态误差的“记忆功能”,而且克服了单独使用积分控制消除误差时反应不灵敏的缺

点。

优点:消除稳态误差。
  
缺点:积分控制器的加入会影响系统的稳定性,使系统的稳定裕度减小。


微分环节

反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修

正信号,从而加快系统的动作速度,减少调节时间。在微分控制中,控制器的输出与输入误差信号

的微分(即误差的变化率)成正比关系。

为什么要引进微分作用?

前面已经分析过,不论比例调节作用,还是积分调节作用都是建立在产生误差后才进行调节

以消除误差,都是事后调节,因此这种调节对稳态来说是无差的,对动态来说肯定是有差的,因为

对于负载变化或给定值变化所产生的扰动,必须等待产生误差以后,然后再来慢慢调节予以消除。

但一般的控制系统,不仅对稳定控制有要求,而且对动态指标也有要求,通常都要求负载变

化或给定调整等引起扰动后,恢复到稳态的速度要快,因此光有比例和积分调节作用还不能完全满

足要求,必须引入微分作用。

比例作用和积分作用是事后调节(即发生误差后才进行调节),而微分作用则是事前预防控制,

即一发现y(t)有变大或变小的趋势,马上就输出一个阻止其变化的控制信号,以防止出现过冲或超

调等。D越大,微分作用越强,D越小,微分作用越弱。系统调试时通常把D从小往大调,具体参

数由试验决定。

如:由于给定值调整或负载扰动引起y(t)变化,比例作用和微分作用一定等到y(t)值变化后才进

行调节,并且误差小时,产生的比例和积分调节作用也小,纠正误差的能力也小,误差大时,产生

的比例和积分作用才增大。因为是事后调节动态指标不会很理想。而微分作用可以在产生误差之前

一发现有产生误差的趋势就开始调节,是提前控制,所以及时性更好,可以最大限度地减少动态误

差,使整体效果更好。但微分作用只能作为比例和积分控制的一种补充,不能起主导作用,微分作

用不能太强,太强也会引起系统不稳定,产生振荡,微分作用只能在P和I调好后再由小往大调,一

点一点试着加上去。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大

惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。

解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是

零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而

目前需要增加的是“微分项”,它能预测误差变化的趋势。这样,具有比例+微分的控制器,就能够

提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯

性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。PD控制只在动

态过程中才起作用,对恒定稳态情况起阻断作用。因此,微分控制在任何情况下都不能单独使用。

优点:使系统的响应速度变快,超调减小,振荡减轻,对动态过程有“预测”作用。


SUM:

在低频段,主要是PI控制规律起作用,提高系统型别,消除或减少稳态误差;

在中高频段主要是PD规律起作用,增大截止频率和相角裕度,提高响应速度;

因此,控制器可以全面地提高系统的控制性能。


6:举个例子

例如,使用控制器使一锅水的温度保持在50℃,小于50℃就让它加热,大于50度就断电,不

就行了?没错,在要求不高的情况下,确实可以这么干。如果如果控制对象是一辆汽车呢?要是希

望汽车的车速保持在50km/h不动,这种方法就存在问题了。

设想一下,假如汽车的定速巡航ECU在某一时刻测到车速是45km/h,它立刻命令发动机:加

速!结果,发动机那边突然来了个100%全油门,嗡的一下汽车急加速到了60km/h,这时电脑又发

出命令:刹车!结果,乘客吐......

所以,在大多数场合中,用“开关量”来控制一个物理量就显得比较简单粗暴了,有时候是无法

保持稳定的,因为单片机、传感器不是无限快的,采集、控制需要时间。而且,控制对象具有惯

性,比如将热水控制器拔掉,它的“余热”(即热惯性)可能还会使水温继续升高一小会。


6:Kp、Ki、Kd

Kp比例增益

Kp比例控制考虑当前误差,误差值和一个正值的常数Kp(表示比例)相乘。需要控制的量,

比如水温,有它现在的当前值,也有我们期望的目标值。当两者差距不大时,就让加热器“轻轻地”

加热一下。要是因为某些原因,温度降低了很多,就让加热器“稍稍用力”加热一下。要是当前温度

比目标温度低得多,就让加热器“开足马力”加热,尽快让水温到达目标附近。

这就是P的作用,跟开关控制方法相比,是不是“温文尔雅”了很多!

实际写程序时,就让偏差(目标减去当前)与调节装置的“调节力度”,建立一个一次函数的关

系,就可以实现最基本的“比例”控制了;Kp越大,调节作用越激进,Kp调小,调节作用越保守。

但是,如果你正在制作一个平衡车,有了P的作用,你会发现,平衡车在平衡角度附近来回

“狂抖”,比较难稳住。

Kd微分增益

Kd微分控制考虑将来额误差,计算误差的一阶导,并和一个正值的常数Kd相乘。有了P的作

用,不难发现,只有P好像不能让平衡车站起来,水温也控制得晃晃悠悠,好像整个系统不是特别

稳定,总是在“抖动”。

设想有一个弹簧:现在在平衡位置上,拉它一下,然后松手,这时它会震荡起来,因为阻力

很小,它可能会震荡很长时间,才会重新停在平衡位置。

此时就需要一个控制,让被控制的物理量的“变化速度”趋于0,即类似于“阻尼”的作用。D的作

用就是让这个物理量的变化速度趋于0,只要什么时候,这个量具有了速度,D就向相反的方向用

力,尽力刹住这个变化。

Kd参数越大,向速度相反方向刹车的力道就越强,如果是平衡小车,加上P和D两种控制作

用,如果参数调节合适,它应该可以站起来了。

Ki积分增益

Ki积分控制考虑过去误差,将误差值过去一段时间和(即:误差和)乘以一个正值的常数Ki。

还是以热水为例,假如有个人把加热装置带到了非常冷的地方,开始烧水了,需要烧到50℃。在P

的作用下,水温慢慢升高,直到升高到45℃时,他发现了一个不好的事情:天气太冷,水散热的速

度,和P控制的加热的速度相等了。

这可怎么办?

P兄这样想:我和目标已经很近了,只需要轻轻加热就可以了。

D兄这样想:加热和散热相等,温度没有波动,我好像不用调整什么。

于是,水温永远地停留在45℃,永远到不了50℃。

根据常识,我们知道,应该进一步增加加热的功率,可是增加多少该如何计算呢?

前辈科学家们想到的方法是真的巧妙:设置一个积分量,只要偏差存在,就不断地对偏差进行积分

(累加),并反应在调节力度上。这样一来,即使45℃和50℃相差不是太大,但是随着时间的推

移,只要没达到目标温度,这个积分量就不断增加,系统就会慢慢意识到:还没有到达目标温度,

该增加功率啦!到了目标温度后,假设温度没有波动,积分值就不会再变动,这时,加热功率仍然

等于散热功率,但是,温度是稳稳的50℃。

Ki的值越大,积分时乘的系数就越大,积分效果越明显,所以,I的作用就是,减小静态情况

下的误差,让受控物理量尽可能接近目标值。I 在使用时还有个问题:需要设定积分限制,防止在

刚开始加热时,就把积分量积得太大,难以控制。


7:PID的标定

PID算法的参数调试是指通过调整控制参数(比例增益、积分增益/时间、微分增益/时间)让

系统达到最佳的控制效果。调试中稳定性(不会有发散性的震荡)是首要条件,此外,不同系统有

不同的行为,不同的应用其需求也不同,而且这些需求还可能会互相冲突。PID算法只有三个参

数,在原理上容易说明,但PID算法参数调试是一个困难的工作,因为要符合一些特别的判据,而

且PID控制有其限制存在。

a、稳定性

若PID算法控制器的参数未挑选妥当,其控制器输出可能是不稳定的,也就是其输出发散,过

程中可能有震荡,也可能没有震荡,且其输出只受饱和或是机械损坏等原因所限制。不稳定一般是

因为过大增益造成,特别是针对延迟时间很长的系统。

b、最佳性能

PID控制器的最佳性能可能和针对过程变化或是设定值变化有关,也会随应用而不同。 两个

基本的需求是调整能力(regulation,干扰拒绝,使系统维持在设定值)及命令追随 (设定值变化

下,控制器输出追随设定值的反应速度)。有关命令追随的一些判据包括有上升时间及整定时间。

有些应用可能因为安全考量,不允许输出超过设定值,也有些应用要求在到达设定值过程中的能量

可以最小化。

c、各调试方法对比

方法    优点 缺点
人工调试 不需要数学,可在线调试         需要有经验的工程师
齐格勒·尼科尔斯法 被证实有效的方法,可在线调试 需要试误
软件工具 可在线or离线调试 需要学习成本
Cohen-Coon 好的程序模型 需要学习成本

d、调整PID参数对系统的影响

  

PID控制Simulink标定相关推荐

  1. 单神经元PID控制+Simulink控制系统仿真

    最近在学习基于神经网络的电机智能控制,神经网络与PID有两种结合方式:采用单神经元结构,神经元输入权值一一对应PID的三个参数,神经元的输入值为经过比例.积分和微分处理后的偏差值:另一种是在常规PID ...

  2. 单神经元PID控制+Simulink双闭环直流调速系统仿真

    前段时间学习了基于神经网络的智能控制,这周就把单神经元PID控制器应用于转速电流双闭环直流调速系统 双闭环直流调速系统的动态数学模型如下图所示: 外环为转速环,内环为电流环.本次转速调节器采用基于单神 ...

  3. BP神经网络 PID控制simulink仿真

    function [sys,x0,str,ts]=my_exppidf(t,x,u,flag) switch flag,case 0,[sys,x0,str,ts]=mdlInitializeSize ...

  4. 【PID控制】几种调参方法的比较 (含计算代码)

    ⭐⭐几种整定方法总结(含参数计算代码)⭐⭐ PID 参数整定方法 临界比例度法 (Ziegle-Nichols算法 齐格勒尼科尔斯整定方法) 适用条件 主要原理 PID控制器类型的选择 开环阶跃响应曲 ...

  5. 四旋翼双环PID控制

    在我上篇博客<四旋翼无人机Matlab建模>中,我建立了四旋翼的模型,并在simulink中搭建了仿真,但并没有设计控制器.本章便针对四旋翼设计最常见的串级PID控制器,本篇文章主要从两个 ...

  6. 先进PID控制MATLAB仿真学习记录(一)

    目录 前言 一.PID控制原理 二.连续系统的PID控制Simulink仿真 1.利用自带的PID控制器仿真 2.采用S函数进行仿真 总结 前言 PID控制是最早发展起来的控制策略之一,其算法简单.鲁 ...

  7. Simulink建模:PID控制模型

    本文研究PID控制的Simulink模型实现及其代码生成. 文章目录 1 PID控制 2 Simulink建模 2.1 对公式的理解 2.2 建模过程 2.3 模型配置 3 模型更新及代码生成 3.1 ...

  8. Matlab仿真PID控制(带M文件、simulink截图和参数分析)

    文章目录 0.符号说明 1.如何根据连续系统建立差分方程 1.1.获取连续系统的传递函数 1.2.获取离散系统的传递函数 1.3.转换为差分方程 2.基本PID控制原理 3.比较PID输出,分析参数产 ...

  9. 单神经元PID控制(Simulink仿真+PLC代码)

    有关博途PLC单神经元PID控制,请参看下面的文章链接 博途PLC单神经元自适应PID控制_单神经元pid控制_RXXW_Dor的博客-CSDN博客1.单神经元作为构成神经网络的基本单位,具有自学习和 ...

最新文章

  1. 若依前后端分离如何写移动端接口_前后端分离实践的架构设计
  2. Head First设计模式之策略模式(Strategy)
  3. Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate 问题
  4. Python基础教程:内置类型之真值测试
  5. hive 字符串替换指定字符_hive学习笔记:substr()——字符串截取
  6. wxWidgets:wxStdInputStreamBuffer类用法
  7. FIS.js前端开发的使用说明文档
  8. (55)Verilog HDL双沿采样设计
  9. ASP.NET中调用Excel的问题
  10. Netflix Conductor流程系统(二):官方样例搭建
  11. android 播放pdf文件格式,一个方法告诉你安卓手机如何打开PDF格式文件
  12. 制造业MES系统数字化转型
  13. matlab一维数组操作,Matlab创建一维数组的具体操作讲解
  14. zui消息推送服务器,ZUI
  15. 主攻文推荐攻守都有系统_第五十五章 攻守转换
  16. 中英三校合作开发新电池结构,可用于改善可穿戴设备体验
  17. replication factor: 3 larger than available brokers: 1
  18. HUSTOJ特判程序Special Judge使用方法整理
  19. 桌面时钟(JS版本)-electron
  20. java计算机毕业设计小区物业管理系统源码+lw文档+系统+数据库

热门文章

  1. 未来,中国的互联网会是什么样子?
  2. javaweb + websocket实现客户端 保存到session
  3. 小森动画回忆录(一)-选择判断
  4. 【不抱怨21天】实践手册(第一天)—改变自己
  5. Percona server 介绍及与mysql对比 及安装
  6. Java加解密密和数字签名
  7. 数学知识之西格玛符号
  8. Unity⭐️当Unity协程遇到while
  9. vue全局变量、全局方法
  10. EXCEL 文档自动生成目录