PID调器参数整定分析_第1页
PID调器参数整定分析_第2页
PID调器参数整定分析_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机控制技术实验指导书(软件部分)编写:唐红雨 黄海峰镇江高等专科学校电子信息系2007年 3 月目录实验一 PID 调节器参数整定分析 2实验二采样控制系统分析 4实验三程序判断滤波 5实验四中值滤波 6实验五平均值滤波 8实验PID 调节器参数整定分析一、实验目的设计 MATLAB 的 M 文件,用来实现 PID 调节器的功能,分析 Kp 、Kd 、Ki 三个参数对 系统性能的影响。二、实验步骤 开机执行程序,用鼠标双击图标进入 MATLAB 命令窗口: Command Windows 新建 M-file ,然后,输入设计好的程序。调试,检查错误,然后运行。 观察系统对不同参数的相应曲线

2、,分析其原因。三、实验要求1、实验之前,查阅有关资料,编写好相应的程序。2、认真做好仿真记录四、实验报告要求 叙述 Kp 、Kd、Ki 三个参数对系统性能的影响。附程序:1 % 比例控制G=tf(10,1 6 11 6);P=0.1: 0.1: for i=1 :length(P) G_c=feedback(P(i)*G,1); step(G_c), hold on end1;%传递函数, Kp 变化范围%系统反馈%单位阶跃输入%系统传递函数%Kp 一定,不同 Ti 的输入%分别计算不同 Ti 的系统参数%阶跃响应曲线%系统传递函数%Kp 、Ti 一定,不同 Td 的输入%分别计算不同 Td

3、的系统参数%阶跃响应曲线%系统传递函数2 % 比例积分控制G=tf(10 ,1 6 11 6)Kp=1;Ti=0.8:0.2:1.6;for i=1 :length(Ti)Gc=tf(Kp*1 ,1/Ti(i) ,1 ,0);G_c=feedback(G*Gc, 1); step(G_c), hold on 3 % 比例、积分、微分控制G=tf(10 ,1 6 11 6) Kp=1;Ti=06;Td=0.1:0.2:2; for i=1 :length(Td)Gc=tf(Kp*Ti*Td(i) ,Ti, 1/Ti ,1,0); G_c=feedback(G*Gc, 1);step(G_c),

4、hold on end 4 %P 、PI、PID 三种控制策略G=tf(10 ,1 10 35 50 24);Kc,pp,wg,wp=margin(G) ;Tc=2*pi/wg ;%计算系统开环增益和剪切频率Gc1, Kp1=ziegler(1 , Kc , Tc, 10); Gc1%调用自定义 ziegler 函数,P 控制Gc2, Kp2, Ti2=ziegler(2, Kc, Tc, 10); Gc2%PI 控制Gc3, Kp3, Ti3, Td3=ziegler(3, Kc, Tc, 10); Gc3 %PID 控制 G_c1=feedback(G*Gc1, 1); step(G_c1

5、); hold on% P 控制,阶跃响应曲线G_c2=feedback(G*Gc2, 1); step(G_c2);%PI 控制,阶跃响应曲线G_c3=feedback(G*Gc3, 1); step(G_c3);其中 ziegler( )函数如下 :function Gc,Kp,Ti,Td,H=ziegler(key,vars)Ti= ; Td= ; H= ;if length(vars)=4,K=vars(1); L=vars(2);T=vars(3); N=vars(4); a=K*L/T;if key=1,Kp=1/a; %P 控制器elseif key=2, Kp=0.9/a; T

6、i=3.33*L;%PI 控制器elseif key=3 %PID 控制器Kp=1.2/a; Ti=2*L; Td=L/2;endelseif length(vars)=3,K=vars(1); Tc=vars(2); N=vars(3);if key=1, Kp=0.5*K;elseif key=2, Kp=0.4*K; Ti=0.8*Tc;elseif key=3Kp=0.6*K; Ti=0.5*Tc; Td=0.12*Tc;endelseif length(vars)=5,K=vars(1); Tc=vars(2);rb=vars(3); pb=pi*vars(4)/180;N=vars

7、(5); Kp=K*rb*cos(pb);if key=2,Ti=-Tc/(2*pi*tan(pb);elseif key=3Ti=Tc*(1+sin(pb)/(pi*cos(pb);Td=Ti/4;endendswitch keycase 1, Gc=Kp;case 2, Gc=tf(Kp*Ti,1,Ti,0);case 3nn=Kp*Ti*Td*(N+1)/N, Kp*(Ti+Td/N), Kp;dd=Ti*Td/N,1,0; Gc=tf(nn,dd);end实验二采样控制系统分析一、实验目的考察连续时间系统的采样控制中,零阶保持器的作用与采样时间间隔对 Ts对系统稳 定性的影响二、实验步

8、骤开机执行程序,用鼠标双击图标,进入 MATLAB命令窗口: Comma nd Win dows 在Comma nd Win dows窗口中输入:simuli nk,进入仿真界面,并新建 Model文件 在Model界面中构造连续时间系统的结构图。作时域仿真并确定系统时域性能指标。带零阶保持器的采样控制系统如下图所示。作时域仿真,调整采样间隔时间Ts,观察对系统稳定性的影响。三、实验要求(1)按照结构图程序设计好模型图,完成时域仿真的结构图(2)认真做好时域仿真记录 四、实验报告要求(1)叙述零阶保持器的作用(2)讨论采样时间间隔Ts对系统的影响附: step模块在 sources库中 sum

9、模块在 math operations库中 scope模块在sinks库中 transfer fen模块在 continuous库中 zero-order hold 模块在 discrete 库中实验三 程序判断滤波一、实验目的1掌握数字滤波中程序判断滤波的设计思路和单片机程序实现方法;2、学会使用51汇编集成开发环境调试程序判断滤波;3、学会使用保护现场、恢复现场的方法。、实验内容采样的信号如果因传感器不稳定而引起严重失真时,可以采用程序判断滤波。方法 是:根据经验确定两次采样允许的最大偏差厶 y,若两次采样信号的差值大于 y,表明输入的是干扰信号,应该去掉,用上次采样值作为本次采样值。若小

10、于或等于厶 y,则表 明没有受到干扰,本次采样值有效。本例设为03H,程序框图如图1所示。程序清单:ORG0050HPUSHACC;保护现场PUSHPSWMOV30H, #33HMOV31H,#31HMOVA,30H;Y nf ACLRCSUBBA,31H;求 Yn Yn-1JNCLP0;Yn Yn-1> 0 吗?CPLAADDA,#01HLP0: CLRCCJNEA,#01H,LP2; Yn "> y?LP1: MOV32H,30H;等于y,本次米样值有效AJMPLP3LP2: JCLP1;小于y,转本米样值有效MOV32H, 31H;大于 y, Yn-L 32HLP3

11、: POPPSW;恢复现场POPACC例如,当前采样值存30H,上次采样值存31H,结果存只有当本次采样值小于上次采样值才进行求补,保证 本次采样值有效。32Ho y根据经验确定,在调试过程中,分别对30H、31H置入数值,让两者 差值分别大于、等于、小于 y,注意观察32H中数值的 变化,以及程序的跳转情况。实验四中值滤波一、实验目的1、掌握数字滤波中中值滤波的设计思路和单片机程序实现方法;2、学会使用51汇编集成开发环境调试中值滤波;3、学会使用保护现场、恢复现场的方法。二、实验内容中值滤波就是连续输入3个检测信号,从中选择一个中间值作为有效信号。本例第 一次采集的数据存Ri,第二次采集的

12、数据存R2,第三次采集的数据存R3,中间值存Ro。程序清单如下:ORG0050HMOVR1,#11HMOVR2,#12HMOVR3,#13HPUSHPSW;保护PSW、APUSHAMOVA,R1;第1次采集的数据送ACLRCSUBBA,R2;JNCLOB01;第1次米集数大于第2次米集数?MOVA,R1XCHA,R2;第1、2次采集数互换MOVR1,ALOB01 :MOVA,R3CLRCSUBBA,R1JNCLOB03;第3次米集数大于第1次采集数?MOVA,R3CLRCSUBBA,R2JNCLOB04;第3次米集数大于第2次采集数则转MOV32H,ALOB02:POPA;恢复现场POPPSW

13、RETLOB03:MOVA,R1MOV32H,AAJMPLOB02LOB04:MOVA,R3MOV32H,AAJMPLOB02END调试过程中,首先分别对 R1、R2、R3 三个寄存器赋值,例如( R1)=24H,(R2) =30H, (R3) =2CH,程序运行结束后,(RO)=重新对R1、R2、R3三个寄存器赋值,观察 R0中数值的变化。( R0) =注:带下划线的数据可以自行改变。实验五平均值滤波一、实验目的1、掌握数字滤波中均值滤波的设计思路和单片机程序实现方法;2、学会使用51汇编集成开发环境调试中值滤波;3、学会使用保护现场、恢复现场的方法。二、实验内容均值滤波就是连续监测8个数据

14、,分别放在30H-37H中,首先求出8个数的和,放 在R6中,在求出平均值时,采用的方法是移位法,即对和向右移动3次,得到均值。此种方法适用于采样个数为2的幕次方,最后求出的均值放在38H单元。程序清单如下:ORG0050HMOVA, #88HMOV30H,#12HMOV31H,#22HMOV32H,#42HMOV33H,#52HMOV34H,#11HMOV35H,#21HMOV36H,#32HMOV37H,#04HPUSHPSW ;现场保护PUSHAMOV7FH, #00H ;进位位清零,7FH单元存放进位MOVR0, #30H;设置数据存储区首址MOVR7, #08H;设置采样数据个数CLR A7清累加器LOOP: ADD A,R0;两数相加JNCNEXT;无进位,转NEXTINC7FH;有进位,进位位加1NEXT: INC;R0;数据指针加1DJNZR7, LOOP;未加完,继续加MOVR7, #03H;设置循环次数DIVIDE: MOV R6, A;保存累加器中的内容,R6暂存数据M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论