第三章MATLAB与基本PID控制系仿真课件_第1页
第三章MATLAB与基本PID控制系仿真课件_第2页
第三章MATLAB与基本PID控制系仿真课件_第3页
第三章MATLAB与基本PID控制系仿真课件_第4页
第三章MATLAB与基本PID控制系仿真课件_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章MATLAB与基本PID控制系统仿真

3.1

自动控制系统与仿真概述3.2线性定常系统的数学模型3.3PID控制概述3.4PID控制系统仿真作业第三章MATLAB与基本PID控制系统仿真3.111自动控制系统基本概念2自动控制系统分类 3控制系统仿真基本概念 4MATLAB/Simulink下的控制系统仿真5MATLAB中控制相关的工具箱3.1

自动控制系统与仿真概述3.1自动控制系统与仿真概述21自动控制系统基本概念1.1开环控制系统与闭环控制系统图1.2闭环控制示意图图1.1开环控制示意图

1自动控制系统基本概念1.1开环控制系统与闭环控制系统3闭环控制系统组成结构(1)给定环节:它是设定被控制量的给定值的装置。(2)比较环节:比较环节将所检测的被控制量和给定量进行比较,确定两者之间的偏差量。(3)中间环节:中间环节一般是放大元件,将偏差信号变换成适于控制执行机构工作的信号。(4)执行机构:一般由传动装置和调节机构组成,执行机构直接作用于控制对象,使被控制量达到所要求的数值。(5)控制对象或调节对象:它是指要进行控制的设备或过程。(6)检测装置或传感器:用于检测被控制量,并将其转换为与给定量统一的物理量。通常把比较环节、校正环节和放大环节合在一起称为控制装置。闭环控制系统组成结构(1)给定环节:它是设定被控制量的给定值4反馈控制系统品质要求反馈控制系统品质要求可以归结为稳、快、准。1.稳定性稳定性对于不同的系统有不同的要求。稳定性是对系统的基本要求,不稳定的系统不能实现预定任务。稳定性通常由系统的结构决定,与外界因素无关。2.快速性快速性是指对过渡过程的形式和快慢提出的要求,一般称为动态性能或暂态性能。3.准确性准确性通常用稳态误差来表示,所谓稳态误差是指系统达到稳态时,输出量的实际值和期望值之间的误差。反馈控制系统品质要求反馈控制系统品质要求可以归结为稳、快、准52自动控制系统分类线性系统和非线性系统线性控制系统是由线性元件组成的系统,该系统的特征方程式可以用线性微分方程描述。如果系统微分方程的系数与自变量有关,则为非线性微分方程,由非线性微分方程描述的系统称为非线性控制系统。连续系统和离散系统连续系统各部分信号均以模拟的连续函数形式表示;离散系统的某一处或几处信号是以脉冲序列或数字形式表示的。恒值系统和随动系统恒值系统要求被控制量保持在恒定值,其给定量是不变。在随动系统中,给定量是按照事先不知道的时间函数变化,要求输出量跟随给定量的变化而变化。2自动控制系统分类线性系统和非线性系统63控制系统仿真基本概念系统仿真作为一种特殊的试验技术,在20世纪30~90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识,它所遵循的基本原则是相似性原理。3控制系统仿真基本概念系统仿真作为一种特殊的试验技术,在7计算机仿真基本概念1模型模型可以分为(1)物理模型。(2)数学模型。(3)仿真模型2仿真分类从模型角度可分为物理仿真和数学仿真。从计算机类型角度可分为模拟仿真、数字仿真、混合仿真、现代计算机仿真。3仿真应用仿真技术有着广泛的应用,而且应用的深度和广度也越来越大,目前主要应用在(1)航空与航天工业。(2)电力工业。(3)原子能工业。(4)石油、化工及冶金工业。(5)非工程领域,如医学、社会学、宏观经济和商业策略的研究等4仿真技术应用意义仿真技术的应用具有重要的意义,主要体现在(1)经济。(2)安全。(3)快捷。(4)具有优化设计和预测的特殊功能计算机仿真基本概念1模型8控制系统仿真控制系统仿真是系统仿真的一个重要分支,它是一门涉及自动控制理论、计算数学、计算机技术、系统辨识、控制工程以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及控制系统的计算机辅助教学等提供了快速、经济、科学及有效的手段。控制系统仿真就是以控制系统模型为基础,采用数学模型替代实际控制系统,以计算机为工具,对控制系统进行实验、分析、评估及预测研究的一种技术与方法。控制系统仿真通过控制系统的数学模型和计算方法,编写程序运算语句,使之能自动求解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。控制系统仿真控制系统仿真是系统仿真的一个重要分支,它是一门涉9计算机仿真技术发展趋势(1)硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。(2)应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。(3)分布式数字仿真:充分利用网络技术进行分布式仿真,投资少,效果好。(4)虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人仿佛置身于真实环境之中,这就是“仿真”追求的最终目标。计算机仿真技术发展趋势(1)硬件方面:基于多CPU并行处理技104MATLAB/Simulink下的控制系统仿真控制系统的MATLAB/Simulink仿真有两种途径:(1)在MATLAB的命令窗口下,运行M文件,调用指令和各种用于系统仿真的函数,进行系统仿真。(2)直接在Simulink窗口上进行面向系统结构方框图的系统仿真4MATLAB/Simulink下的控制系统仿真控制系统11MATLAB适合控制系统仿真的特点MATLAB具有以下主要特点,非常适合于控制系统的仿真。(1)强大的运算功能。(2)特殊功能的TOOLBOX工具箱。(3)高效的编程效率。(4)简单易学的编程语言。(5)方便友好的编程环境。MATLAB适合控制系统仿真的特点MATLAB具有以下主要特12Simulink适合控制系统仿真的特点Simulink它采用系统模块直观地描述系统典型环节,因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。Simulink实进行系统仿真非常简单,只需要如下的几个步骤:(1)启动Simulink,进入Simulink窗口;(2)在Simulink窗口下,借助Simulink模块库,创建系统框图模型并调整模块参数;(3)设置仿真参数后,启动仿真;(4)输入仿真结果。Simulink适合控制系统仿真的特点Simulink它采用135MATLAB中控制相关的工具箱MATLAB中与控制相关的基础工具箱主要有6个:控制系统工具箱(ControlSystemToolbox)系统辨识工具箱(SystemIdentificationToolbox)模型预测控制工具箱(ModelPredictiveControlToolbox)鲁棒控制工具箱(RobustControlToolbox)神经网络工具箱(NeuralNetworkToolbox)模糊逻辑工具箱(FuzzyLogicToolbox)5MATLAB中控制相关的工具箱MATLAB中与控制相关14

3.2线性定常系统的数学模型传递函数模型

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

数学模型之间的转换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,Ts,'method') %指定连续系统的离散化方法【调用格式】数学模型之间的转换LTI对象之间的转换【调用格式】sys18sysc=d2c(sysd) %将离散系统转换为连续系统sysc=d2c(sysd,method) %指定离散系统的连续化方法methodsysd1=d2d(sysd,Ts) %改变采样周期,生成新的离散系统sysc表示连续系统的数学模型,sysd表示离散系统的数学模型。method为转换方法其取值和含义为:'zoh' 零阶保持器法,这是默认的转换方法。'foh' 一阶保持器法【说明】sysc=d2c(sysd) %将离散系统转换为连续系19例:系统的被控对象传递函数为:采样周期Ts=0.1秒,试将其进行离散化处理。程序:num=10;den=[1,7,10];ts=0.1;sysc=tf(num,den); sysd=c2d(sysc,ts)例:系统的被控对象传递函数为:采样周期Ts=0.1秒,试将20

PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:

PID控制规律:

其中:kp比例系数;TI积分时间常数;TD微分时间常数3.3PID控制概述PID控制器是一种线性控制器,它根据给定值ri211、比例控制求在不同的Kp(0.1,0.3,0.5,1,2,3)取值下闭环系统的单位阶跃响应曲线。例:设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。比例、积分、微分控制作用的分析1、比例控制例:设被控对象的数学模型为比例、积分、微分控制22G0=tf(1,[1,3,3,1]);P=[0.10.30.5123];figure, holdonfori=1:length(P)G=feedback(P(i)*G0,1); step(G)end结论:比例系数增大,闭环系统的灵敏度增加,稳态误差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。G0=tf(1,[1,3,3,1]);结论:比例系数增大,23结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。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,holdonfori=1:length(Ti);Gc=tf(Kp*[1,1/Ti(i)],[1,0]);G=feedback(G0*Gc,1);step(G,t)endgridonaxis([0,20,-0.5,2.5])结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强243、微分控制(令Kp=Ti=1,研究系统在不同Td值下的响应)结论:微分具有预报作用,会使系统的超调量减小,响应时间变快。G0=tf(1,[1,3,3,1]);Kp=1;Ti=1;Td=[0.2:0.3:1.4];t=0:0.1:20;figure;holdonfori=1:length(Td)Gc=tf(Kp*[Ti*Td(i),Ti,1],[Ti,0]);G=feedback(G0*Gc,1);step(G,t)endgridonaxis([0,20,0,1.6])3、微分控制(令Kp=Ti=1,研究系统在不同Td值下的响应25(1)当阶跃输入作用时,P作用是始终起作用的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。(2)PI控制器与被控对象串联连接时,可以使系统的型别提高一级,而且还提供了两个负实部的零点。(3)与PI控制器相比,PID控制器除了同样具有提高系统稳态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。(4)PID控制通过积分作用消除误差,而微分控制可缩小超越量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。(5)从频域角度来看,PID控制是通过积分作用于系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。

PID控制的主要特点PID控制的主要特点26PID参数整定规律

几条基本的PID参数整定规律:(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。(3)增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。PID参数整定规律几条基本的PID参数整定规律:27PID控制器参数整定PID控制器参数整定的方法很多,概括起来有两大类:(1)理论计算整定法主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。(2)工程整定方法主要有Ziegler-Nichols整定法、临界比例度法、衰减曲线法。这三种方法各有特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定;方法简单,计算简便,易于掌握。

Ziegler-Nichols法根据给定对象的瞬态响应特性来确定PID控制器的参数。Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应:

PID控制器参数整定PID控制器参数整定的方法很多,概括起来28例:基本PID控制SIMULINK仿真仿真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)采用ODE45迭代方法,仿真时间为10s。3.4PID控制系统仿真例:基本PID控制SIMULINK仿真3.4PID控制系29参数设置参数设置30仿真曲线仿真曲线31数字PID离散PID控制算法:1、离散系统的数字PID控制仿真:数字PID离散PID控制算法:1、离散系统的数字PID控制仿32例:被控对象为:采样时间为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为正弦跟踪。例:被控对象为:33clearall;closeall;ts=0.001;sys=tf(523407,[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;fork=1:1:500time(k)=k*ts;S=3;ifS==1kp=0.50;ki=0.001;kd=0.001;rin(k)=1;%StepSignalelseifS==2kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts));%SquareWaveSignal方法一clearall;方法一34elseifS==3kp=1.5;ki=1.0;kd=0.01;%SineSignalrin(k)=0.5*sin(2*2*pi*k*ts);endu(k)=kp*x(1)+kd*x(2)+ki*x(3);%PIDController%Restrictingtheoutputofcontrollerifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;end%Linearmodelyout(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;error(k)=rin(k)-yout(k);%Returnofparametersu_3=u_2;u_2=u_1;u_1=u(k);elseifS==335y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k);%CalculatingPx(2)=(error(k)-error_1)/ts;%CalculatingDx(3)=x(3)+error(k)*ts;%CalculatingIerror_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,error,'r')xlabel('time(s)');ylabel('error');y_3=y_2;y_2=y_1;y_1=yout(k);36阶跃跟踪及其偏差仿真曲线:阶跃跟踪及其偏差仿真曲线:37方波跟踪及其偏差方波跟踪及其偏差38正弦跟踪及其偏差正弦跟踪及其偏差39方法二方法二40参数设置参数设置41阶跃跟踪及其偏差阶跃跟踪及其偏差422、增量式PID控制算法2、增量式PID控制算法433、积分分离PID控制算法及仿真基本思想:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使得系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。具体步骤:(1)人为设定阈值e>0;(2)当时,采用PD控制;(3)当时,采用PID控制;3、积分分离PID控制算法及仿真44积分分离控制算法为:式中,T为采样时间;为积分项的开关系数,且积分分离控制算法为:式中,T为采样时间;为积分项的开关系数45例:设被控对象为一延迟对象,即采样时间为20s,延迟时间为4个采样时间,被控对象离散化为y(k)=-den(2)y(k-1)+num(2)u(k-5)取M=1,采用积分分离PID控制器进行阶跃响应,M=2,采用普通PID控制。例:设被控对象为一延迟对象,即46clearall;closeall;ts=20;%Delayplantsys=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;fork=1:1:200time(k)=k*ts;%Delayplantyout(k)=-den(2)*y_1+num(2)*u_5;%Iseparationrin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;程序:clearall;程序:47M=1;ifM==1%Usingintegrationseparationifabs(error(k))>=30&abs(error(k))<=40beta=0.3;elseifabs(error(k))>=20&abs(error(k))<=30beta=0.6;elseifabs(error(k))>=10&abs(error(k))<=20beta=0.9;elsebeta=1.0;endelseifM==2beta=1.0;%Notusingintegrationseparationendkp=0.80;ki=0.005;kd=3.0;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;ifu(k)>=110%RestrictingtheoutputofcontrollerM=1;48u(k)=110;endifu(k)<=-110u(k)=-110;endu_5=u_4;u_4=u_3;u_3=u_2;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;u(k)=110;49积分分离PID阶跃响应普通PID阶跃响应仿真曲线:积分分离PID阶跃响应普通PID阶跃响应仿真曲线:504、基于前馈补偿的PID控制算法及仿真基本思想:前馈环节与闭环系统的传递之积为1,以实现输出完全复制输入。前馈补偿控制器为:总控制输出为PID控制输出加前馈控制输出:4、基于前馈补偿的PID控制算法及仿真51例:设被控对象为输入信号:r(k)=0.5sin(6*pi*t),采用时间为1ms。例:设被控对象为52clearall;closeall;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;fork=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);ddrin(k)=-A*F*2*pi*F*2*pi*sin(F*2*pi*k*ts);%Linearmodelyout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;程序:clearall;程序:53error(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;ifM==1%OnlyusingPIDu(k)=up(k);elseifM==2%PID+Feedforwardu(k)=up(k)+uf(k);endifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;endu_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);error_1=error(k);enderror(k)=rin(k)-yout(k);54figure(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,'r');xlabel('time(s)');ylabel('up,uf,u');figure(1);55前馈补偿PID正弦跟踪仿真曲线:前馈补偿PID正弦跟踪仿真曲线:56PID多变量控制对一个二变量PID控制系统结构框图为:控制算法为:其中:T为采样时间,,。PID多变量控制对一个二变量PID控制系统结构框图为:控制算57例:设有耦合二变量被控对象设采样时间T=1s。给定输入为单位阶跃信号,即:例:设有耦合二变量被控对象58clearall;closeall;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_1=[0;0];ts=1;fork=1:1:1500time(k)=k*ts;%StepSignal%R=[1;0];R=[0;1];程序:clearall;程序:59%PIDDecoupleControlleru1(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)];ifu1(k)>=10u1(k)=10;endifu2(k)>=10u2(k)=10;endifu1(k)<=-10u1(k)=-10;endifu2(k)<=-10u2(k)=-10;end%CouplingPlantyout1(k)=1.0/(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);%PIDDecoupleController60error1(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;%CalculatingPx2=(error-error_1)/ts;%CalculatingDx3=x3+error*ts;%CalculatingIerror_1=error;endfigure(1);plot(time,R(1),'k',time,yout1,'b');holdon;plot(time,R(2),'k',time,yout2,'r');xlabel('time(s)');ylabel('rin,yout');error1(k)=R(1)-yout1(k);61响应曲线(R=[0;1])响应曲线(R=[1;0])仿真曲线:响应曲线(R=[0;1])响应曲线(R=[1;0])仿真曲线62作业1、设被控对象

试采用增量式PID进行控制,PID的参数,输入信号选单位阶跃信号。2、设被控对象采样时间为10s,延迟时间为2个采样时间。试采用积分分离式PID进行控制,并与基本PID控制进行比较。输入信号选单位阶跃信号。作业1、设被控对象633、设被控对象

试采用前馈补偿PID进行控制,输入信号选正弦信号。4、已知空调机组部分的数学模型为设采样时间T=1s,给定输入为单位阶跃信号,试采用PID控制方案。下周上课以前发到2455960226@文件名上注明自己的姓名、学号3、设被控对象下周上课以前发到2455960226@qq.c64第三章MATLAB与基本PID控制系统仿真

3.1

自动控制系统与仿真概述3.2线性定常系统的数学模型3.3PID控制概述3.4PID控制系统仿真作业第三章MATLAB与基本PID控制系统仿真3.1651自动控制系统基本概念2自动控制系统分类 3控制系统仿真基本概念 4MATLAB/Simulink下的控制系统仿真5MATLAB中控制相关的工具箱3.1

自动控制系统与仿真概述3.1自动控制系统与仿真概述661自动控制系统基本概念1.1开环控制系统与闭环控制系统图1.2闭环控制示意图图1.1开环控制示意图

1自动控制系统基本概念1.1开环控制系统与闭环控制系统67闭环控制系统组成结构(1)给定环节:它是设定被控制量的给定值的装置。(2)比较环节:比较环节将所检测的被控制量和给定量进行比较,确定两者之间的偏差量。(3)中间环节:中间环节一般是放大元件,将偏差信号变换成适于控制执行机构工作的信号。(4)执行机构:一般由传动装置和调节机构组成,执行机构直接作用于控制对象,使被控制量达到所要求的数值。(5)控制对象或调节对象:它是指要进行控制的设备或过程。(6)检测装置或传感器:用于检测被控制量,并将其转换为与给定量统一的物理量。通常把比较环节、校正环节和放大环节合在一起称为控制装置。闭环控制系统组成结构(1)给定环节:它是设定被控制量的给定值68反馈控制系统品质要求反馈控制系统品质要求可以归结为稳、快、准。1.稳定性稳定性对于不同的系统有不同的要求。稳定性是对系统的基本要求,不稳定的系统不能实现预定任务。稳定性通常由系统的结构决定,与外界因素无关。2.快速性快速性是指对过渡过程的形式和快慢提出的要求,一般称为动态性能或暂态性能。3.准确性准确性通常用稳态误差来表示,所谓稳态误差是指系统达到稳态时,输出量的实际值和期望值之间的误差。反馈控制系统品质要求反馈控制系统品质要求可以归结为稳、快、准692自动控制系统分类线性系统和非线性系统线性控制系统是由线性元件组成的系统,该系统的特征方程式可以用线性微分方程描述。如果系统微分方程的系数与自变量有关,则为非线性微分方程,由非线性微分方程描述的系统称为非线性控制系统。连续系统和离散系统连续系统各部分信号均以模拟的连续函数形式表示;离散系统的某一处或几处信号是以脉冲序列或数字形式表示的。恒值系统和随动系统恒值系统要求被控制量保持在恒定值,其给定量是不变。在随动系统中,给定量是按照事先不知道的时间函数变化,要求输出量跟随给定量的变化而变化。2自动控制系统分类线性系统和非线性系统703控制系统仿真基本概念系统仿真作为一种特殊的试验技术,在20世纪30~90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识,它所遵循的基本原则是相似性原理。3控制系统仿真基本概念系统仿真作为一种特殊的试验技术,在71计算机仿真基本概念1模型模型可以分为(1)物理模型。(2)数学模型。(3)仿真模型2仿真分类从模型角度可分为物理仿真和数学仿真。从计算机类型角度可分为模拟仿真、数字仿真、混合仿真、现代计算机仿真。3仿真应用仿真技术有着广泛的应用,而且应用的深度和广度也越来越大,目前主要应用在(1)航空与航天工业。(2)电力工业。(3)原子能工业。(4)石油、化工及冶金工业。(5)非工程领域,如医学、社会学、宏观经济和商业策略的研究等4仿真技术应用意义仿真技术的应用具有重要的意义,主要体现在(1)经济。(2)安全。(3)快捷。(4)具有优化设计和预测的特殊功能计算机仿真基本概念1模型72控制系统仿真控制系统仿真是系统仿真的一个重要分支,它是一门涉及自动控制理论、计算数学、计算机技术、系统辨识、控制工程以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及控制系统的计算机辅助教学等提供了快速、经济、科学及有效的手段。控制系统仿真就是以控制系统模型为基础,采用数学模型替代实际控制系统,以计算机为工具,对控制系统进行实验、分析、评估及预测研究的一种技术与方法。控制系统仿真通过控制系统的数学模型和计算方法,编写程序运算语句,使之能自动求解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。控制系统仿真控制系统仿真是系统仿真的一个重要分支,它是一门涉73计算机仿真技术发展趋势(1)硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。(2)应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。(3)分布式数字仿真:充分利用网络技术进行分布式仿真,投资少,效果好。(4)虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人仿佛置身于真实环境之中,这就是“仿真”追求的最终目标。计算机仿真技术发展趋势(1)硬件方面:基于多CPU并行处理技744MATLAB/Simulink下的控制系统仿真控制系统的MATLAB/Simulink仿真有两种途径:(1)在MATLAB的命令窗口下,运行M文件,调用指令和各种用于系统仿真的函数,进行系统仿真。(2)直接在Simulink窗口上进行面向系统结构方框图的系统仿真4MATLAB/Simulink下的控制系统仿真控制系统75MATLAB适合控制系统仿真的特点MATLAB具有以下主要特点,非常适合于控制系统的仿真。(1)强大的运算功能。(2)特殊功能的TOOLBOX工具箱。(3)高效的编程效率。(4)简单易学的编程语言。(5)方便友好的编程环境。MATLAB适合控制系统仿真的特点MATLAB具有以下主要特76Simulink适合控制系统仿真的特点Simulink它采用系统模块直观地描述系统典型环节,因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。Simulink实进行系统仿真非常简单,只需要如下的几个步骤:(1)启动Simulink,进入Simulink窗口;(2)在Simulink窗口下,借助Simulink模块库,创建系统框图模型并调整模块参数;(3)设置仿真参数后,启动仿真;(4)输入仿真结果。Simulink适合控制系统仿真的特点Simulink它采用775MATLAB中控制相关的工具箱MATLAB中与控制相关的基础工具箱主要有6个:控制系统工具箱(ControlSystemToolbox)系统辨识工具箱(SystemIdentificationToolbox)模型预测控制工具箱(ModelPredictiveControlToolbox)鲁棒控制工具箱(RobustControlToolbox)神经网络工具箱(NeuralNetworkToolbox)模糊逻辑工具箱(FuzzyLogicToolbox)5MATLAB中控制相关的工具箱MATLAB中与控制相关78

3.2线性定常系统的数学模型传递函数模型

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

数学模型之间的转换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,Ts,'method') %指定连续系统的离散化方法【调用格式】数学模型之间的转换LTI对象之间的转换【调用格式】sys82sysc=d2c(sysd) %将离散系统转换为连续系统sysc=d2c(sysd,method) %指定离散系统的连续化方法methodsysd1=d2d(sysd,Ts) %改变采样周期,生成新的离散系统sysc表示连续系统的数学模型,sysd表示离散系统的数学模型。method为转换方法其取值和含义为:'zoh' 零阶保持器法,这是默认的转换方法。'foh' 一阶保持器法【说明】sysc=d2c(sysd) %将离散系统转换为连续系83例:系统的被控对象传递函数为:采样周期Ts=0.1秒,试将其进行离散化处理。程序:num=10;den=[1,7,10];ts=0.1;sysc=tf(num,den); sysd=c2d(sysc,ts)例:系统的被控对象传递函数为:采样周期Ts=0.1秒,试将84

PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:

PID控制规律:

其中:kp比例系数;TI积分时间常数;TD微分时间常数3.3PID控制概述PID控制器是一种线性控制器,它根据给定值ri851、比例控制求在不同的Kp(0.1,0.3,0.5,1,2,3)取值下闭环系统的单位阶跃响应曲线。例:设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。比例、积分、微分控制作用的分析1、比例控制例:设被控对象的数学模型为比例、积分、微分控制86G0=tf(1,[1,3,3,1]);P=[0.10.30.5123];figure, holdonfori=1:length(P)G=feedback(P(i)*G0,1); step(G)end结论:比例系数增大,闭环系统的灵敏度增加,稳态误差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。G0=tf(1,[1,3,3,1]);结论:比例系数增大,87结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。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,holdonfori=1:length(Ti);Gc=tf(Kp*[1,1/Ti(i)],[1,0]);G=feedback(G0*Gc,1);step(G,t)endgridonaxis([0,20,-0.5,2.5])结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强883、微分控制(令Kp=Ti=1,研究系统在不同Td值下的响应)结论:微分具有预报作用,会使系统的超调量减小,响应时间变快。G0=tf(1,[1,3,3,1]);Kp=1;Ti=1;Td=[0.2:0.3:1.4];t=0:0.1:20;figure;holdonfori=1:length(Td)Gc=tf(Kp*[Ti*Td(i),Ti,1],[Ti,0]);G=feedback(G0*Gc,1);step(G,t)endgridonaxis([0,20,0,1.6])3、微分控制(令Kp=Ti=1,研究系统在不同Td值下的响应89(1)当阶跃输入作用时,P作用是始终起作用的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。(2)PI控制器与被控对象串联连接时,可以使系统的型别提高一级,而且还提供了两个负实部的零点。(3)与PI控制器相比,PID控制器除了同样具有提高系统稳态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。(4)PID控制通过积分作用消除误差,而微分控制可缩小超越量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。(5)从频域角度来看,PID控制是通过积分作用于系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。

PID控制的主要特点PID控制的主要特点90PID参数整定规律

几条基本的PID参数整定规律:(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。(3)增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。PID参数整定规律几条基本的PID参数整定规律:91PID控制器参数整定PID控制器参数整定的方法很多,概括起来有两大类:(1)理论计算整定法主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。(2)工程整定方法主要有Ziegler-Nichols整定法、临界比例度法、衰减曲线法。这三种方法各有特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定;方法简单,计算简便,易于掌握。

Ziegler-Nichols法根据给定对象的瞬态响应特性来确定PID控制器的参数。Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应:

PID控制器参数整定PID控制器参数整定的方法很多,概括起来92例:基本PID控制SIMULINK仿真仿真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)采用ODE45迭代方法,仿真时间为10s。3.4PID控制系统仿真例:基本PID控制SIMULINK仿真3.4PID控制系93参数设置参数设置94仿真曲线仿真曲线95数字PID离散PID控制算法:1、离散系统的数字PID控制仿真:数字PID离散PID控制算法:1、离散系统的数字PID控制仿96例:被控对象为:采样时间为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为正弦跟踪。例:被控对象为:97clearall;closeall;ts=0.001;sys=tf(523407,[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;fork=1:1:500time(k)=k*ts;S=3;ifS==1kp=0.50;ki=0.001;kd=0.001;rin(k)=1;%StepSignalelseifS==2kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts));%SquareWaveSignal方法一clearall;方法一98elseifS==3kp=1.5;ki=1.0;kd=0.01;%SineSignalrin(k)=0.5*sin(2*2*pi*k*ts);endu(k)=kp*x(1)+kd*x(2)+ki*x(3);%PIDController%Restrictingtheoutputofcontrollerifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;end%Linearmodelyout(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;error(k)=rin(k)-yout(k);%Returnofparametersu_3=u_2;u_2=u_1;u_1=u(k);elseifS==399y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k);%CalculatingPx(2)=(error(k)-error_1)/ts;%CalculatingDx(3)=x(3)+error(k)*ts;%CalculatingIerror_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,error,'r')xlabel('time(s)');ylabel('error');y_3=y_2;y_2=y_1;y_1=yout(k);100阶跃跟踪及其偏差仿真曲线:阶跃跟踪及其偏差仿真曲线:101方波跟踪及其偏差方波跟踪及其偏差102正弦跟踪及其偏差正弦跟踪及其偏差103方法二方法二104参数设置参数设置105阶跃跟踪及其偏差阶跃跟踪及其偏差1062、增量式PID控制算法2、增量式PID控制算法1073、积分分离PID控制算法及仿真基本思想:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使得系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。具体步骤:(1)人为设定阈值e>0;(2)当时,采用PD控制;(3)当时,采用PID控制;3、积分分离PID控制算法及仿真108积分分离控制算法为:式中,T为采样时间;为积分项的开关系数,且积分分离控制算法为:式中,T为采样时间;为积分项的开关系数109例:设被控对象为一延迟对象,即采样时间为20s,延迟时间为4个采样时间,被控对象离散化为y(k)=-den(2)y(k-1)+num(2)u(k-5)取M=1,采用积分分离PID控制器进行阶跃响应,M=2,采用普通PID控制。例:设被控对象为一延迟对象,即110clearall;closeall;ts=20;%Delayplantsys=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;fork=1:1:200time(k)=k*ts;%Delayplantyout(k)=-den(2)*y_1+num(2)*u_5;%Iseparationrin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;程序:clearall;程序:111M=1;ifM==1%Usingintegrationseparationifabs(error(k))>=30&abs(error(k))<=40beta=0.3;elseifabs(error(k))>=20&abs(error(k))<=30beta=0.6;elseifabs(error(k))>=10&abs(error(k))<=20beta=0.9;elsebeta=1.0;endelseifM==2beta=1.0;%Notusingintegrationseparationendkp=0.80;ki=0.005;kd=3.0;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;ifu(k)>=110%RestrictingtheoutputofcontrollerM=1;112u(k)=110;endifu(k)<=-110u(k)=-110;endu_5=u_4;u_4=u_3;u_3=u_2;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;u(k)=110;113积分分离PID阶跃响应普通PID阶跃响应仿真曲线:积分分离PID阶跃响应普通PID阶跃响应仿真曲线:1144、基于前馈补偿的PID控制算法及仿真基本思想:前馈环节与闭环系统的传递之积为1,以实现输出完全复制输入。前馈补偿控制器为:总控制输出为PID控制输出加前馈控制输出:4、基于前馈补偿的PID控制算法及仿真115例:设被控对象为输入信号:r(k)=0.5sin(6*pi*t),采用时间为1ms。例:设被控对象为116clearall;closeall;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;fork=1:1:1000time(k)=k*ts;A=0.5;F=3.0;rin(k)=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论