数字PID的仿真实验例子
- 格式:ppt
- 大小:218.50 KB
- 文档页数:25
实验三 数字式PID 调节器控制算法仿真一、实验目的1、了解并掌握基本的数字PID 控制算法和常用的PID 控制改进算法。
2、掌握用Matlab 进行仿真的方法。
3、了解PID 参数整定的方法及参数整定在整个系统中的重要性。
二、实验设备PC 机(Matlab 软件)三、实验原理1、基本的PID 控制算法:基本的数字P0控制有三种算法:位置式、增量式和速率式,其中应用最为广泛的是增量式,因为增量式算法只与最近几次采样值有关,不需要累加;计算机输出增量,误差动作时影响小。
因此这里采用增量式PID 算法:)]1()1(2)([)()]1()([)(-+--++--=∆k e k e k e k k e k k e k e k k u d i p其中设)]1()([)(--=k e k e k k u p p)()(k e k k u i i =)]2()1(2)([)(-+--=k e k e k e k k u d d则)()()()(k u k u k u k u d i p ++=∆2、数字PID 调节器参数的整定:为使系统性能满足一定的要求,必须确定算法中各参数的具体值,这就是参数整定。
参数整定是十分重要的,调节系统参数整定的好坏直接影响调节品质。
要想快速、灵活的将参数整定好,首先应透彻理解这些参数对系统性能的影响:增大比例系数,一般将加快系统的响应,这在有静差系统中有利于减小静差,但过大会使系统有较大超调,并产生振荡,使稳定性变坏。
增大积分时间(积分作用减弱)有利于减小超调,减小振荡,使系统更加稳定,但系统静差消除的过程将随之减慢。
增大微分时间(微分作用增强)有利于加快系统响应,使超调减小,稳定性增加,但系统对扰动有较敏感的响应。
四、实验要求1、在Matlab 环境中,按照给定对象,构建仿真PID 控制系统。
2、调整PID 参数,观察各参数对系统响应的影响。
3、采用增量式PID 算法进行控制系统仿真,对各参数进行整定,观察系统响应曲线,直到获得满意的响应曲线。
PID仿真实验报告PID控制是一种经典的控制方法,被广泛应用于工业自动化控制系统中。
本次实验主要针对PID控制器的参数调整方法进行仿真研究。
实验目的:1.研究PID控制器的工作原理;2.了解PID参数调整的方法;3.通过仿真实验比较不同PID参数对系统控制性能的影响。
实验原理:PID控制器由比例(P)、积分(I)、微分(D)三个控制部分组成。
比例控制:输出与误差成比例,用来修正系统集成误差;积分控制:输出与误差的积分关系成比例,用来修正系统持续存在的静态误差;微分控制:输出与误差变化率成比例,用来修正系统的瞬态过程。
PID参数调整方法有很多种,常见的有经验法、Ziegler-Nichols法和优化算法等。
实验中我们使用经验法进行调整,根据系统特性来进行手动参数调整。
实验装置与步骤:实验装置:MATLAB/Simulink软件、PID控制器模型、被控对象模型。
实验步骤:1. 在Simulink中建立PID控制器模型和被控对象模型;2.设定PID控制器的初始参数;3.运行仿真模型,并记录系统的响应曲线;4.根据系统响应曲线,手动调整PID参数;5.重复第3步和第4步,直到系统的响应满足要求。
实验结果与分析:从图中可以看出,系统的响应曲线中存在较大的超调量和震荡,说明初始的PID参数对系统控制性能影响较大。
从图中可以看出,系统的响应曲线较为平稳,没有出现明显的超调和震荡。
说明手动调整后的PID参数能够使系统达到较好的控制效果。
总结与结论:通过本次实验,我们对PID控制器的参数调整方法进行了研究。
通过手动调整PID参数,我们能够改善系统的控制性能,提高系统的响应速度和稳定性。
这为工业自动化控制系统的设计和优化提供了参考。
需要注意的是,PID参数的调整是一个复杂的工作,需要结合具体的控制对象和要求进行综合考虑。
而且,不同的参数调整方法可能适用于不同的控制对象和场景。
因此,在实际应用中,需要根据具体情况选择合适的参数调整方法,并进行实验验证。
计算机控制技术实验指导书(MATLAB版)机电学院杨蜀秦编2012-11-19实验一 连续系统的模拟PID 仿真一、基本的PID 控制 在模拟控制系统中,控制器最常用的控制规律是PID 控制。
模拟PID 控制系统原理框图如图1-1所示。
图1-1 模拟PID 控制系统原理框图PID 控制规律为:⎪⎪⎭⎫⎝⎛++=⎰dt t de T dt t e T t e k t u DtI p )()(1)()(0或写成传递函数的形式⎪⎪⎭⎫ ⎝⎛++==s T s T k s E s U s G D I p 11)()()( Ex1 以二阶线性传递函数ss 251332+为被控对象,进行模拟PID 控制。
输入信号)2.0*2sin()(t t r π=,仿真时取3,1,60===d i p k k k ,采用ODE45迭代方法,仿真时间10s 。
仿真方法一:在Simulink 下进行仿真,PID 控制由Simulink Extras 节点中的PID Controller 提供。
仿真程序:ex1_1.mdl ,如图1-2所示。
图1-2 连续系统PID 的Simulink 仿真程序连续系统的模拟PID 控制正弦响应结果如图1-3所示。
图1-3 连续系统的模拟PID 控制正弦响应仿真方法二:在仿真一的基础上,将仿真结果输出到工作空间中,并利用m 文件作图。
仿真程序:ex1_2.mdl ,程序中同时采用了传递函数的另一种表达方式,即状态方程的形式,其中[]0,01,1330,25010==⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-=D C B A ,如图1-4所示。
m 文件作图程序:ex1_2plot.mclose all ;plot(t,rin,'k',t,yout,'k'); xlabel('time(s)'); ylabel('r,y');二、线性时变系统的PID 控制 Ex2 设被控对象为Jss Ks G +=2)(,其中)2sin(300400),6sin(1020t K t J ππ+=+=,输入信号为)2sin(5.0t π。
实验4 PID 控制器一、 实验目的1. 了解PID 控制器中P ,I ,D 三种基本控制作用对控制系统性能的影响。
2. 进行PID 控制器参数工程整定技能训练。
二、实验内容:题目1 了解P 、I 、D 三种控制器的作用:. )11(s T sT K G d i p c ++= 已知被控对象传递函数为3)1(1+sA 获取比例系数为1的系统阶跃响应曲线;实验步骤:在matlab 命令窗口中键入: clcclear allg0=tf(1,conv([1 2 1],[1 1])); kp=1;sys=feedback(kp*g0,1); step(sys);legend('Kp=1');grid on 运行得到的图象如图一:Step ResponseTime (sec)A m p l i t u d e图一B 调节比例系数,分析p K 过大和过小对系统动态性能(s p t t ,,σ)有何影响?稳态性能(稳定/ss e )的影响;实验步骤:在matlab 命令窗口中键入: clcclear allg0=tf(1,conv([1 2 1],[1 1])); kp=0.1:0.6:3;for i=1:length(kp)sys=feedback(kp(i)*g0,1); step(sys);legend('first','second','third','four','five'); grid on hold onend 运行之后得到的图象如图二:0246810121416180.10.20.30.40.50.60.70.80.91Step ResponseTime (sec)A m p l i t u d e图二分析:图二中绘制了Kp 从0.1到3时的系统单位阶跃响应曲线,可以看到,当比例作用增大时,闭环系统稳态误差变小,响应的震荡加剧,响应速度变快。
PID仿真实验报告PID控制算法是一种重要的控制算法,被广泛应用于工业控制系统中。
本文通过仿真实验的方式,对PID控制算法进行了验证和分析。
一、实验目的1.了解PID控制算法的基本原理和调节方法;2. 掌握MATLAB/Simulink软件的使用,进行PID控制实验仿真;3.验证PID控制算法的稳定性和性能。
二、实验内容本次实验选择一个常见的控制系统模型,以电感驱动的直流电机控制系统为例。
通过PID控制算法对该系统进行控制,观察系统的响应特性。
三、实验步骤1.搭建电感驱动的直流电机控制系统模型,包括电感、直流电机、PID控制器等组成部分;2.设置PID控制器的参数,包括比例增益Kp、积分时间Ti、微分时间Td等;3.进行仿真实验,输入适当的控制信号,观察系统的响应曲线;4.调节PID控制器的参数,尝试不同的调节方法,观察响应曲线的变化,寻找合适的参数。
四、实验结果与分析1.首先,设置PID控制器的参数为Kp=1,Ti=1,Td=0,进行仿真实验。
观察到系统的响应曲线,并记录与分析曲线的特点;2.其次,调整PID控制器的参数,如增大比例增益Kp,观察系统的响应曲线的变化;3.最后,调整积分时间Ti和微分时间Td,观察系统的响应曲线的变化。
通过实验结果与分析,可以得到以下结论:1.PID控制算法能够有效地控制系统,并实现稳定的控制;2.比例增益Kp对系统的超调量有较大的影响,增大Kp可以减小超调量,但也会增加系统的稳定时间;3.积分时间Ti对系统的稳态误差有较大的影响,增大Ti可以减小稳态误差,但也会增加系统的超调量;4.微分时间Td对系统的响应速度有较大的影响,增大Td可以增加系统的响应速度,但可能会引起系统的振荡。
五、实验总结通过本次实验,我深入理解了PID控制算法的原理和调节方法。
同时,通过对实验结果的分析,我也了解了PID控制算法的稳定性和性能。
在实际工程应用中,需要根据具体的控制对象,合理选择PID控制器的参数,并进行调节优化,以获得理想的控制效果。
《计算机控制技术》数字PID控制器设计与仿真实验报告课程名称:计算机控制技术实验实验类型:设计型实验项目名称:数字PID控制器设计与仿真一、实验目的和要求1. 学习并掌握数字PID以及积分分离PID控制算法的设计原理及应用。
2. 学习并掌握数字PID控制算法参数整定方法。
二、实验内容和原理图3-1图3-1是一个典型的 PID 闭环控制系统方框图,其硬件电路原理及接线图可设计如图1-2所示。
图3-2中画“○”的线需用户在实验中自行接好,对象需用户在模拟实验平台上的运放单元搭接。
图3-2上图中,ADC1为模拟输入,DAC1为模拟输出,“DIN0”是C8051F管脚 P1.4,在这里作为输入管脚用来检测信号是否同步。
这里,系统误差信号E通过模数转换“ADC1”端输入,控制机的定时器作为基准时钟(初始化为10ms),定时采集“ADC1”端的信号,得到信号E的数字量,并进行PID计算,得到相应的控制量,再把控制量送到控制计算机及其接口单元,由“DAC1”端输出相应的模拟信号,来控制对象系统。
本实验中,采用位置式PID算式。
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,会有较大的误差,以及系统有惯性和滞后,因此在积分项的作用下,往往会使系统超调变大、过渡时间变长。
为此,可采用积分分离法PID控制算法,即:当误差e(k)较大时,取消积分作用;当误差e(k)较小时才将积分作用加入。
图3-3是积分分离法PID控制实验的参考程序流程图。
图3-3三、主要仪器设备计算机、模拟电气实验箱四、操作方法与实验步骤1.按照图3-2搭建实验仿真平台。
2.确定系统的采样周期以及积分分离值。
3.参考给出的流程图编写实验程序,将积分分离值设为最大值0x7F,编译、链接。
4.点击,使系统进入调试模式,点击,使系统开始运行,用示波器分别观测输入端R以及输出端C。
5.如果系统性能不满意,用凑试法修改PID参数,再重复步骤3和4,直到响应曲线满意,并记录响应曲线的超调量和过渡时间。
pid控制实验报告pid控制实验报告篇一:PID控制实验报告实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
一、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:Tu T ?kpeu=para; J=0.0067;B=0.1; dy=zeros= y= -+ = k*ts; %time中存放着各采样时刻rineu_1=uerror_1=error;%误差信号更新图2-1 Simulink仿真程序其程序运行结果如表2所示。
Matlab输出结果errori = error_1 = 表2 例4程序运行结果三、离散系统的数字PID控制仿真1.Ex5 设被控对象为G?num 仿真程序:ex5.m%PID Controller clear all; close all;篇二:自动控制实验报告六-数字PID控制实验六数字PID控制一、实验目的1.研究PID控制器的参数对系统稳定性及过渡过程的影响。
2.研究采样周期T对系统特性的影响。
3.研究I型系统及系统的稳定误差。
二、实验仪器1.EL-AT-III型自动控制系统实验箱一台 2.计算机一台三、实验内容1.系统结构图如6-1图。
图6-1 系统结构图图中 Gc(s)=Kp(1+Ki/s+Kds) Gh(s)=(1-e)/s Gp1(s)=5/((0.5s+1)(0.1s+1)) Gp2(s)=1/(s(0.1s+1))-TS 2.开环系统(被控制对象)的模拟电路图如图6-2和图6-3,其中图6-2对应GP1(s),图6-3对应Gp2(s)。
图6-2 开环系统结构图1 图6-3开环系统结构图2 3.被控对象GP1(s)为“0型”系统,采用PI控制或PID控制,可使系统变为“I型”系统,被控对象Gp2(s)为“I型”系统,采用PI控制或PID控制可使系统变成“II型”系统。
离散系统数字PID 控制仿真一、题目:用数字PID 控制传递函数为G(s)的被控对象:G(s)=523500/(s^3+87.35*s^2+10470*s)二、分析过程:1、对G(s)进行离散化即进行Z 变换得到Z 传递函数:G(Z)=(n1*z^3+n2*z^2+n3*z+n4)/(m1*z^3+m2*z^2+m3*z+m4)注:之所以为z 的三次式,这是通过matlab 进行z 变换后,观察num,den 的数据得到z 传递函数形式为z 的三次式,若为其他次数n ,则相应有n+1项。
2、分子分母除以z 的最高次数即除以z 的3次得到:Y(z)/U(z)=(n1+n2*z^-1+n3*z*^-2+n4*z^-3)/(m1+m2*z^-1+m3*z^-2+m4*z^-3) (m1+m2*z^-1+m3*z^-2+m4*z^-3) Y(z)= (n1+n2*z^-1+n3*z*^-2+n4*z^-3)* U(z)3、由z 的位移定理Z[e(t-kt)]=z^k*E(z)逆变换得到差分方程:m1*y(k)+m2*y(k-1)+m3*y(k-2)+m4*y(k-3)=n1*u(k)+n2*u(k-1)+n3*u(k-2)+n4*u(k-3) 通常m1=1得:y(k)+m2*y(k-1)+m3*y(k-2)+m4*y(k-3)=n1*u(k)+n2*u(k-1)+n3*u(k-2)+n4*u(k-3) y(k)=-m2*y(k-1)-m3*y(k-2)-m4*y(k-3)+n1*u(k)+n2*u(k-1)+n3*u(k-2)+n4*u(k-3)4、PID 编程实现P :△y = Kp* △ε I: D: 由于是仿真采样此处为数字式故采样时间为1ms ,时间很短,已经相当于微元化,所以可以按照以下程序实现PID 控制:x(1)=error(k); %数字控制器的P 编程实现 数字式控制器需要采样已经微元化 x(2)=(error(k)-error_1)/ts; %数字控制器的D 编程实现⎰⋅=∆dt T y I ε1dtd T y D ε=∆x(3)=error(k)*ts; %数字控制器的I编程实现三、程序清单clear all;close all;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; %初始化差分方程的初始值y_1=0.0;y_2=0.0;y_3=0.0;x=[0,0,0]'; %PID的三个变量并赋予初值error_1=0; %作为偏差的前一时刻的变量for k=1:1:1500time(k)=k*ts;%设置输入信号类型和PID参数S=2;if S==1kp=0.50;ki=0.001;kd=0.001;rin(k)=1; %Step Signalelseif S==2kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts)); %Square Wave Signalelseif S==3kp=1.5;ki=1.0;kd=0.01; %Sine Signalrin(k)=0.5*sin(2*2*pi*k*ts);endu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID控制器输出,作为被控对象的输入if u(k)>=10 %限制控制器的输出u(k)=10;endif u(k)<=-10u(k)=-10;end%*****************************************关键点*****************************************% yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;%被控对象传递函数的输出与输入的关系,由Z变换的位移定理的逆变换得到%*****************************************关键点*****************************************%error(k)=rin(k)-yout(k);u_3=u_2;u_2=u_1;u_1=u(k); %参数反馈,差分方程得以继续y_3=y_2;y_2=y_1;y_1=yout(k);%*****************************************关键点*****************************************% x(1)=error(k); %数字控制器的P编程实现数字式控制器需要采样已经微元化x(2)=(error(k)-error_1)/ts; %数字控制器的D编程实现x(3)=error(k)*ts; %数字控制器的I编程实现%*****************************************关键点*****************************************% error_1=error(k); %得到当前的偏差作为PID运算中进行偏差运算endfigure(1);plot(time,rin,'k',time,yout,'k');xlabel('time(s)'),ylabel('rin,yout');grid on四、评价数字PID控制算法的缺点是,由于采用全量输出,所以每次的输出都与过去的状态有关,计算时要对error(k)量进行累加,计算机输出控制量u(k)对应的是执行机构的实际位置偏差,如果位置传感器出现故障,u(k)可能出现大幅度变化。
4.5.1数字PID 控制实验 1 标准PID 控制算法1. 一. 实验要求2. 了解和掌握连续控制系统的PID 控制的原理。
3. 了解和掌握被控对象数学模型的建立。
4. 了解和掌握数字PID 调节器控制参数的工程整定方法。
观察和分析在标准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。
通常取 , 要求从图中测得 ; 通常取 , 要求从图中测得 。
计算 和 : 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 闭环控制系统实验数字PID 闭环控制系统实验构成见图4-5-12, 观察和分析在标准PID 控制系统中, P.I.D 参数对系统性能的影响, 分别改变P.I.D 参数, 观察输出特性, 填入实验报告,模块号 跨接座号 1 A5 S5, S7, S102 A7 S2, S7, S9, P3 B5‘S-ST ’1 输入信号R B5(OUT )→A5(H1)2 运放级联 A5A (OUTA )→A7(H1)3 示波器联接 ×1档B5(OUT )→B3(CH1) 4A7A (OUTA )→B3(CH2)图4-5-12 数字PID 闭环控制系统实验构成实验步骤: 注: 将‘S ST ’用‘短路套’短接!① 在显示与功能选择(D1)单元中, 通过波形选择按键选中‘矩形波’(矩形波指示灯亮)。
1 数字PID控制在MATLAB仿真实验下图为数字PID控制算法仿真实验的示意图:
在模拟的过程中,我们分别改变其中的一个参数,而其他的两个参数不变的情况下,观测他的图像变化。
1、当改变比例时:
分析结果:当只改变比例,积分和微分都不变的情况下,比例系数越大,调节作用越强,但是存在调节误差。
2、当只改变积分时
分析结果:当系统中只改变积分,而比例和微风都不变时,可以减少或消除误差,但响应慢。
3、当只改变微分时
分析结果:当系统中加入了微分环节时,改善了系统的稳定性能和动态性能,但是,它的响应比较慢。