您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > pid控制器matlab仿真
基于MATLAB的PID控制系统参数调节的仿真分析1、引言PID控制是最早发展的自动控制策略之一,PID控制系统由比例单元(P)、积分单元(I)和微分单元(D)组成。具有简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制的参数自动调整是通过智能化调整或自校正、自适应算法来实现。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。本文首先从PID理论出发,建立模型,讨论系统的稳定性,快速性,准确性。利用MATLAB对PID控制的参数进行仿真,设计不同的参数,以使系统满足所要求的性能指标。2、控制领域有一个很重要的概念是反馈,它通过各种输出值和它们各自所需值的实时比较的度量—各种误差,再以这些误差进行反馈控制来减少误差。这样形成的因果链是输入、动态系统、输出、测量、比较、误差、输入构成的一个环路,因而也构成了包含原动态系统在内的一个新的动态闭环系统。采用反馈的基本原因是要在不确定性存在的条件下达到性能目标。许多情况下,对于系统的了解是不全面的,或者可用的模型是基于许多简化的假设而使它们变得不透彻。系统也可能承受外界干扰,输出的观测常受噪声干扰。有效的反馈能减少这些不确定性的影响,因为它们可以补偿任何原因引起的误差。反馈概括了很广泛的概念,包括当前系统中的许多回路、非线性和自适应反馈,以及将来的智能反馈。广义的讲,反馈可以作为描述和理解许多复杂物理系统中发生的循环交互作用的方式。在实际的过程控制和运动控制系统中,PID占有相当的地位,据统计,工业控制中PID类控制器占有90%以上。PID控制器是最早出现的控制器类型,因其结构简单,各个控制器参数有着明显的物理意义,调整方便,所以深受工程技术人员的喜爱。而且PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高,被广泛应用于过程控制和运动控制中,尤其适用于可建立精确数学模型的确定性控制系统中。自计算机进入控制领域以来,用数字计算机代替模拟计算机调节器组成的计算机控制系统,不仅可以用软件实现PID控制算法[65],而且可以利用计算机的逻辑功能,使PID控制更加灵活。数字PID控制是生产过程普遍采用的一种控制方法,在机电、冶金、机械、化工等行业获得广泛的应用。将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成的控制量,对被控对象进行控制。模拟PID控制系统原理框图如图1,系统由模拟PID控制器和被控对象组成。PID控制器是一种线性控制器,它根据给定值rin(t)和实际输出值yout(t)构成控制偏差:err(t)=rin(t)-yout(t)。通过对误差信号进行比例,积分或微分运算和结果的加权处理,得到控制系统的输出u(t)其控制规律为构成传递函数为上式中,kp为比例系统,T1积分时间常数,Td微分时间常数。简单来说,PID各校正环节的作用如下:比例环节:成比例的反映控制系统的偏差信号err(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于时间常数T1,T1越大,积分作用越弱,反之越强。微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。3、PID控制系统仿真分析MATLAB语言具有简单易懂,运算功能强大,界面友好等优点,同时具有大量的工具箱,广泛应用于控制系统的仿真和分析。以下利用MATLAB对系统做分析和研究。PID控制的难点在于控制器的参数整定。一般先通过理论计算来确定控制器参数,同时结合工程经验对实际运行中的系统进行最后的调整和完善。本文首先通过系统等幅振荡整定得到PID参数,然后通过改变各个参数的取值,利用MATLAB仿真得到各参数对系统的影响。从而为现实的工业操作应用提供参考。建立数学模型:设被控对象等效传递函数为)5)(1(1)(ssssG分析控制器的参数对系统静态误差的影响。程序num=1;den=conv([110],[15]);G0=tf(num,den);rlocus(G0)axis([-55-1010])可以得到原系统根轨迹图如图2所示:RootLocusRealAxisImaginaryAxis-5-4-3-2-1012345-10-8-6-4-20246810System:G0Gain:29.7Pole:0.00531+2.22iDamping:-0.00239Overshoot(%):101Frequency(rad/sec):2.22当开环增益约小于29.7的时候,系统处于稳定状态。由图可以得原系统在临界稳定时,取30'pK,8.222.2/2/2'cwP利用等幅震荡整定法,可以确定控制器对应的参数。控制器类型等幅震荡整定P'5.0ppKKPI'45.0ppKK,'833.0PTiPID'6.0ppKK,'5.0PTi,'125.0PTd1、首先可以得到没有加PID控制时候原系统以及添加PID控制器的阶跃响应其中参数1830*6.06.0'ppKK4.18.25.05.0'PTi35.08.2125.0125.0'PTd程序:t=0:0.01:25;num=1;den=conv([110],[15]);G0=tf(num,den);step(feedback(G0,1),t)holdonk0=30;p0=2.8;k1=0.6*k0;ti=0.5*p0;td=0.125*p0;s=tf('s');Gc=k1*(1+1/ti/s+td*s);step(feedback(G0*Gc,1),t)%title('原系统与添加PID控制系统的对比图')gtext('原闭环系统响应曲线')gtext('PID控制系统响应曲线')051015202500.20.40.60.811.21.41.61.8原闭环系统响应曲线PID控制系统响应曲线StepResponseTime(sec)Amplitude从图可以看出,通过PID实施控制可以减少系统的静态误差,改善系统的稳态性能。2、分析比例控制作用,设35.0dT、4.1iT、Kp=0.1*30~1*30.输人信号阶跃函数,分别进行仿真,如图3所展示的系统的阶跃响应曲线t=0:0.01:25;num=1;den=conv([110],[15]);G0=tf(num,den);k0=30;p0=2.8;a1=0.1:0.4:1;k1=a1*k0;ti=0.5*p0;td=0.125*p0;s=tf('s');Gc=k1*(1+1/ti/s+td*s);G=G0.*Gc;step(feedback(G(1),1),t)holdonstep(feedback(G(2),1),t)holdonstep(feedback(G(3),1),t)axis([01601.9])holdofflegend('Kp=3','Kp=15','Kp=27')text(6.5,1.4,'Kp=3')text(4,0.65,'Kp=15')text(4.1,1.1,'Kp=27')024681012141600.20.40.60.811.21.41.61.8Kp=3Kp=15Kp=27StepResponseTime(sec)AmplitudeKp=3Kp=15Kp=27图3显示的仿真结果表明:系统的超调量会随着Kp值的增大而加大,系统响应速度也会会随Kp值的增大而加快。但是系统的稳定性能会随着Kp的增大而变差。3、分析积分控制作用,设35.0dT,8.2*1~8.2*2.0iT、Kp=18.输人信号阶跃函数,分别进行仿真,如图所示系统的阶跃响应曲线012345678910-1-0.500.511.522.533.54Ti=0.56Ti=1.68Ti=2.8StepResponseTime(sec)Amplitude系统的超调量会随着Ti值的加大而减小,系统响应速度随着Ti值的加大会略微变慢。t=0:0.01:25;num=1;den=conv([110],[15]);G0=tf(num,den);k0=30;p0=2.8;a1=linspace(0.2,1,3);k1=0.6*k0;ti=a1*p0td=0.125*p0;s=tf('s');Gc=k1*(1+1./ti/s+td*s);G=G0.*Gc;step(feedback(G(1),1),t)holdonstep(feedback(G(2),1),t)holdonstep(feedback(G(3),1),t)axis([010-14])holdofflegend('Ti=0.56','Ti=1.68','Ti=2.8')gtext('Ti=0.56')gtext('Ti=1.68')gtext('Ti=2.8')4、设8.2*1~8.2*1.0dT、4.1iT、Kp=10.输人信号阶跃函数,分别进行仿真,如图3所展示的系统的阶跃响应曲线0123456700.20.40.60.811.21.41.61.82Td=0.28Td=1.54Td=2.8StepResponseTime(sec)Amplitude随着Td值的加大,闭环系统的超调量增大,响应速度变慢。k0=30;p0=2.8;a1=linspace(0.1,1,3);k1=0.6*k0;ti=p0;td=a1*p0s=tf('s');Gc=k1*(1+1/ti/s+td.*s);G=G0.*Gc;step(feedback(G(1),1),t)holdonstep(feedback(G(2),1),t)holdonstep(feedback(G(3),1),t)axis([0702])holdofflegend('Td=0.28','Td=1.54','Td=2.8')gtext('Td=0.28')gtext('Td=1.54')gtext('Td=2.8')2.PID控制器的MATLAB仿真美国MathWorks公司推出的MATLAB是一套具备高性能的数值计算和可视化软件。由于MATLAB可以将矩阵运算、图形显示、信号处理以及数值分析集于一体,构造出的用户环境使用方便、界面友好,因此MATLAB受到众多科研工作者的欢迎。本文利用MATLAB仿真工具箱Simulink的功能,在基于仿真环境Matlab/Simulink工具上用图形化方法直接建立仿真系统模型,启动仿真过程,将结果在示波器上显示出来。3.仿真实例分析3.1建立数学建模设被控对象等效传递函数为3.2仿真建模仿真建模的目的就是将数学模型转换成计算机能够执行的模型,运用Simulink可以达到此目的。图2是综合图1和给定计算公式运用Simulink建立的PID控制的连续系统的仿真模型(建模步骤略)。图2Simulink仿真建模3.3仿真实验在传统的PID调节器中,参数的整定问题是控制面临的最主要的问题,控制系统的关键之处便是将Kp、Ti、Td三个参数的值最终确定下来。而在工业过程控制中首先需要对PID控制中三参量对系统动态性的影响进行实际深入地了解,才能确定怎样将三参数调节到最佳状态。在本实验中,对各参量单独变化对系统控制作用的影响进行讨论,其中在对一个参量变化引发的影响进行讨论时,需要将其余两个参数设定为常数。3.3.1P控制作用分析分析比例控制作用。设Td=0、Ti=∞、Kp=3~10.输人信号阶跃函数,分别进行仿真,如图3所展示的系统的阶跃响应曲线。图3显示的仿真结果表明:系统的超调量会随着Kp值的增大而加大,系统响应速度也会会
本文标题:pid控制器matlab仿真
链接地址:https://www.777doc.com/doc-4003126 .html