离散系统的数字PID控制仿真_第1页
离散系统的数字PID控制仿真_第2页
离散系统的数字PID控制仿真_第3页
离散系统的数字PID控制仿真_第4页
离散系统的数字PID控制仿真_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、离散系统的数字PID控制仿真薛晓波目前,大多数工业对象的动态特性尚未被完全掌握,得不到精确的 数学模型,难以满足控制理论分析的要求,在决定系统参数时,往往还 需要依靠现场调试及经验,而 PID 调节器就充分显示了它的威力。所以 它的应用经久不衰,而且有所发展,应用范围更加广泛。至今它仍是一 种最基本的控制算法。 PID 控制是最早发展起来的控制策略之一,由于 其算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程控制。现在的工业控制系统大都采用数字控制系统。 数字 PID 控制系统就 是把模拟 PID 控制算式离散化处理, 便于系统用单片机或计算机实现控 制。在计算机过程控制领域中,数字 PID

2、 调节器有着广泛的应用。由于 它具有确定的结构,所以只要研究它的参数整定规则即可。数字 PID 控 制系统是时间的离散系统,计算机对生产过程的控制是断续的过程,即 在每一个采样周期内, 传感器将所测数据转换成统一的标准信号后输入 给调节器,在调节器中与设定值进行比较得出偏差值,经 PID 运算得出 本次的控制量,输出到执行器后才完成了本次的调节任务。在计算机控 制系统中,PID控制器是通过计算机程序实现的,因此它的灵活性很大。 一些原来在模拟PID控制器中无法实现的问题,在引入计算机后,就可 以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法, 以改善系统品质,满足不同控制系统的需要

3、。PID控制基本原理:PID调节器由比例调节器(P),积分调节器 和微分调节器(D)构成, 它通过对偏差值的比例、积分和微分运算后,用计算所得的控制量来控 制被控对象,下图所示为PID控制系统框图:r比例P卜积分AM生产过建其中R为设定的期望值,y为控制变量S为实际输出值,e为控制偏 差(e=R-S)。PID调节器按其调节规律可分为比例调节、比例积分调节和比例积分微分调节等。PID算法是将描述连续过程的微分方程转化为差 分方程,然后,根据差分方程编制计算程序来进行控制计算的,另外在 PID控制中,由于PID算式选择的不同,最终所得到的控制效果是不同 的。题目:用数字PID控制传递函数为G(s)

4、的被控对象:G(s)二523500s3 87.35s2 10470s,米样时间为1ms,采用z变换进行离散化,经过z变换后的离散化对象为:y(k)=-de n( 2)y(k-1)-de n(3)y(k-2)-de n(4)y(k-3)+num( 2)u(k-1)+ nu m(3)u(k-2)+num(4)u(k-3)其中num和den为离散化系数。位置式及增量式PID控制算法简介:位置式基本PID控制器的理想算式为:(1)式中:u(t)控制器(也称调节器)的输出;e(t) 控制器的输入(常常是设定值与被控量之差,即 e(t)二r(t)-c(t);Kp控制器的比例放大系数;Ti 控制器的积分时间

5、;Td控制器的微分时间。设u(k)为第k次采样时刻控制器的输出值,可得离散的 PID算式胖 3) =+曲>3 + 心怡3)-咻-1)1丹(2)K T旷労心=子为积分系数瓦 弹为微分系数式中:'由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执 行机构的位置(如阀门开度)一一对应,所以通常称式(2)为位置式PID控制算法。位置式PID控制算法的当前采样时刻的输出与过去的各个状 态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。增量式PID是指数字

6、控制器的输出只是控制量的增量 u(k)。采用 增量式算法时,计算机输出的控制量 u(k)对应的是本次执行机构位置 的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有 对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构 的累积功能可以采用硬件的方法实现,也可以采用软件来实现。仿真之一:指令为阶跃信号、正弦信号和方波信号设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪, S=2时为方波跟踪,S=3时为正弦跟踪。本次实验采用位置式PID控制算 法。分析过程:1、对G(s)进行离散化即进行z变换得到z传递函数:32niz n2z gz n4G(Z)=32mz +

7、m2z +m3z +m4注:之所以为z的三次式,这是通过 matlab进行z变换后,观察num, den的数据得到z传递函数形式为z的三次式,若为其他次数n,则相 应有n+1项。2、分子分母除以z的最高次数即除以z的3次得至y.丫(Z) _ m +n2Z,+n3Z,+ nqZ有.U (Z)+m2zJ +rni3z +m4z ?(mm2zJmz 二m4z)丫(z)二(qn2zJn3zn4z,)U(z)3、由z的位移定理Ze(t-kt)=zAk*E(z)逆变换得到差分方程:miy(k)m2y(k -1)m3y(k - 2)m4y(k - 3)=niu(k)n2u(k - 1)- 2)n4U(k -

8、 3)通常 m仁1y(k)= -m2y(k -1) - m3y(k -2) - m4y(k -3) mu(k) n2u(k -1) n3u(k -2) n4u(k -3) 程序清单如下图:通过改变 S的值可以得到不同的跟踪结果! PID的参 数分别为:取 Kp=0.5, Ki=0.001, Kd=0.001。1617 -S=3;18 - if S=l-kp=0.50;lti=0. OOl ;kd=O. 001:12345678910111213141516171819202122232425262728293031%PID Controller clear all; close all;-ts

9、=0. 001;%数字控制器采样时间- sys=tf (5. 235e005, 1, 87.35, 1. 047e004, 0); %控制对象的传递函数-dsys=c2d(sys,ts,' z') ;%被控对象伎谨函数离散化-num, den=tf data(dsys,? v*) ;%离散化后的数据矩阵转化为z传函-u_l=0. 0;u_2=0. 0;u_3=0. 0;%初始化差分左程的初始值- y_l=0. 0;y.2=0. 0;y.3=0. 0;-x= 0, 0, 0' ;%PID的三个变重并喰予初值-error_l=0;%作为偏差的前一时刻的变星-for k=l:

10、1:500- ti me (k)=k*ts;-S=3;-if S=1- kp=0. 50;ki=0. 001 ;kd=0. 001;- yd(k) = l;%阶跃信号- elseif S=2- kp=0. 50;ki=0. 001 ;kd=0. 001;- yd(k)=sign(sin(2*2*pi*k*ts) ; %方波信号- elseif S=3- kp=l. 5;ki=l. 0;kd=0. 01;%正弦信号- yd(k)=0. 5*sin(2*2*pi*k*ts);-end-u(k)=kp*x+kd*x(2)+ki*x(3) ;%PID控制器输出,作为被控对象的输入-if u(k)>

11、;=10%限制控制器的输出- u(k) = 10;_±1b32 - end33 - if u(k)<=-1034 - u(k)=TD;35 - end3S Linear model37 - y (k) =-den(2)*y_l-den(3) *y_2-den(4) #y_3+num (2) *u_l+nuin(3)*u_2+nujn (4)*u_3838 - error(k)=yd(k)-r(k);4039 Oeturn of parameters40 -u_3=u_2 ;u_2=u_l ;u_l=u(k)* 差分方程得以继续41 -y_3=y_2: y_2=y_ 1 ;y_

12、L=y (k);4442 - x (l)=error (k);黑数宁控制器的P嗝程实现43 - y(2)-(erroT0<)error_l)/tfii舄数宇控制器的D嗝程实现44 - x它+error(k)*ts;縄I字控制器的I编程实现4349 - errorrl=error(k);盤谓到当前的偏差作芮PID运算中进行偏差话算50 -end51 -figure(1);52 -plot (tiuiejyd,f timejk: linewidth f 2);53 -xlabel V time (s)1 ) ;ylabel (? yd,;54 - legend('Ideal posi

13、tion signal',7 Position t rackin£n).千11核易应显购p I对以上程序作出部分解释:ts=O.OO1,数字制器采样时间,sys二tf(5.235e005, 1 , 87.35, 1.047e004, 0),控制对象的传递函数, dsys二c2d(sys ts,'z');被控对象传递函数离散化num,den=tfdata(dsys,V);离散化后的数据矩阵转化为z传函u_1=0.0;u_2=0.0;u_3=0.Q初始化差分方程的初始值x二0,0,0'PID的三个变量并赋予初值error_1=0;作为偏差的前一时刻的变量S

14、=3;此处的值可以被改变,可以选择不同的信号输入if S=1阶跃信号elseif S=2方波信号elseif S=3正弦信号PID控制器输出,作为被控对象的输入限制控制器的输出参数反馈,差分方程得以继续数字控制器的P编程实现数字控制器的D编程实现u(k)二kp*x(1)+kd*x(2)+ki*x(3); if u(k)>=10u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_ 仁y (k); x(1)=error(k);x(3)=x(3)+error(k)*ts;数字控制器的I编程实现error_1=error(k);得到当前的偏差作为PID运算中进行

15、偏差运算得到的三种跟踪结果为:阶跃跟踪结果:x(2)=(error(k)-error_1)/ts;方波跟踪结果:正弦信号结果为:以上各个仿真结果基本上达到了实验要求。但是,数字PID 控制位置式算法的缺点是:由于采用全量输出,所以每次的输出都与过去的状 态有关,计算时要对error(k)量进行累加,计算机输出控制量u(k)对应的 是执行机构的实际位置偏差,如果位置传感器出现故障,u(k)可能出现大幅度变化。u(k)的大幅度变化会引起执行机构位置的大幅度变化,这 种情况在生产中是不允许的。仿真之二:采用simulink实现离散PID控制器。这里要用到 simulink 的模块封装功能:子系统封装

16、的意义: 子系统封装技术可以让一个子系统有自己的特 点。封装后的子系统可以有自己的图标、自己的参数和具有功能描述的 控制对话框, 甚至自己的 help 文档,同时参数的修改更为方便 (不用深 入子系统,只需在对话框中修改便可) ,内部结构也不易被修改。模块的圭寸装是在 Mask Editor中进行的。要打开 Mask Editor,需要 两步:选中要封装的子系统;选择菜单 Edit->Edit Mask或者右键菜 单 中 的 Edit Mask 。 Mask Editor 的 样 子 如 下 :Mask Editor中共有如下四个选项页:Ico n,主要是对子系统的外观图标进行设置;Pa

17、rameters,主要对封装子系统的参数进行设置。如果子系统中有 一个或多个模块需要手动设置参数,那么在仿真之前需要进入到子系 统里面去对这些模块分别进行参数设计,很麻烦。而用Mask Editor中的Parameters设置参数,使这些参数能够将参数值传入到subsystem的模块中去。这样就可以直接对subsystem进行参数设计,既明了又方便;Initialization,提供了一个 Matlab语言命令框,可以在其中写入一些程序,当子系统有 被载入、改变参数或初始化等情况发生时,Simulink 会自动执行这些程序。所以可以将一些仿真前需要对 subsystem做的设 置,以程序的形式

18、写入到编辑框内来实现;目Documentation,编辑子系统的描述和生成 help文档左下角的Unmask按钮可以取消对subsystem的圭寸装。Icon 界面: 该选项页有三部分:Optio ns、Icon Drawi ng Comma nds和 Examples of draw ing comma nds 其中 Icon Drawi ng Comma nds 中可以 编辑相应的绘图命。Parameters界面:该选项页布局如下图所示妙 Mask editor :Normal Discrete PID Controller | XIcon Parameters | Initlalizat

19、icn | Dccurmentation Dialog parametersPromptVariableTypeEvaluat TunableProportional KpKpeditIntegrator KiKiedit¥Derivative KdKdeditIF17Sampling period TTeditActuator LimitU medit17POptions for selected parameterType of control in dialogPopups (one per line): In dialog:7 Show parameter7 Enable p

20、arameterDialog-tailback:iUnmaskOKCancelHelpApply如上图所示,该选项页有两个设置栏 Dialog Parameters和Options for selected parameter。在 Dialog Parameters左侧有四个按钮,分别代表增加参数、删除参数、上移和下移。对子系统的参数设置如上 图所示按照上面的步骤对系统进行封装以后,点击界面上的OK按钮,便 得到一个封装好的PID模块。离散PID控制的封装界面如下图所示,在 该界面中可设定PID的三个系数、采样时间以及控制输入的上下界。H Block Parameters: Normal Di

21、screte PID Controller? |SubEyst >.aa£k1 I以上为子系统模块的封装及参数设置过程。离散PID控制的比例、微分、积分三项分别由simulink的封装模快实现:Simuli nk主程序:9 xiacbo222 *File Edit View Siniulation Format Tools HelpD CSE昌|爲需0|口£2|» |i阪石21 3 S ®耳固園"TH .厂-宀 “523500一ll吒Discretep,D w - w胎r*厂嗨 stepr: Normali DiscreteTransfer FenPID Controller仿真结果为:Q Scope-! xi& SPID控制器子程序:Time offset: 0由以上仿真结果可知,在 0.3 秒左右系统已经基本上达到稳定。满 足控制的要求。通过学习与研究我们可以知道:数字 PID 调节是连续系统控制中广 泛应用的一种控制方法。由于它结构改变灵活,所以,可根据系统的要 求,在常规PID调节的基础上进行多种 PID变型控制,如P、PD控制, 比例PID控制

温馨提示

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

评论

0/150

提交评论