3.1自动控制系统与仿真概述3.2线性定常系统的数学模型3.3PID控制概述3.4PID控制系统仿真作业3.2 线性定常系统的数学模型传递函数模型数学模型之间的转换PID控制的主要特点(1)当阶跃输入作用时,P作用是始终起作用 的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。(2)PI控制器与被控对 象串联连接时,可以使系统的型别提高一级,而且还提供了两个负实部的零点。(3)与PI控制器相比,PID控制器除了同样具有提高系统稳 态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。(4)PID控制通过积分作用消除误差,而微 分控制可缩小超越量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。(5)从频域角度来看,PID控制是通过积分作用于 系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。PID参数整定规律几条基本的PID参数 整定规律:(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产 生振荡,使稳定性变坏。(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。(3)增大微分 时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。PID控制器参数整定PID控制器参数整 定的方法很多,概括起来有两大类:(1)理论计算整定法主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数 据未必可以直接使用,还必须通过工程实际进行调整和修改。(2)工程整定方法主要有Ziegler-Nichols整定法、临界比例度 法、衰减曲线法。这三种方法各有特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控 制器参数,都需要在实际运行中进行最后调整与完善。工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现 场整定;方法简单,计算简便,易于掌握。例:基本PID控制SIMULINK仿真仿真时取kp=60,ki=1,kd=3,输入指 令为rin(k)=sin(0.4pit)采用ODE45迭代方法,仿真时间为10s。参数设置仿真曲线数字PID离散PI D控制算法:例:被控对象为:采样时间为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为正弦跟踪。clearall;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)=kts; 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(22pikts)); %SquareWaveSignalelseifS==3kp=1.5;ki=1.0;kd=0.01; %SineSignalrin(k)=0.5sin(22pikts);end u(k)=kpx(1)+kdx(2)+kix(3);%PIDController%Restrictingth eoutputofcontrollerifu(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);y_3=y_ 2;y_2=y_1;y_1=yout(k);x(1)=error(k);%Calculat ingPx(2)=(error(k)-error_1)/ts;%CalculatingDx(3)=x(3)+erro r(k)ts;%CalculatingIerror_1=error(k);endfigure(1); plot(time,rin,''b'',time,yout,''r'');xlabel(''time(s)''),ylabel(''rin,y out'');figure(2);plot(time,error,''r'')xlabel(''time(s)'');ylabel( ''error'');阶跃跟踪及其偏差方波跟踪及其偏差正弦跟踪及其偏差参数设置阶跃跟踪及其偏差2、增量式PID控制算 法3、积分分离PID控制算法及仿真基本思想:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使得系统稳定性降低,超调 量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。具体步骤:(1)人为设定阈值e>0;(2)当 时,采用PD控制;(3)当时,采用PID控制;积分分离控制算法为: 例:设被控对象为一延迟对象,即采样时间为20s,延迟时间为4个采样时间,被控对象离散化为y(k) =-den(2)y(k-1)+num(2)u(k-5)取M=1,采用积分分离PID控制器进行阶跃响应,M=2,采用普通PID控制 。clearall;closeall;ts=20;%Delayplantsys=tf([1],[60,1],''i nputdelay'',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;e rror_2=0;ei=0;fork=1:1:200time(k)=kts;%Delayplantyout(k) =-den(2)y_1+num(2)u_5;%Iseparationrin(k)=40;error(k)=rin(k )-yout(k);ei=ei+error(k)ts;M=1;ifM==1%Usingint egrationseparationifabs(error(k))>=30&abs(error(k))<=40 beta=0.3;elseifabs(error(k))>=20&abs(error(k))<=30 beta=0.6;elseifabs(error(k))>=10&abs(error(k))<=20bet a=0.9;elsebeta=1.0;endelseifM==2beta=1.0 ;%Notusingintegrationseparationendkp=0.80;ki=0.005;kd= 3.0;u(k)=kperror(k)+kd(error(k)-error_1)/ts+betakiei;ifu( k)>=110%Restrictingtheoutputofcontrolleru(k)=110;e ndifu(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;err or_1=error(k);endfigure(1);plot(time,rin,''b'',time,yout,''r'');x label(''time(s)'');ylabel(''rin,yout'');grid;figure(2);plot(time,u ,''r'');xlabel(''time(s)'');ylabel(''u'');grid;积分分离PID阶跃响应4、基于前馈补偿 的PID控制算法及仿真基本思想:前馈环节与闭环系统的传递之积为1,以实现输出完全复制输入。前馈补偿控制器为:总控 制输出为PID控制输出加前馈控制输出:例:设被控对象为输入信号:r(k)=0.5sin(6pit),采用时间为1ms。 clearall;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)=kts;A=0.5;F=3.0; rin(k)=Asin(F2pikts);drin(k)=AF2picos(F2pikts);dd rin(k)=-AF2piF2pisin(F2pikts);%Linearmodelyout(k)=- den(2)y_1-den(3)y_2+num(2)u_1+num(3)u_2;error(k)=rin(k)-yo ut(k);ei=ei+error(k)ts;up(k)=80error(k)+20ei+2.0(error(k) -error_1)/ts;uf(k)=25/133drin(k)+1/133ddrin(k);M=2;ifM==1 %OnlyusingPIDu(k)=up(k);elseifM==2%PID+Fe edforwardu(k)=up(k)+uf(k);endifu(k)>=10u(k)=10;end ifu(k)<=-10u(k)=-10;endu_2=u_1;u_1=u(k);y_2=y_1;y_1=yout (k);error_1=error(k);endfigure(1);plot(time,rin,''r'',time,you t,''b'');xlabel(''time(s)'');ylabel(''rin,yout'');figure(2);plot(tim e,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'');前馈补偿PID正弦跟踪PID多变量控制例:设有耦合二变量被控对象设采样时间T=1s。给定输入为单位 阶跃信号,即:clearall;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)=kts;%StepSignal%R=[1;0];R=[ 0;1];%PIDDecoupleControlleru1(k)=kpx1(1)+kdx2(1)+kix3(1); u2(k)=kpx1(2)+kdx2(2)+kix3(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%CouplingP lantyout1(k)=1.0/(1+y1_1)^2(0.8y1_1+u1_2+0.2u2_3);yout2(k)=1 .0/(1+y2_1)^2(0.9y2_1+0.3u1_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; %CalculatingPx2=(error-error_1)/ts;%CalculatingDx3=x3+err orts;%CalculatingIerror_1=error;endfigure(1);plo t(time,R(1),''k'',time,yout1,''b'');holdon;plot(time,R(2),''k'',time ,yout2,''r'');xlabel(''time(s)'');ylabel(''rin,yout'');响应曲线(R=[0;1]) 作业1、设被控对象试采用增量式PID进行控制,PID的参数 ,输入信号选单位阶跃信号。2、设被控对象采样时间为10s,延迟时间为2个采样时间。试采用积分分离式 PID进行控制,并与基本PID控制进行比较。输入信号选单位阶跃信号。3、设被控对象试采用前馈补偿PID进 行控制,输入信号选正弦信号。4、已知空调机组部分的数学模型为设采样时间T=1s,给定输入为单位阶跃信号,试采用PID控制 方案。1、离散系统的数字PID控制仿真:方法一仿真曲线:方法二式中,T为采样时间;为积分项的开关系数,且程序: 普通PID阶跃响应仿真曲线:程序:仿真曲线:对一个二变量PID控制系统结构框图为:控制算法为:其中:T为采样时间, ,。程序:响应曲线(R=[1;0] )仿真曲线:MATLAB与系统仿真第三章MATLAB与基本PID控制系统仿真1自动控制系统基本概念2 自动控制系统分类 3控制系统仿真基本概念 4MATLAB/Simulink下的控制系统仿真5MATLAB中控 制相关的工具箱3.1自动控制系统与仿真概述1自动控制系统基本概念1.1开环控制系统与闭环控制系统图1.2闭 环控制示意图图1.1开环控制示意图闭环控制系统组成结构(1)给定环节:它是设定被控制量的给定值的装置。(2)比较环 节:比较环节将所检测的被控制量和给定量进行比较,确定两者之间的偏差量。(3)中间环节:中间环节一般是放大元件,将偏差信号变换成适 于控制执行机构工作的信号。(4)执行机构:一般由传动装置和调节机构组成,执行机构直接作用于控制对象,使被控制量达到所要求的数值。 (5)控制对象或调节对象:它是指要进行控制的设备或过程。(6)检测装置或传感器:用于检测被控制量,并将其转换为与给定量统一的物 理量。通常把比较环节、校正环节和放大环节合在一起称为控制装置。反馈控制系统品质要求反馈控制系统品质要求可以归结为稳、快、准。 1.稳定性稳定性对于不同的系统有不同的要求。稳定性是对系统的基本要求,不稳定的系统不能实现预定任务。稳定性通常由系统的结构 决定,与外界因素无关。2.快速性快速性是指对过渡过程的形式和快慢提出的要求,一般称为动态性能或暂态性能。3.准确性准确性 通常用稳态误差来表示,所谓稳态误差是指系统达到稳态时,输出量的实际值和期望值之间的误差。2自动控制系统分类线性系统和非线 性系统线性控制系统是由线性元件组成的系统,该系统的特征方程式可以用线性微分方程描述。如果系统微分方程的系数与自变量有关,则为非 线性微分方程,由非线性微分方程描述的系统称为非线性控制系统。连续系统和离散系统连续系统各部分信号均以模拟的连续函数形式表示;离 散系统的某一处或几处信号是以脉冲序列或数字形式表示的。恒值系统和随动系统恒值系统要求被控制量保持在恒定值,其给定量是不变。在 随动系统中,给定量是按照事先不知道的时间函数变化,要求输出量跟随给定量的变化而变化。3控制系统仿真基本概念系统仿真作为一种 特殊的试验技术,在20世纪30~90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。仿真的基本思 想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识,它所遵循的基本原则是相似性原理。计算机仿真基本概念1 模型模型可以分为(1)物理模型。(2)数学模型。(3)仿真模型2仿真分类从模型角度可分为物理仿真和数学仿真。从计算机类 型角度可分为模拟仿真、数字仿真、混合仿真、现代计算机仿真。3仿真应用仿真技术有着广泛的应用,而且应用的深度和广度也越来越大 ,目前主要应用在(1)航空与航天工业。(2)电力工业。(3)原子能工业。(4)石油、化工及冶金工业。(5)非工程领域,如医学、社会 学、宏观经济和商业策略的研究等4仿真技术应用意义仿真技术的应用具有重要的意义,主要体现在(1)经济。(2)安全。(3)快捷 。(4)具有优化设计和预测的特殊功能控制系统仿真控制系统仿真是系统仿真的一个重要分支,它是一门涉及自动控制理论、计算数学、计算 机技术、系统辨识、控制工程以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及控制系统的计算机辅助教学等提供 了快速、经济、科学及有效的手段。控制系统仿真就是以控制系统模型为基础,采用数学模型替代实际控制系统,以计算机为工具,对控制系统进 行实验、分析、评估及预测研究的一种技术与方法。控制系统仿真通过控制系统的数学模型和计算方法,编写程序运算语句,使之能自动求解各环 节变量的动态变化情况,从而得到关于系统输出和所需要的中间各变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。计算机仿 真技术发展趋势(1)硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。(2)应 用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果 输出、综合评判等方面达到更理想的境界。(3)分布式数字仿真:充分利用网络技术进行分布式仿真,投资少,效果好。(4)虚拟现实技术 :综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人仿佛置身于真实环境之中,这就是“仿真”追求的最终 目标。4MATLAB/Simulink下的控制系统仿真控制系统的MATLAB/Simulink仿真有两种途径:(1)在M ATLAB的命令窗口下,运行M文件,调用指令和各种用于系统仿真的函数,进行系统仿真。(2)直接在Simulink窗口上进行面向系 统结构方框图的系统仿真MATLAB适合控制系统仿真的特点MATLAB具有以下主要特点,非常适合于控制系统的仿真。(1)强大的 运算功能。(2)特殊功能的TOOLBOX工具箱。(3)高效的编程效率。(4)简单易学的编程语言。(5)方便友好的编程环境。 Simulink适合控制系统仿真的特点Simulink它采用系统模块直观地描述系统典型环节,因此可十分方便地建立系统模型而不需 要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。Simulink实进行系统仿真非常简单, 只需要如下的几个步骤:(1)启动Simulink,进入Simulink窗口;(2)在Simulink窗口下,借助Simulin k模块库,创建系统框图模型并调整模块参数;(3)设置仿真参数后,启动仿真;(4)输入仿真结果。5MATLAB中控制相关的 工具箱MATLAB中与控制相关的基础工具箱主要有6个:控制系统工具箱(ControlSystemToolbox)系统辨识 工具箱(SystemIdentificationToolbox)模型预测控制工具箱(ModelPredictiveCon trolToolbox)鲁棒控制工具箱(RobustControlToolbox)神经网络工具箱(NeuralNetw orkToolbox)模糊逻辑工具箱(FuzzyLogicToolbox)【调用格式】sys=tf(num,den ) 【说明】num和den分别是传递函数的分子多项式系数和分母多项式系数,按s的降幂排列。tf函数的返回值是一个对象,称之 为TF对象,num和den是TF对象的属性。1.SISO系统的TF数学模型例:已知系统的传递函数为试建立系统的TF模 型。零极点模型【调用格式】 sys=zpk(z,p,k) 【说明】z、p、k分别为系统的零点、极点和增益。z pk函数的返回值是一个对象,称之为ZPK对象,z、p和k是ZPK对象的属性。如果没有零点,则z为空数组。例:SISO系统 的传递函数为试建立系统的ZPK模型。离散系统的数学模型1、脉冲传递函数模型【调用格式】 sys=tf(num,de n,Ts) %建立离散系统的TF模型 sys=zpk(z,p,k,Ts) %建立离散系统的ZPK模型【说明】num和 den是离散系统脉冲传递函数的分子和分母多项式系数。z,p,k是离散系统脉冲传递函数的零点、极点和增益。Ts是离散系统的采样周 期。LTI对象之间的转换【调用格式】sys=tf(sys) %将sys对象转换为TF模型sys=zpk(sy s) %转换为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'') %指定连续系统的离散化方法【调用格式】sysc=d2c(sysd) %将 离散系统转换为连续系统sysc=d2c(sysd,method) %指定离散系统的连续化方法methodsysd1=d 2d(sysd,Ts) %改变采样周期,生成新的离散系统sysc表示连续系统的数学模型,sysd表示离散系统的数学模型。me thod为转换方法其取值和含义为:''zoh'' 零阶保持器法,这是默认的转换方法。''foh'' 一阶保持器法【说明】例: 系统的被控对象传递函数为:采样周期Ts=0.1秒,试将其进行离散化处理。程序:num=10;den=[1,7,10]; ts=0.1;sysc=tf(num,den); sysd=c2d(sysc,ts)PID控制器是一种线性控 制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:PID控制规律:其中:kp比 例系数;TI积分时间常数;TD微分时间常数3.3PID控制概述1、比例控制求在不同的Kp(0.1,0.3,0.5,1,2 ,3)取值下闭环系统的单位阶跃响应曲线。例:设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。比例、积分、 微分控制作用的分析G0=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结论:比例系数增大,闭环系统的灵敏度增加,稳态误差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。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(G0Gc,1);step(G,t)endgridonaxis([0,20,-0.5,2.5])3、微分控制(令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[TiTd(i),Ti,1],[Ti,0]);G=feedback(G0Gc,1);step(G,t)endgridonaxis([0,20,0,1.6])Ziegler-Nichols法根据给定对象的瞬态响应特性来确定PID控制器的参数。Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应:3.4PID控制系统仿真MATLAB与系统仿真 |
|