📄 pid_ah_tune.m
字号:
function [Kp,Ti,Td,key,lb]=pid_ah_tune(key1,key2,vars)
key=0; Kp=[]; Ti=[]; Td=[]; lb=[];
K=vars(1); L=vars(2); T=vars(3);id=vars(4);
switch key1
case 1
switch key2
case 1
switch id
case 1
Kp=0.63*T/(K*L);Ti=3.2*L;
key=1;
case 2
Kp=0.7*T/(K*L);Ti=2.3*L;
key=1;
end
case 7
t=L/(L+T);
switch id
case 1
Kp=0.29*T*exp(3.7*t^2-2.7*t)/(K*L);Ti=8.9*L*exp(3.0*t^2-6.6*t);
if 0.14<=L/T&L/T<=5.5
key=1;
elseif L/T>5.5
key=2;lb=5.5;
else
key=3;lb=0.14;
end
case 2
Kp=0.78*exp(5.7*t^2-4.1*t)*T/(K*L);Ti=8.9*L*exp(3.0*t^2-6.6*t);
if 0.14<=L/T&L/T<=5.5
key=1;
elseif L/T>5.5
key=2;lb=5.5;
else
key=3;lb=0.14;
end
case 3
Kp=0.4*T/(K*L);Ti=0.7*T;
if 0.1<=L/T&L/T<=2
key=1;
elseif L/T>2
key=2;lb=2;
else
key=3;lb=0.1;
end
end
end
case 2
switch key2
case 1
Kp=0.94*T/(K*L);Ti=2*L;Td=0.5*L;
key=1;
case 7
t=L/(L+T);
switch id
case 1
Kp=3.8*T*exp(7.3*t^2-8.4*t)/(K*L);Ti=5.2*L*exp(-1.4*t^2-2.5*t);Td=0.89*L*exp(-4.1*t^2-0.37*t);
case 2
Kp=8.4*T*exp(9.8*t^2-9.6*t)/(K*L);Ti=3.2*L*exp(-0.93*t^2-1.5*t);Td=0.86*L*exp(-0.44*t^2-1.9*t);
end
if 0.14<=L/T&L/T<=5.5
key=1;
elseif L/T>5.5
key=2;lb=5.5;
else
key=3;lb=0.14;
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -