⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getpid.m

📁 Pid自整定程序 输入 num: 控制对象传函分子向量 den 控制对象传函分母向量 time:仿真时间 interval:仿真时间间隔
💻 M
字号:
%=========================================================================
%Cohen-Coon PID整定算法
%                       Cohen-Coon整定参数表
%               Kp              Ti                   Td
% P       
% PI
% PD
% PID
%输入参数; key:控制器选择(以上顺序依次为1 2 3 4)
%          vars: [K LT N]输入参数数组
%输出参数:
% Gc:  控制器传递函数
% Kp: 比例参数
% Ti: 积分时间
% Td: 微分时间
%==========================================================================
function [Gc,Kp,Ti,Td] = getpid(key,vars)
K = vars(1);L = vars(2);T = vars(3); N = vars(4);
a = K*L/T; tau = L/(L+T);
switch key
    case 1                       % P控制器
        Kp = (1 + 0.35*tau/(1 - tau))/a;
        Ti = [];
        Td = [];
        Gc = tf(Kp,1);
    case 2                       % PI控制器 
        Kp = 0.9*(1 + 0.92*tau/(1 - tau))/a;
        Ti = L*(3.3 - 3*tau)/(1 +1.2*tau);
        Td = [];
        Gc = tf( Kp*[Ti,1],[Ti,0]);
    case 3;                      % PD控制器
        Kp = 1.24*(1 + 0.13*tau/(1 - tau))/a;
        Td = L*(0.27 - 0.36*tau)/(1 - 0.87*tau);
        Ti = [];
        Gc = tf( Kp*[ Td*(N+1)/N,1],[Td/N,1] );
    case 4                       % PID控制器 
        Kp = 1.35*(1 + 0.18*tau/(1 - tau))/a;
        Ti = L*(2.5 - 2*tau)/(1 - 0.39*tau);
        Td = L*(0.37 - 0.37*tau)/(1 - 0.81*tau);
        nn = [ Kp*Ti*Td*(N+1)/N, Kp*(Ti + Td/N), Kp];
        dd = Ti*[ Td/N, 1 , 0];
        Gc = tf(nn,dd);
    otherwise
end
end


        





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -