文档详情

自動控制原理-实验PID.doc

发布:2017-01-17约1.63千字共6页下载文档
文本预览下载声明
实验六???PID控制器的设计 实验目的 研究PID控制器对系统的影响; 实验原理 1.模拟PID控制器 function [sys,x0,str,ts]=jfflpid(t,x,u,flag,Kp,Ti,Td,T,E) % 积分分离PID S-函数 % T为采样周期,E为积分分离阈值 global umax Ki Kd uk_1 ek_1 ek_2 B %umax为最大控制量,B为积分分离算子 switch flag, case 0, %Initialization 初始化部分 sizes=simsizes; sizes.NumContStates=0; sizes.NumDiscStates=0; sizes.NumOutputs=1; sizes.NumInputs=1; sizes.DirFeedthrough=1; sizes.NumSampleTimes=1; sys=simsizes(sizes); x0=[]; str=[]; ts=[T 0]; umax=50; uk_1=0; ek_1=0; ek_2=0; Ki=Kp*T/Ti; Kd=Kp*Td/T; % 控制器参数初始化 case 3, % Outputs 控制器输出计算 ek=u; % 获取误差 if abs(ek)=E, B=1; else B=0; end uk=uk_1+Kp*(ek-ek_1)+B*Ki*ek+Kd*(ek-2*ek_1+ek_2); if ukumax, uk=umax; end if uk-umax, uk=-umax; end uk_1=uk; ek_2=ek_1; ek_1=ek; sys=[uk]; case {1,2,4,9} sys=[]; otherwise error([无效的标志 flag=,num2str(flag)]); end (1)Ti≈∞,Td≈0?时,在不同KP值下,闭环系统的阶跃响应; Kp=2;Ti=10000;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=8;Ti=10000;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=200;Ti=10000;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; (2)?Kp=1,Td≈0时,在Ti不同值下,闭环系统的阶跃响应 Kp=1;Ti=0.5;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=1;Ti=1;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=1;Ti=10;Td=0.001;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; (3)?Kp=Ti=1时,在Td不同值下,闭环系统的阶跃响应; Kp=1;Ti=1;Td=0.5;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=1;Ti=1;Td=10;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T; Kp=1;Ti=1;Td=20;T=0.3;E=100; Ki=Kp*T/Ti;Kd=Kp*Td/T;
显示全部
相似文档