离散系统的数字PID控制仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

离散系统的数字PID控制仿真薛晓波目前,大多数工业对象的动态特性尚未被完全掌握,得不到精确的数学模型,难以满足控制理论分析的要求,在决定系统参数时,往往还需要依靠现场调试及经验,而PID调节器就充分显示了它的威力。所以它的应用经久不衰,而且有所发展,应用范围更加广泛。至今它仍是一种最基本的控制算法。PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程控制。现在的工业控制系统大都采用数字控制系统。数字PID控制系统就是把模拟PID控制算式离散化处理,便于系统用单片机或计算机实现控制。在计算机过程控制领域中,数字PID调节器有着广泛的应用。由于它具有确定的结构,所以只要研究它的参数整定规则即可。数字PID控制系统是时间的离散系统,计算机对生产过程的控制是断续的过程,即在每一个采样周期内,传感器将所测数据转换成统一的标准信号后输入给调节器,在调节器中与设定值进行比较得出偏差值,经PID运算得出本次的控制量,输出到执行器后才完成了本次的调节任务。在计算机控制系统中,PID控制器是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入计算机后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,以改善系统品质,满足不同控制系统的需要。PID控制基本原理:PID调节器由比例调节器(P),积分调节器(I)和微分调节器(D)构成,它通过对偏差值的比例、积分和微分运算后,用计算所得的控制量来控制被控对象,下图所示为PID控制系统框图:其中R为设定的期望值,y为控制变量S为实际输出值,e为控制偏差(e=R-S)。PID调节器按其调节规律可分为比例调节、比例积分调节和比例积分微分调节等。PID算法是将描述连续过程的微分方程转化为差分方程,然后,根据差分方程编制计算程序来进行控制计算的,另外在PID控制中,由于PID算式选择的不同,最终所得到的控制效果是不同的。题目:用数字PID控制传递函数为G(s)的被控对象:G(s)=3252350087.3510470sss,采样时间为1ms,采用z变换进行离散化,经过z变换后的离散化对象为:y(k)=-den(2)y(k-1)-den(3)y(k-2)-den(4)y(k-3)+num(2)u(k-1)+num(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——控制器的积分时间;Td——控制器的微分时间。设u(k)为第k次采样时刻控制器的输出值,可得离散的PID算式(2)式中:由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以通常称式(2)为位置式PID控制算法。位置式PID控制算法的当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构的累积功能可以采用硬件的方法实现,也可以采用软件来实现。仿真之一:指令为阶跃信号、正弦信号和方波信号设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪,S=2时为方波跟踪,S=3时为正弦跟踪。本次实验采用位置式PID控制算法。分析过程:1、对G(s)进行离散化即进行z变换得到z传递函数:321234321234()nznznznGZmzmzmzm注:之所以为z的三次式,这是通过matlab进行z变换后,观察num,den的数据得到z传递函数形式为z的三次式,若为其他次数n,则相应有n+1项。2、分子分母除以z的最高次数即除以z的3次得到:12312341231234()()nnznznzYZUZmmzmzmz,有:(1231234mmzmzmz)Y(z)=(1231234nnznznz)U(z)3、由z的位移定理Z[e(t-kt)]=z^k*E(z)逆变换得到差分方程:1234()(1)(2)(3)mykmykmykmyk=1234()(1)(2)(3)nuknuknuknuk通常m1=1y(k)=2341234(1)(2)(3)()(1)(2)(3)mykmykmyknuknuknuknuk程序清单如下图:通过改变S的值可以得到不同的跟踪结果!PID的参数分别为:取Kp=0.5,Ki=0.001,Kd=0.001。对以上程序作出部分解释:ts=0.001,数字制器采样时间,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.0;初始化差分方程的初始值x=[0,0,0]';PID的三个变量并赋予初值error_1=0;作为偏差的前一时刻的变量S=3;此处的值可以被改变,可以选择不同的信号输入ifS==1阶跃信号elseifS==2方波信号elseifS==3正弦信号u(k)=kp*x(1)+kd*x(2)+ki*x(3);PID控制器输出,作为被控对象的输入ifu(k)=10限制控制器的输出u_3=u_2;u_2=u_1;u_1=u(k);参数反馈,差分方程得以继续y_3=y_2;y_2=y_1;y_1=y(k);x(1)=error(k);数字控制器的P编程实现x(2)=(error(k)-error_1)/ts;数字控制器的D编程实现x(3)=x(3)+error(k)*ts;数字控制器的I编程实现error_1=error(k);得到当前的偏差作为PID运算中进行偏差运算得到的三种跟踪结果为:阶跃跟踪结果:方波跟踪结果:正弦信号结果为:以上各个仿真结果基本上达到了实验要求。但是,数字PID控制位置式算法的缺点是:由于采用全量输出,所以每次的输出都与过去的状态有关,计算时要对error(k)量进行累加,计算机输出控制量u(k)对应的是执行机构的实际位置偏差,如果位置传感器出现故障,u(k)可能出现大幅度变化。u(k)的大幅度变化会引起执行机构位置的大幅度变化,这种情况在生产中是不允许的。仿真之二:采用simulink实现离散PID控制器。这里要用到simulink的模块封装功能:子系统封装的意义:子系统封装技术可以让一个子系统有自己的特点。封装后的子系统可以有自己的图标、自己的参数和具有功能描述的控制对话框,甚至自己的help文档,同时参数的修改更为方便(不用深入子系统,只需在对话框中修改便可),内部结构也不易被修改。模块的封装是在MaskEditor中进行的。要打开MaskEditor,需要两步:①选中要封装的子系统;②选择菜单Edit-EditMask或者右键菜单中的EditMask。MaskEditor的样子如下:MaskEditor中共有如下四个选项页:Icon,主要是对子系统的外观图标进行设置;Parameters,主要对封装子系统的参数进行设置。如果子系统中有一个或多个模块需要手动设置参数,那么在仿真之前需要进入到子系统里面去对这些模块分别进行参数设计,很麻烦。而用MaskEditor中的Parameters设置参数,使这些参数能够将参数值传入到subsystem的模块中去。这样就可以直接对subsystem进行参数设计,既明了又方便;Initialization,提供了一个Matlab语言命令框,可以在其中写入一些程序,当子系统有被载入、改变参数或初始化等情况发生时,Simulink会自动执行这些程序。所以可以将一些仿真前需要对subsystem做的设置,以程序的形式写入到编辑框内来实现;Documentation,编辑子系统的描述和生成help文档。左下角的Unmask按钮可以取消对subsystem的封装。Icon界面:该选项页有三部分:Options、IconDrawingCommands和Examplesofdrawingcommands。其中IconDrawingCommands中可以编辑相应的绘图命。Parameters界面:该选项页布局如下图所示如上图所示,该选项页有两个设置栏DialogParameters和Optionsforselectedparameter。在DialogParameters左侧有四个按钮,分别代表增加参数、删除参数、上移和下移。对子系统的参数设置如上图所示。按照上面的步骤对系统进行封装以后,点击界面上的OK按钮,便得到一个封装好的PID模块。离散PID控制的封装界面如下图所示,在该界面中可设定PID的三个系数、采样时间以及控制输入的上下界。以上为子系统模块的封装及参数设置过程。离散PID控制的比例、微分、积分三项分别由simulink的封装模快实现:Simulink主程序:PID控制器子程序:仿真结果为:由以上仿真结果可知,在0.3秒左右系统已经基本上达到稳定。满足控制的要求。通过学习与研究我们可以知道:数字PID调节是连续系统控制中广泛应用的一种控制方法。由于它结构改变灵活,所以,可根据系统的要求,在常规PID调节的基础上进行多种PID变型控制,如PI、PD控制,比例PID控制,不完全微分控制,带死区的PID控制等等。特别是PID控制不需控制对象的精确的数学模型,这对大多数很难得到或根本得不到精确的数学模型的工业控制对象来说,无疑更适合应用PID控制。因此,PID控制技术在工业过程控制中应用的非常广泛。通过以上对数字PID控制算法的分析与研究,可得出位置式PID算法的优缺点如下:1)位置式PID算法结构改变灵活,算法简单,鲁棒性好和可靠性高。但是每次输出都与控制偏差e过去整个变化过程相关,这样容易产生较大的累积偏差,特别是当计算机发生故障时,由于调节器是全量输出,控制变量y可能会发生大幅振荡,给生产带来严重危害。而如果采用增量式PID算法,由于计算机只输出控制变量的增量Δy发生故障时只影响本次增量的大小,故影响较小。2)系统从手动切换到自动时,位置式PID算法需将调节器的输出置为Y0,这样才可能实现无冲击切换,而增量式PID算法易于实现手动到自动的无冲击切换。3)位置式PID算法要求计算累加和(∑ek),故运算量大。而增量式PID算法不需计算累加和(∑ek),故运算量小。4)位置式PID算法中,由于差分公式中有对偏差的累加计算,所以,容易产生积分饱和现象,造成系统失控。而在增量式PID算法中,由于差分公式中不存在有对偏差的累加计算,所以,不会产生积分失控现象,避免了系统的超调和振荡现象的发生。但增量式PID算法有产生比例和微分失控现象的可能,使系统的动态性能变坏。综上所述,数字PID调节是系统控制中广泛应用的一种控制方法,位置式PID与增量式PID算法各有自己的优缺点,因此我们在应用之中应该结合实际情况,来选择具体的,最合适的控制方法。

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功