PID控制Simulink标定
目录
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标定相关推荐
- 单神经元PID控制+Simulink控制系统仿真
最近在学习基于神经网络的电机智能控制,神经网络与PID有两种结合方式:采用单神经元结构,神经元输入权值一一对应PID的三个参数,神经元的输入值为经过比例.积分和微分处理后的偏差值:另一种是在常规PID ...
- 单神经元PID控制+Simulink双闭环直流调速系统仿真
前段时间学习了基于神经网络的智能控制,这周就把单神经元PID控制器应用于转速电流双闭环直流调速系统 双闭环直流调速系统的动态数学模型如下图所示: 外环为转速环,内环为电流环.本次转速调节器采用基于单神 ...
- BP神经网络 PID控制simulink仿真
function [sys,x0,str,ts]=my_exppidf(t,x,u,flag) switch flag,case 0,[sys,x0,str,ts]=mdlInitializeSize ...
- 【PID控制】几种调参方法的比较 (含计算代码)
⭐⭐几种整定方法总结(含参数计算代码)⭐⭐ PID 参数整定方法 临界比例度法 (Ziegle-Nichols算法 齐格勒尼科尔斯整定方法) 适用条件 主要原理 PID控制器类型的选择 开环阶跃响应曲 ...
- 四旋翼双环PID控制
在我上篇博客<四旋翼无人机Matlab建模>中,我建立了四旋翼的模型,并在simulink中搭建了仿真,但并没有设计控制器.本章便针对四旋翼设计最常见的串级PID控制器,本篇文章主要从两个 ...
- 先进PID控制MATLAB仿真学习记录(一)
目录 前言 一.PID控制原理 二.连续系统的PID控制Simulink仿真 1.利用自带的PID控制器仿真 2.采用S函数进行仿真 总结 前言 PID控制是最早发展起来的控制策略之一,其算法简单.鲁 ...
- Simulink建模:PID控制模型
本文研究PID控制的Simulink模型实现及其代码生成. 文章目录 1 PID控制 2 Simulink建模 2.1 对公式的理解 2.2 建模过程 2.3 模型配置 3 模型更新及代码生成 3.1 ...
- Matlab仿真PID控制(带M文件、simulink截图和参数分析)
文章目录 0.符号说明 1.如何根据连续系统建立差分方程 1.1.获取连续系统的传递函数 1.2.获取离散系统的传递函数 1.3.转换为差分方程 2.基本PID控制原理 3.比较PID输出,分析参数产 ...
- 单神经元PID控制(Simulink仿真+PLC代码)
有关博途PLC单神经元PID控制,请参看下面的文章链接 博途PLC单神经元自适应PID控制_单神经元pid控制_RXXW_Dor的博客-CSDN博客1.单神经元作为构成神经网络的基本单位,具有自学习和 ...
最新文章
- 若依前后端分离如何写移动端接口_前后端分离实践的架构设计
- Head First设计模式之策略模式(Strategy)
- Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate 问题
- Python基础教程:内置类型之真值测试
- hive 字符串替换指定字符_hive学习笔记:substr()——字符串截取
- wxWidgets:wxStdInputStreamBuffer类用法
- FIS.js前端开发的使用说明文档
- (55)Verilog HDL双沿采样设计
- ASP.NET中调用Excel的问题
- Netflix Conductor流程系统(二):官方样例搭建
- android 播放pdf文件格式,一个方法告诉你安卓手机如何打开PDF格式文件
- 制造业MES系统数字化转型
- matlab一维数组操作,Matlab创建一维数组的具体操作讲解
- zui消息推送服务器,ZUI
- 主攻文推荐攻守都有系统_第五十五章 攻守转换
- 中英三校合作开发新电池结构,可用于改善可穿戴设备体验
- replication factor: 3 larger than available brokers: 1
- HUSTOJ特判程序Special Judge使用方法整理
- 桌面时钟(JS版本)-electron
- java计算机毕业设计小区物业管理系统源码+lw文档+系统+数据库