连续系统的数字PID控制仿真
PID控制算法及MATLAB仿真分析

题目:以PID控制进行系统仿真学院自动化学院专业班级工业自动化111班学生姓名黄熙晴目录1 引言 (1)1.1本论文研究内容 (1)2 PID控制算法 (1)2.1模拟PID控制算法 (1)2.2数字式PID控制算法 (3)2.3PID控制算法的改进 (5)2.3.1微分项的改进 (5)2.3.2积分项的改进 (9)2.4模糊PID控制算法 (11)2.4.1模糊推理的系统结构 (12)2.4.2 PID参数在线整定原则 (12)2.5PID控制器研究面临的主要问题 .................................. 错误!未定义书签。
3 MATLAB编程和仿真 (13)3.1PID控制算法分析 (13)3.2MATLAB仿真 (15)4结语 (20)参考文献...................................................................................... 错误!未定义书签。
1 引言PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
光学表面等离子共振生物传感技术受温度影响很大,因此设计高精度的温度控制器对于生物分析仪十分重要。
研究PID的控制算法是PID控制器整定参数优化和设定的关键技术之一。
在工业过程控制中,目前采用最多的控制方式依然是PID方式。
它具有容易实现、控制效果好、鲁棒性强等特点,同时它原理简单,参数物理意义明确,理论分析体系完整,并为工程界所熟悉,因而在工业过程控制中得到了广泛应用。
在实际的应用中,许多被控过程机理复杂,具有高度非线性、时变不确定性和纯滞后等特点,特别是在噪声、负载扰动等因素的影响下,参数复杂烦琐的整定过程一直困扰着工程技术人员。
为了减少参数整定的工作量,克服因环境变化或扰动作用造成系统性能的降低,就要提出一种PID控制参数的自动整定。
1.2本论文研究内容本文在介绍传统的PID控制算法,并对传统算法改进后,在学习的基础上提出一种模糊参数自整定方法,这种模糊控制的PID算法必须精确地确定对象模型。
Simulink仿真之PID控制

5.3 PID控制器参数整定 PID控制器参数整定
PID控制器参数整定的方法很多,概括起来有两大类: (1)理论计算整定法 主要依据系统的数学模型,经过理论计算确定控制器参数。 这种方法所得到的计算数据未必可以直接使用,还必须通 过工程实际进行调整和修改。 (2)工程整定方法 主要有Ziegler-Nichols整定法、临界比例度法、衰减曲线 法。这三种方法各有特点,其共同点都是通过试验,然后 按照工程经验公式对控制器参数进行整定。但无论采用哪 一种方法所得到的控制器参数,都需要在实际运行中进行 最后调整与完善。 工程整定法的基本特点是:不需要事先知道过程的数学模 型,直接在过程控制系统中进行现场整定;方法简单,计 算简便,易于掌握。
t 0
PID控制器具有以下优点: (1)原理简单,使用方便。 (2)适应性强。 (3)鲁棒性强,即其控制 品质对被控制对象特性的变 化不太敏感。
5.2 PID控制算法 PID控制算法
5.2.1 比例(P)控制
纯比例控制的作用和比例调节对系统性能的影响
5.2.2 比例积分(PI)控制 比例积分(PI)控制
第5章 PID控制 PID控制
5.1 PID控制概述 5.2 PID控制算法 5.3 PID控制器参数整定 5.4 本章小结 习题与思考
内容提要
本章描述PID控制的基本概念,介绍 PID控制算法以及PID参数整定等基 础知识,并通过大量的仿真实例讲 述PID参数整定。 通过本章,读者对PID控制的原理、 算法能有较为全面的认识,并熟练 通过仿真进行PID参数整定。
PI控制举例 PI控制举例
ห้องสมุดไป่ตู้
5.2.3 比例微分(PD)控制 比例微分(PD)控制
PD控制作用举例
基于Matlab的PID温控系统的设计与仿真

基于Matlab的PID温控系统的设计与仿真摘要在Matlab6.5环境下,通过Matlab/Simulink提供的模块,对温度控制系统的PID控制器进行设计和仿真。
结果表明,基于Matlab的仿真研究,能够直观、简便、快捷地设计出性能优良的交流电弧炉温度系统控制器。
关键词温度系统数学模型;参数整定;传递函数在钢铁冶炼过程中,越来越多地使用交流电弧炉设备,温控系统的控制性能直接影响到钢铁的质量,所以炉温控制占据重要的位置。
PID控制是温控系统中一种典型的控制方式,是在温度控制中应用最广泛、最基本的一种控制方式。
随着科学发展,各行各业对温控精度要求越来越高,经典PID控制在某些场合已不能满足要求,因而智能PID控制的引入是精密温控系统的发展趋势。
为了改善电弧炉系统恒温控制质量差的现状,研制具有快速相应的、经济性好的、适合国情的恒温控制装置具有十分重要的意义。
1温控系统模型的建立在Matlab6.5环境下,通过Simulink提供的模块,对电弧炉温控系统的PID控制器进行设计和仿真。
由于常规PID控制器结构简单、鲁棒性强,被广泛应用于过程控制中。
开展数字PID控制的电弧炉控制系统模型使应用于生产实际的系统稳定性和安全性得到迅速改善。
1.1温控系统阶越响应曲线的获得在高校微机控制技术实验仪器上按以下步骤测得温度系统阶越响应曲线:1)给温度控制系统75%的控制量,即每个控制周期通过X0=255×75%=191个周波数,温度系统处于开环状态。
2)ATMEGA32L内部A/D每隔0.8s采样一次温度传感器输出的电压值,换算成实际温度值,再通过串口通讯将温度值送到电脑上保存。
使用通用串口调试助手“大傻串口调试软件-3.0AD”作为上位机接收数据并保存到文件“S曲线采集.txt”中。
3)在采集数据过程中,不时的将已经得到的数据通过“MicrosoftExcel”文档画图,查看温度曲线是否已经进入了稳态区;根据若曲线在一个较长时间里基本稳定在一个小范围值内即表明进入稳态区了,此时关闭系统。
PID控制实验报告

实验二 数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:∑∑==--++=⎪⎪⎭⎫ ⎝⎛--++=k j di p k j D I p T k e k e k T j e k k e k k e k e T T j e T T k e k k u 00)1()()()())1()(()()()( 式中,D p d I pi T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。
在仿真过程中,可根据实际情况,对控制器的输出进行限幅。
二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
1.Ex3 设被控对象为一个电机模型传递函数BsJs s G +=21)(,式中J=0.0067,B=0.1。
输入信号为)2sin(5.0t π,采用PD 控制,其中5.0,20==d p k k 。
采用ODE45方法求解连续被控对象方程。
因为Bs Js s U s Y s G +==21)()()(,所以u dt dy B dty d J =+22,另y y y y ==2,1,则⎪⎩⎪⎨⎧+-==/J)*u ((B/J)y y y y 12221 ,因此连续对象微分方程函数ex3f.m 如下 function dy = ex3f(t,y,flag,para)u=para;J=0.0067;B=0.1;dy=zeros(2,1);dy(1) = y(2);dy(2) = -(B/J)*y(2) + (1/J)*u;控制主程序ex3.mclear all;close all;ts=0.001; %采样周期xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差e(k-1)初值u_1=0;%控制信号u(k-1)初值for k=1:1:2000 %k为采样步数time(k) = k*ts; %time中存放着各采样时刻rin(k)=0.50*sin(1*2*pi*k*ts); %计算输入信号的采样值para=u_1; % D/AtSpan=[0 ts];[tt,xx]=ode45('ex3f',tSpan,xk,[],para); %ode45解系统微分方程%xx有两列,第一列为tt时刻对应的y,第二列为tt时刻对应的y导数xk = xx(end,:); % A/D,提取xx中最后一行的值,即当前y和y导数yout(k)=xk(1); %xk(1)即为当前系统输出采样值y(k)e(k)=rin(k)-yout(k);%计算当前误差de(k)=(e(k)-e_1)/ts; %计算u(k)中微分项输出u(k)=20.0*e(k)+0.50*de(k);%计算当前u(k)的输出%控制信号限幅if u(k)>10.0u(k)=10.0;endif u(k)<-10.0u(k)=-10.0;end%更新u(k-1)和e(k-1)u_1=u(k);e_1=e(k);endfigure(1);plot(time,rin,'r',time,yout,'b');%输入输出信号图xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,rin-yout,'r');xlabel('time(s)'),ylabel('error');%误差图程序运行结果显示表1所示。
智能控制--专家PID控制仿真程序

智能控制作业第2章2-3:专家PID控制仿真程序:%Expert PID Controllerclear all; %清理数据库中所有数据close all; %关闭所有界面图形ts=0.001; %对象采样时间,1mssys=tf(133,[1,25,0]); %受控对象的传递函数, transfer functiondsys=c2d(sys,ts,'z'); %连续系统转化为离散系统,continous to discrete [num,den]=tfdata(dsys,'v'); %离散化后参数,得到num和den值u_1=0;u_2=0; %设定初值,u_1是第(k-1)步控制器输出量y_1=0;y_2=0; %设定初值,y_1是第(k-1)步系统对象输出量x=[0,0,0]'; %设定误差x1、误差导数x2、误差积分x3三个变量的初值,x2_1=0; %设定误差导数x2_1的初值error_1=0; %设定误差error_1的初值kp=0.6; %设定比例环节系数kd=0.01; %设定微分环节系数ki=0.03; %设定积分环节系数for k=1:1:5000 %for循环开始,k从1变化到500,每步的增量为1time(k)=k*ts; %仿真时长[0.001 0.5]sr(k)=1.0; %系统输入信号,Tracing Step Signalu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID控制器,PID Controller%开始设计专家PID控制器及规则,Expert control rule%规则1:开环控制,Rule1:Unclosed control ruleif abs(x(1))>0.8 %if循环开始,产生式规则,if...then...;误差的绝对值大于..u(k)=0.45; %控制器输出量等于..elseif abs(x(1))>0.40u(k)=0.40;elseif abs(x(1))>0.20u(k)=0.12;elseif abs(x(1))>0.01u(k)=0.10;end %if循环结束%规则2,Rule2if x(1)*x(2)>0|(x(2)==0) %if循环开始,如果误差增大或不变if abs(x(1))>=0.05 %内嵌if循环开始,如果误差绝对值大于..u(k)=u_1+2*kp*x(1); %控制器输出量施加较强控制else %否则u(k)=u_1+0.4*kp*x(1); %控制器输出量施加一般控制end %内嵌if循环结束end %if循环结束%规则3,Rule3 if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0) %if循环开始,如果误差减小或消除u(k)=u(k); %控制器输出量不变end %if循环结束%规则4,Rule4if x(1)*x(2)<0&x(2)*x2_1<0 %if循环开始,如果误差处于极值状态if abs(x(1))>=0.05 %内嵌if循环开始,如果误差绝对值大于..u(k)=u_1+2*kp*error_1; %控制器输出量施加较强控制else %否则u(k)=u_1+0.6*kp*error_1; %控制器输出量施加一般控制end %内嵌if循环结束end %if循环结束%规则5,运用PI控制来消除误差 Rule5:Integration separation PI controlif abs(x(1))<=0.001 %if循环开始,如果误差绝对值小于..(很小)u(k)=0.5*x(1)+0.010*x(3); %控制器输出量用比例和积分输出end %if循环结束%对控制输出设限,Restricting the output of controllerif u(k)>=10u(k)=10; %设控制器输出量上限值endif u(k)<=-10u(k)=-10; %设控制器输出量下限值end%z变化后系统的线性模型,Linear modely(k)=-den(2)*y_1-den(3)*y_2+num(1)*u(k)+num(2)*u_1+num(3)*u_2;error(k)=r(k)-y(k); %系统误差error的表达式,等于系统输入减去输出%----------Return of parameters------------%每步计算时的参数更新u_2=u_1;u_1=u(k); %u(k)代替u_1,..y_2=y_1;y_1=y(k); %y(k)代替y_1,.x(1)=error(k); % 赋误差error值于x1,Calculating Px2_1=x(2); % 赋当前步计算时的误差导数x2的值于x2_1 x(2)=(error(k)-error_1)/ts; % 求误差导数x2,用于下一步的计算,Calculating Dx(3)=x(3)+error(k)*ts; % 求误差积分x3;Calculating Ierror_1=error(k); %% 赋误差error值于error_1end %for循环结束,整个仿真时长计算全部结束figure(1); %图形1plot(time,r,'b',time,y,'r'); %画图,以时间为横坐标,分别画出系统输入、输出随时间的变化曲线xlabel('time(s)');ylabel('r,y'); %标注坐标figure(2);plot(time,r-y,'r'); %画r-y,即误差随时间的变化曲线xlabel('time(s)');ylabel('error');Matlab仿真的图形:图1 系统输入、输出随时间变化曲线图2 误差随时间的变化曲线通过本章学习,了解到了什么是专家控制。
数字PID控制算法仿真

安徽大学本科毕业论文(设计)(内封面)题目:数字PID控制算法仿真研究学生姓名:刘高文学号:院(系):电子科学与技术学院专业:电气工程及其自动化入学时间:2006 年9月导师姓名:刘凯峰职称/学位:讲师/硕士导师所在单位:安徽大学电子科学与技术学院数字PID控制算法仿真研究安徽大学电子科学与技术学院 2006级电气工程及其自动化专业指导教师:刘凯锋安徽省合肥市 230601摘要PID 控制算法是过程控制中应用最广泛的一种控制方法。
PID 控制算法简单应用广泛, 但是其参数整定方法繁杂。
利用Matlab 可以方便地仿真, 实现PID 参数整定。
文章首先介绍了PID 控制算法的原理、框图和公式,通过MATLAB 仿真出普通增量式PID 控制算法引起系统输出不稳定的仿真图,并给出引起该系统不稳定的原因,最后,文章研究了现实中应用较为广泛的BP神经网络PID控制,并与普通PID控制进行了对比研究。
关键词:PID控制;不完全微分;智能控制;神经网络Simulation Study on Digital PID ControlAbstractPID control algorithm is the most widely methods used in process control. PID control algorithm is simple and widely used,but its parameter setting method is multifarious. Matlab simulation can be easily realized PID parameters setting. This paper firstly introduces the principle of PID control algorithm, through the block diagram and formula MATLAB simulation of an ordinary incremental PID control algorithm cause instability of the simulation system, and gives the figure of instability.Finally,the paper studies the BP neural network PID control which has a wide use in reality and then compared with ordinary PID control.network0、引 言在模拟控制系统中,系统的控制器是连续模拟环节,亦称模拟调节器.而在数字控制系统中,则用数字控制器来代替模拟调节器,其直接控制过程是首先通过对模拟量输入通道对控制参数进行采样,并将其转换成数字量,然后计算机按一定的控制算法进行运算处理,计算结果由模拟量输出通道输出,并通过执行机构去控制生产过程,已达到预期的效果.这里,计算机执行按某种算法编写的程序,实现对被控制对象的控制和调节,被称为数字控制器。
数字PID控制实验

4.5.1数字PID 控制实验 1 标准PID 控制算法一.实验要求1. 了解和掌握连续控制系统的PID 控制的原理。
2. 了解和掌握被控对象数学模型的建立。
3. 了解和掌握数字PID 调节器控制参数的工程整定方法。
4. 观察和分析在标准PID 控制系统中,P.I.D 参数对系统性能的影响。
二.实验内容及步骤 ⑴ 确立模型结构本实验采用二个惯性环节串接组成实验被控对象,T1=0.2S ,T2=0.5S Ko=2。
S e T K s G τ-+⨯≈+⨯+=1S 110.2S 21S 5.01)(000⑵ 被控对象参数的确认被控对象参数的确认构成如图4-5-10所示。
本实验将函数发生器(B5)单元作为信号发生器,矩形波输出(OUT )施加于被测系统的输入端R ,观察矩形波从0V 阶跃到+2.5V 时被控对象的响应曲线。
图4-5-10 被控对象参数的确认构成实验步骤:注:将‘S ST ’用‘短路套’短接!① 在显示与功能选择(D1)单元中,通过波形选择按键选中‘矩形波’(矩形波指示灯亮)。
② B5的量程选择开关S2置下档,调节“设定电位器1”,使之矩形波宽度>2秒(D1单元左显示)。
③ 调节B5单元的“矩形波调幅”电位器使矩形波输出电压= 2.5V 左右(D1单元右显示)。
④ 构造模拟电路:按图4-5-10安置短路套及测孔联线,表如下。
(a )安置短路套 (b )测孔联线⑤ 运行、观察、记录:A)先运行LABACT 程序,选择界面的“工具”菜单选中“双迹示波器”(Alt+W )项,弹出双迹示波器的界面,点击开始,用虚拟示波器观察系统输入信号。
图4-5-11 被控对象响应曲线B) 在图4-5-112被控对象响应曲线上测得t1和t2。
通常取)∞=(3.0)(010Y t Y ,要求从图中测得1t ; 通常取)∞=(7.0)(020Y t Y ,要求从图中测得2t 。
计算0T 和τ:0.84730.3567t -1.204t )]t (y 1[ln -)]t (y 1[ln )]t (y 1[ln t )]t (y 1[n t 0.8473t t )]t (y 1[ln -)]t (y 1[ln t t T 212010201102122010120==-----=-=---=τC) 求得数字PID 调节器控制参数P K 、I T 、D T (工程整定法))/0.2(1)/0.37()/0.6(1)/0.5()/2.5(]27.0)/(35.1[10000200000T T T T T T T T T T K K D I P ττττττ+⨯=++⨯=+=据上式计算数字PID 调节器控制参数P K 、I T 、D T⑶ 数字PID 闭环控制系统实验模块号 跨接座号 1 A5 S5,S7,S10 2 A7 S2,S7,S9,P 3 B5‘S-ST ’1 输入信号R B5(OUT )→A5(H1)2 运放级联 A5A (OUTA )→A7(H1)3 示波器联接 ×1档B5(OUT )→B3(CH1) 4A7A (OUTA )→B3(CH2)数字PID 闭环控制系统实验构成见图4-5-12,观察和分析在标准PID 控制系统中,P.I.D 参数对系统性能的影响,分别改变P.I.D 参数,观察输出特性,填入实验报告,图4-5-12 数字PID 闭环控制系统实验构成实验步骤:注:将‘S ST ’用‘短路套’短接!① 在显示与功能选择(D1)单元中,通过波形选择按键选中‘矩形波’(矩形波指示灯亮)。
pid控制器matlab仿真

pid控制器matlab仿真PID控制是最早发展的自动控制策略之一,PID控制系统由比例单元(P)、积分单元(I)和微分单元(D)组成。
具有简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID控制的参数自动调整是通过智能化调整或自校正、自适应算法来实现。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制。
PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
本文首先从PID理论出发,建立模型,讨论系统的稳定性,快速性,准确性。
利用MATLAB对PID控制的参数进行仿真,设计不同的参数,以使系统满足所要求的性能指标。
2、控制领域有一个很重要的概念是反馈,它通过各种输出值和它们各自所需值的实时比较的度量―各种误差,再以这些误差进行反馈控制来减少误差。
这样形成的因果链是输入、动态系统、输出、测量、比较、误差、输入构成的一个环路,因而也构成了包含原动态系统在内的一个新的动态闭环系统。
采用反馈的基本原因是要在不确定性存在的条件下达到性能目标。
许多情况下,对于系统的了解是不全面的,或者可用的模型是基于许多简化的假设而使它们变得不透彻。
系统也可能承受外界干扰,输出的观测常受噪声干扰。
有效的反馈能减少这些不确定性的影响,因为它们可以补偿任何原因引起的误差。
反馈概括了很广泛的概念,包括当前系统中的许多回路、非线性和自适应反馈,以及将来的智能反馈。
广义的讲,反馈可以作为描述和理解许多复杂物理系统中发生的循环交互作用的方式。
在实际的过程控制和运动控制系统中,PID占有相当的地位,据统计,工业控制中PID 类控制器占有90%以上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名:任明明 班级:机研102 学号:201020122050
连续系统的数字PID 控制仿真
本方法可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
采用了MA TLAB 语句形式进行仿真。
被控对象为一个电机模型传递函数;
Bs Js 1
)s (G 2+=
式中,J=0.0067,B=0.10。
采用M 函数的形式,利用ODE45的方法求解连续对象方程,输入指令信号为rin(k)=0.50sin(2πt),采用PID 控制方法设计控制器,其中。
PID 正弦跟踪结果如图所示。
控制主程序:
clear all;
clear all;
ts=0.001; %采样时间
xk=zeros(2,1);
e_1=0;
u_1=0;
for k=1:1:2000
time(k)=k*ts;
rin(k)=0.50*sin(1*2*pi*k*ts);
para=u_1; %D/A
tSpan=[0 ts];
[tt,xx]=ode45('chap1_6f',tSpan,xk,[],para); xk=xx(length(xx),:); %A/D yout(k)=xk(1);
e(k)=rin(k)-yout(k);
de(k)=(e(k)-e_1)/ts;
u(k)=20.0*e(k)+0.50*de(k);
if u(k)>10.0
u(k)=10.0;
end
if u(k)<-10.0
u(k)=-10.0;
end
u_1=u(k);
e_1=e(k);
end
figure(1);
plot(time,rin,'r',time,yout,'b');
xlabel('time(s)'),ylabel('rin,yout');。