欢迎来到天天文库
浏览记录
ID:51712326
大小:248.63 KB
页数:16页
时间:2020-03-15
《离散系统的数字PID控制仿真.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、离散系统的数字PID控制仿真薛晓波目前,大多数工业对象的动态特性尚未被完全掌握,得不到精确的数学模型,难以满足控制理论分析的要求,在决定系统参数时,往往还需要依靠现场调试及经验,而PID调节器就充分显示了它的威力。所以它的应用经久不衰,而且有所发展,应用范围更加广泛。至今它仍是一种最基本的控制算法。PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程控制。现在的工业控制系统大都采用数字控制系统。数字PID控制系统就是把模拟PID控制算式离散化处理,便于系统用单片机或计算机实现控制。在计算机过程控制领域中,数字PID调节器有着
2、广泛的应用。由于它具有确定的结构,所以只要研究它的参数整定规则即可。数字PID控制系统是时间的离散系统,计算机对生产过程的控制是断续的过程,即在每一个采样周期内,传感器将所测数据转换成统一的标准信号后输入给调节器,在调节器中与设定值进行比较得出偏差值,经PID运算得出本次的控制量,输出到执行器后才完成了本次的调节任务。在计算机控制系统中,PID控制器是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入计算机后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,以改善系统品质,满足不同控制系统的需要。PID控制基
3、本原理:PID调节器由比例调节器(P),积分调节器(I)和微分调节器(D)构成,它通过对偏差值的比例、积分和微分运算后,用计算所得的控制量来控制被控对象,下图所示为PID控制系统框图:其中R为设定的期望值,y为控制变量S为实际输出值,e为控制偏差(e=R-S)。PID调节器按其调节规律可分为比例调节、比例积分调节和比例积分微分调节等。PID算法是将描述连续过程的微分方程转化为差分方程,然后,根据差分方程编制计算程序来进行控制计算的,另外在PID控制中,由于PID算式选择的不同,最终所得到的控制效果是不同的。题目:用数字PID控制传递函数为G(s)的被控对象:G(s)=
4、,采样时间为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
5、次采样时刻控制器的输出值,可得离散的PID算式(2)式中:由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以通常称式(2)为位置式PID控制算法。位置式PID控制算法的当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对
6、应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构的累积功能可以采用硬件的方法实现,也可以采用软件来实现。仿真之一:指令为阶跃信号、正弦信号和方波信号设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪,S=2时为方波跟踪,S=3时为正弦跟踪。本次实验采用位置式PID控制算法。分析过程:1、对G(s)进行离散化即进行z变换得到z传递函数: 注:之所以为z的三次式,这是通过matlab进行z变换后,观察num,den的数据得到z传递函数形式为z的三次式,若为其他次数n,则相应有n+1项。2、分子分母除
7、以z的最高次数即除以z的3次得到: ,有:() Y(z)= ()U(z) 3、由z的位移定理Z[e(t-kt)]=z^k*E(z)逆变换得到差分方程:= 通常m1=1 y(k)=程序清单如下图:通过改变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]=tf
此文档下载收益归作者所有