MATLAB与基本PID控制系仿真.ppt

上传人:牧羊曲112 文档编号:5438911 上传时间:2023-07-07 格式:PPT 页数:64 大小:396KB
返回 下载 相关 举报
MATLAB与基本PID控制系仿真.ppt_第1页
第1页 / 共64页
MATLAB与基本PID控制系仿真.ppt_第2页
第2页 / 共64页
MATLAB与基本PID控制系仿真.ppt_第3页
第3页 / 共64页
MATLAB与基本PID控制系仿真.ppt_第4页
第4页 / 共64页
MATLAB与基本PID控制系仿真.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《MATLAB与基本PID控制系仿真.ppt》由会员分享,可在线阅读,更多相关《MATLAB与基本PID控制系仿真.ppt(64页珍藏版)》请在三一办公上搜索。

1、第三章 MATLAB与基本PID控制系统仿真,3.1 自动控制系统与仿真概述3.2 线性定常系统的数学模型3.3 PID控制概述3.4 PID控制系统仿真作业,1 自动控制系统基本概念2 自动控制系统分类3 控制系统仿真基本概念4 MATLAB/Simulink下的控制系统仿真5 MATLAB中控制相关的工具箱,3.1 自动控制系统与仿真概述,1 自动控制系统基本概念,1.1 开环控制系统与闭环控制系统,图1.2 闭环控制示意图,图1.1 开环控制示意图,闭环控制系统组成结构,(1)给定环节:它是设定被控制量的给定值的装置。(2)比较环节:比较环节将所检测的被控制量和给定量进行比较,确定两者之

2、间的偏差量。(3)中间环节:中间环节一般是放大元件,将偏差信号变换成适于控制执行机构工作的信号。(4)执行机构:一般由传动装置和调节机构组成,执行机构直接作用于控制对象,使被控制量达到所要求的数值。(5)控制对象或调节对象:它是指要进行控制的设备或过程。(6)检测装置或传感器:用于检测被控制量,并将其转换为与给定量统一的物理量。通常把比较环节、校正环节和放大环节合在一起称为控制装置。,反馈控制系统品质要求,反馈控制系统品质要求可以归结为稳、快、准。1稳定性稳定性对于不同的系统有不同的要求。稳定性是对系统的基本要求,不稳定的系统不能实现预定任务。稳定性通常由系统的结构决定,与外界因素无关。2快速

3、性快速性是指对过渡过程的形式和快慢提出的要求,一般称为动态性能或暂态性能。3准确性准确性通常用稳态误差来表示,所谓稳态误差是指系统达到稳态时,输出量的实际值和期望值之间的误差。,2 自动控制系统分类,线性系统和非线性系统线性控制系统是由线性元件组成的系统,该系统的特征方程式可以用线性微分方程描述。如果系统微分方程的系数与自变量有关,则为非线性微分方程,由非线性微分方程描述的系统称为非线性控制系统。连续系统和离散系统连续系统各部分信号均以模拟的连续函数形式表示;离散系统的某一处或几处信号是以脉冲序列或数字形式表示的。恒值系统和随动系统恒值系统要求被控制量保持在恒定值,其给定量是不变。在随动系统中

4、,给定量是按照事先不知道的时间函数变化,要求输出量跟随给定量的变化而变化。,3 控制系统仿真基本概念,系统仿真作为一种特殊的试验技术,在20世纪3090年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识,它所遵循的基本原则是相似性原理。,计算机仿真基本概念,1 模型模型可以分为(1)物理模型。(2)数学模型。(3)仿真模型2 仿真分类从模型角度可分为物理仿真和数学仿真。从计算机类型角度可分为模拟仿真、数字仿真、混合仿真、现代计算机仿真。3 仿真应用仿真技术有着广泛的应用,而且应用的深度

5、和广度也越来越大,目前主要应用在(1)航空与航天工业。(2)电力工业。(3)原子能工业。(4)石油、化工及冶金工业。(5)非工程领域,如医学、社会学、宏观经济和商业策略的研究等4 仿真技术应用意义仿真技术的应用具有重要的意义,主要体现在(1)经济。(2)安全。(3)快捷。(4)具有优化设计和预测的特殊功能,控制系统仿真,控制系统仿真是系统仿真的一个重要分支,它是一门涉及自动控制理论、计算数学、计算机技术、系统辨识、控制工程以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及控制系统的计算机辅助教学等提供了快速、经济、科学及有效的手段。控制系统仿真就是以控制系统模型为基础,

6、采用数学模型替代实际控制系统,以计算机为工具,对控制系统进行实验、分析、评估及预测研究的一种技术与方法。控制系统仿真通过控制系统的数学模型和计算方法,编写程序运算语句,使之能自动求解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。,计算机仿真技术发展趋势,(1)硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。(2)应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更

7、理想的境界。(3)分布式数字仿真:充分利用网络技术进行分布式仿真,投资少,效果好。(4)虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人仿佛置身于真实环境之中,这就是“仿真”追求的最终目标。,4 MATLAB/Simulink下的控制系统仿真,控制系统的MATLAB/Simulink仿真有两种途径:(1)在MATLAB的命令窗口下,运行M文件,调用指令和各种用于系统仿真的函数,进行系统仿真。(2)直接在Simulink窗口上进行面向系统结构方框图的系统仿真,MATLAB适合控制系统仿真的特点,MATLAB具有以下主要特点,非常适合于控制系统的仿真。

8、(1)强大的运算功能。(2)特殊功能的TOOLBOX工具箱。(3)高效的编程效率。(4)简单易学的编程语言。(5)方便友好的编程环境。,Simulink适合控制系统仿真的特点,Simulink它采用系统模块直观地描述系统典型环节,因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。Simulink实进行系统仿真非常简单,只需要如下的几个步骤:(1)启动Simulink,进入Simulink窗口;(2)在Simulink窗口下,借助Simulink模块库,创建系统框图模型并调整模块参数;(3)设置仿真参数后,启动仿真;(4)输

9、入仿真结果。,5 MATLAB中控制相关的工具箱,MATLAB中与控制相关的基础工具箱主要有6个:控制系统工具箱(Control System Toolbox)系统辨识工具箱(System Identification Toolbox)模型预测控制工具箱(Model Predictive Control Toolbox)鲁棒控制工具箱(Robust Control Toolbox)神经网络工具箱(Neural Network Toolbox)模糊逻辑工具箱(Fuzzy Logic Toolbox),3.2 线性定常系统的数学模型,传递函数模型,【调用格式】sys=tf(num,den)【说明】

10、num和den分别是传递函数的分子多项式系数和分母多项式系数,按s的降幂排列。tf函数的返回值是一个对象,称之为TF对象,num和den是TF对象的属性。,1.SISO系统的TF数学模型,零极点模型,【调用格式】sys=zpk(z,p,k),【说明】z、p、k分别为系统的零点、极点和增益。zpk函数的返回值是一个对象,称之为ZPK对象,z、p和k是ZPK对象的属性。如果没有零点,则z为空数组。,离散系统的数学模型,1、脉冲传递函数模型【调用格式】sys=tf(num,den,Ts)%建立离散系统的TF模型sys=zpk(z,p,k,Ts)%建立离散系统的ZPK模型,【说明】num和den是离散

11、系统脉冲传递函数的分子和分母多项式系数。z,p,k是离散系统脉冲传递函数的零点、极点和增益。Ts是离散系统的采样周期。,数学模型之间的转换,LTI对象之间的转换,【调用格式】,sys=tf(sys)%将sys对象转换为TF模型sys=zpk(sys)%转换为ZPK模型,LTI对象属性之间的转换,【调用格式】,z,p,k=tf2zp(num,den)%将TF对象属性转换为ZPK对象属性num,den=zp2tf(z,p,k)%将ZPK对象属性转换为TF对象属性,连续系统和离散系统之间的转换,sysd=c2d(sysc,Ts)%将连续系统转换为采样周期为Ts的离散系统sysd=c2d(sysc,T

12、s,method)%指定连续系统的离散化方法,【调用格式】,sysc=d2c(sysd)%将离散系统转换为连续系统sysc=d2c(sysd,method)%指定离散系统的连续化方法methodsysd1=d2d(sysd,Ts)%改变采样周期,生成新的离散系统,sysc表示连续系统的数学模型,sysd表示离散系统的数学模型。method为转换方法其取值和含义为:zoh零阶保持器法,这是默认的转换方法。foh一阶保持器法,【说明】,程序:num=10;den=1,7,10;ts=0.1;sysc=tf(num,den);sysd=c2d(sysc,ts),PID控制器是一种线性控制器,它根据给

13、定值rin(t)与实际输出值yout(t)构成控制偏差:,PID控制规律:,其中:kp比例系数;TI积分时间常数;TD微分时间常数,3.3 PID控制概述,1、比例控制求在不同的Kp(0.1,0.3,0.5,1,2,3)取值下闭环系统的单位阶跃响应曲线。,例:设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。,比例、积分、微分控制作用的分析,G0=tf(1,1,3,3,1);P=0.1 0.3 0.5 1 2 3;figure,hold onfor i=1:length(P)G=feedback(P(i)*G0,1);step(G)end,结论:比例系数增大,闭环系统的灵敏度增加,稳

14、态误差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。,结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。,2、积分控制(令Kp=1,研究系统在不同Ti值下的响应),G0=tf(1,1,3,3,1);Kp=1;Ti=0.6:0.2:1.4;t=0:0.1:20;figure,hold onfor i=1:length(Ti);Gc=tf(Kp*1,1/Ti(i),1,0);G=feedback(G0*Gc,1);step(G,t)endgrid onaxis(0,20,-0.5,2.5),3、微分控制(令Kp=Ti=1,研究系统在不同Td值下的

15、响应),结论:微分具有预报作用,会使系统的超调量减小,响应时间变快。,G0=tf(1,1,3,3,1);Kp=1;Ti=1;Td=0.2:0.3:1.4;t=0:0.1:20;figure;hold onfor i=1:length(Td)Gc=tf(Kp*Ti*Td(i),Ti,1,Ti,0);G=feedback(G0*Gc,1);step(G,t)endgrid on axis(0,20,0,1.6),(1)当阶跃输入作用时,P作用是始终起作用的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。(2)PI控制器与被控对象串联连接时,可以

16、使系统的型别提高一级,而且还提供了两个负实部的零点。(3)与PI控制器相比,PID控制器除了同样具有提高系统稳态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。(4)PID控制通过积分作用消除误差,而微分控制可缩小超越量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。(5)从频域角度来看,PID控制是通过积分作用于系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。,PID控制的主要特点,PID参数整定规律,几条基本的PID参数整定规律:(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是

17、过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。(3)增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。,PID控制器参数整定,PID控制器参数整定的方法很多,概括起来有两大类:(1)理论计算整定法主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。(2)工程整定方法主要有Ziegler-Nichols整定法、临界比例度法、衰减曲线法。这三种方法各有特点,其共同点都是通

18、过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定;方法简单,计算简便,易于掌握。,Ziegler-Nichols法根据给定对象的瞬态响应特性来确定PID控制器的参数。Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应:,例:基本PID控制SIMULINK仿真仿真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)采用ODE45迭代方法,仿真时间为10s。,3.4 PID控制系统

19、仿真,参数设置,仿真曲线,数字PID,离散PID控制算法:,1、离散系统的数字PID控制仿真:,例:被控对象为:采样时间为1ms,采用Z变换进行离散化,进过Z变换后的离散化对象为:yout(k)=-den(2)yout(k-1)-den(3)yout(k-2)-den(4)yout(k-3)+num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)分别对阶跃信号、正弦信号和方波信号进行位置响应,设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪,S=2为方波跟踪,S=3为正弦跟踪。,clear all;close all;ts=0.001;sys=tf(523

20、407,1,86.85,10465,0);dsys=c2d(sys,ts,z);num,den=tfdata(dsys,v);u_1=0.0;u_2=0.0;u_3=0.0;y_1=0.0;y_2=0.0;y_3=0.0;x=0,0,0;error_1=0;for k=1:1:500time(k)=k*ts;S=3;if S=1 kp=0.50;ki=0.001;kd=0.001;rin(k)=1;%Step Signalelseif S=2 kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts);%Square Wave Signal,方

21、法一,elseif S=3 kp=1.5;ki=1.0;kd=0.01;%Sine Signal rin(k)=0.5*sin(2*2*pi*k*ts);end u(k)=kp*x(1)+kd*x(2)+ki*x(3);%PID Controller%Restricting the output of controllerif u(k)=10 u(k)=10;endif u(k)=-10 u(k)=-10;end%Linear modelyout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;erro

22、r(k)=rin(k)-yout(k);%Return of parametersu_3=u_2;u_2=u_1;u_1=u(k);,y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k);%Calculating Px(2)=(error(k)-error_1)/ts;%Calculating Dx(3)=x(3)+error(k)*ts;%Calculating I error_1=error(k);endfigure(1);plot(time,rin,b,time,yout,r);xlabel(time(s),ylabel(rin,yout);figure(2

23、);plot(time,error,r)xlabel(time(s);ylabel(error);,阶跃跟踪及其偏差,仿真曲线:,方波跟踪及其偏差,正弦跟踪及其偏差,方法二,参数设置,阶跃跟踪及其偏差,2、增量式PID控制算法,3、积分分离PID控制算法及仿真基本思想:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使得系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。具体步骤:(1)人为设定阈值e0;(2)当 时,采用PD控制;(3)当 时,采用PID控制;,积分分离控制算法为:,式中,T为采样时间;为积分项的开关系数,且,例:设被控对象为

24、一延迟对象,即采样时间为20s,延迟时间为4个采样时间,被控对象离散化为 y(k)=-den(2)y(k-1)+num(2)u(k-5)取M=1,采用积分分离PID控制器进行阶跃响应,M=2,采用普通PID控制。,clear all;close all;ts=20;%Delay plantsys=tf(1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v);u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;for k=1:1

25、:200time(k)=k*ts;%Delay plantyout(k)=-den(2)*y_1+num(2)*u_5;%I separationrin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;,程序:,M=1;if M=1%Using integration separation if abs(error(k)=30 if u(k)=110%Restricting the output of controller,u(k)=110;endif u(k)=-110 u(k)=-110;end u_5=u_4;u_4=u_3;u_3=u_2

26、;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,b,time,yout,r);xlabel(time(s);ylabel(rin,yout);grid;figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);grid;,积分分离PID阶跃响应,普通PID阶跃响应,仿真曲线:,4、基于前馈补偿的PID控制算法及仿真基本思想:前馈环节与闭环系统的传递之积为1,以实现输出完全复制输入。前馈补偿控

27、制器为:总控制输出为PID控制输出加前馈控制输出:,例:设被控对象为输入信号:r(k)=0.5sin(6*pi*t),采用时间为1ms。,clear all;close all;ts=0.001;sys=tf(133,1,25,0);dsys=c2d(sys,ts,z);num,den=tfdata(dsys,v);u_1=0;u_2=0;y_1=0;y_2=0;error_1=0;ei=0;for k=1:1:1000time(k)=k*ts;A=0.5;F=3.0;rin(k)=A*sin(F*2*pi*k*ts);drin(k)=A*F*2*pi*cos(F*2*pi*k*ts);ddr

28、in(k)=-A*F*2*pi*F*2*pi*sin(F*2*pi*k*ts);%Linear modelyout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;,程序:,error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;up(k)=80*error(k)+20*ei+2.0*(error(k)-error_1)/ts;uf(k)=25/133*drin(k)+1/133*ddrin(k);M=2;if M=1%Only using PID u(k)=up(k);elseif M=2%PID+Feedforwa

29、rd u(k)=up(k)+uf(k);end if u(k)=10 u(k)=10;endif u(k)=-10 u(k)=-10;end u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);error_1=error(k);end,figure(1);plot(time,rin,r,time,yout,b);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,error,r);xlabel(time(s);ylabel(error);figure(3);plot(time,up,k,time,uf,b,time,u,

30、r);xlabel(time(s);ylabel(up,uf,u);,前馈补偿PID正弦跟踪,仿真曲线:,PID多变量控制,对一个二变量PID控制系统结构框图为:,控制算法为:,其中:T为采样时间,。,例:设有耦合二变量被控对象设采样时间T=1s。给定输入为单位阶跃信号,即:,clear all;close all;u1_1=0.0;u1_2=0.0;u1_3=0.0;u1_4=0.0;u2_1=0.0;u2_2=0.0;u2_3=0.0;u2_4=0.0;y1_1=0;y2_1=0;x1=0;0;x2=0;0;x3=0;0;kp=0.020;ki=0.050;kd=0.0001;error_

31、1=0;0;ts=1;for k=1:1:1500time(k)=k*ts;%Step Signal%R=1;0;R=0;1;,程序:,%PID Decouple Controlleru1(k)=kp*x1(1)+kd*x2(1)+ki*x3(1);u2(k)=kp*x1(2)+kd*x2(2)+ki*x3(2);u=u1(k),u2(k);if u1(k)=10 u1(k)=10;endif u2(k)=10 u2(k)=10;endif u1(k)=-10 u1(k)=-10;endif u2(k)=-10 u2(k)=-10;end%Coupling Plantyout1(k)=1.0/

32、(1+y1_1)2*(0.8*y1_1+u1_2+0.2*u2_3);yout2(k)=1.0/(1+y2_1)2*(0.9*y2_1+0.3*u1_3+u2_2);,error1(k)=R(1)-yout1(k);error2(k)=R(2)-yout2(k);error=error1(k);error2(k);u1_4=u1_3;u1_3=u1_2;u1_2=u1_1;u1_1=u(1);u2_4=u2_3;u2_3=u2_2;u2_2=u2_1;u2_1=u(2);y1_1=yout1(k);y2_1=yout2(k);x1=error;%Calculating Px2=(error-e

33、rror_1)/ts;%Calculating Dx3=x3+error*ts;%Calculating I error_1=error;endfigure(1);plot(time,R(1),k,time,yout1,b);hold on;plot(time,R(2),k,time,yout2,r);xlabel(time(s);ylabel(rin,yout);,响应曲线(R=0;1),响应曲线(R=1;0),仿真曲线:,作业,1、设被控对象 试采用增量式PID进行控制,PID的参数,输入信号选单位阶跃信号。2、设被控对象 采样时间为10s,延迟时间为2个采样时间。试采用积分分离式PID进行控制,并与基本PID控制进行比较。输入信号选单位阶跃信号。,3、设被控对象 试采用前馈补偿PID进行控制,输入信号选正弦信号。4、已知空调机组部分的数学模型为设采样时间T=1s,给定输入为单位阶跃信号,试采用PID控制方案。,下周上课以前发到文件名上注明自己的姓名、学号,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号