simulink中搭建专家pid控制

1、内容简介

simulink中搭建专家pid控制
338-可以交流、咨询、答疑

2、内容说明


3、仿真分析

function [p,i,d] = fcn(e,de)
u = [e de];
%e de 对应误差 和误差变化率
% y1 2 3分别对应 p i d 增量
% 专家控制规则
y = zeros(3,1);
if abs(u(1))>0.8  % 当误差较大的时候,  加快响应
    y(1) = 0.02;y(2) = 0.0005;y(3) = 0; 
elseif abs(u(1))>0.4  % 当误差较大的时候, 加快响应
    y(1) = 0.007;y(2) = 0.0005;y(3) = 0; 
elseif abs(u(1))>0.2  % 当误差较大的时候,  加快响应
    y(1) = 0.004;y(2) = 0.0005;y(3) = 0; 
elseif abs(u(1))>0.01  % 当误差较大的时候, 加快响应
    y(1) = 0.001;y(2) = 0.0005;y(3) = 0; 
end

if u(1)*u(2)>0||(u(2)==0)       %规则2
    if abs(u(1))>=0.05 % 如果误差较大 用较强的控制作用
        y(1) = 0.02;y(2) = 0;y(3) = 0; 
    else % 误差绝对值朝增大的方向变化 但误差本身不大,
        y(1) = 0.01;y(2) = 0;y(3) = 0; 
    end
end

if (u(1)*u(2)<0&&u(2)>0)||(u(1)==0)   %规则3 此时误差朝着减少的方向变化,保持pid输出不变
   y(1) = 0;y(2) = 0;y(3) = 0; 
end

p = y(1);
i = y(2);
d = y(3);
 

 


4、参考论文

猜你喜欢

转载自blog.csdn.net/qingfengxd1/article/details/125381559