- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一PID调节器参数整定分析.doc
《计算机控制技术》实验指导书
(软件部分)
编写:唐红雨 黄海峰
镇江高等专科学校电子信息系
2007年3月目 录
实验一 PID调节器参数整定分析 2
实验二 采样控制系统分析 4
实验三 程序判断滤波 5
实验四 中值滤波 6
实验五 平均值滤波 8
实验一 PID调节器参数整定分析
一、实验目的
设计MATLAB的M文件,用来实现PID调节器的功能,分析Kp、Kd、Ki三个参数对系统性能的影响。
二、实验步骤
开机执行程序,用鼠标双击图标进入MATLAB命令窗口:Command Windows
新建M-file,然后,输入设计好的程序。
调试,检查错误,然后运行。
观察系统对不同参数的相应曲线,分析其原因。
三、实验要求
1、实验之前,查阅有关资料,编写好相应的程序。
2、认真做好仿真记录
四、实验报告要求
叙述Kp、Kd、Ki三个参数对系统性能的影响。
附程序:
1 % 比例控制
G=tf(10,[1 6 11 6]);P=[0.10.1:1];for i=1:length(P)
G_c=feedback(P(i)*G,1);step(G_c),hold onend
2 % 比例积分控制
G=tf(10,[1 6 11 6])Kp=1;Ti=[08:02:16];Kp一定,不同Ti的输入
for i=1:length(Ti)
Gc=tf(Kp*[1,1/Ti(i)],[1,0]);Ti的系统参数
G_c=feedback(G*Gc,1);step(G_c),hold onG=tf(10,[1 6 11 6])Kp=1;Ti=0.6;Td=[01:02:2];Kp、Ti一定,不同Td的输入
for i=1:length(Td)
Gc=tf(Kp*[Ti*Td(i),Ti,1]/Ti,[1,0]);Td的系统参数
G_c=feedback(G*Gc,1);step(G_c),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]);Gc1ziegler函数,P控制
[Gc2,Kp2,Ti2]=ziegler(2,[Kc,Tc,10]);Gc2[Gc3,Kp3,Ti3,Td3]=ziegler(3,[Kc,Tc,10]);Gc3G_c1=feedback(G*Gc1,1);step(G_c1);hold onG_c2=feedback(G*Gc2,1);step(G_c2);
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; Ti=3.33*L; %PI控制器
elseif key==3 %PID控制器
Kp=1.2/a; Ti=2*L; Td=L/2;
end
elseif 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==3
Kp=0.6*K; Ti=0.5*Tc; Td=0.12*Tc;
end
elseif length(vars)==5,
K=vars(1); Tc=vars(2);
rb=vars(3); pb=pi*vars(4)/180;
N=vars(5); Kp=K*rb*cos(pb);
if key==2,
Ti=-Tc/(2*pi*tan(pb));
elseif key==3
Ti=Tc*(1+sin(pb))/(pi*cos(pb));
Td=Ti/4;
end
end
switch key
case 1, Gc=Kp;
case 2, Gc=tf(Kp*[Ti,1],[Ti,0]);
case 3
文档评论(0)