您现在的位置:首页 >> 智能控制 >> 内容

m基于PID+kalman滤波的控制器性能MATLAB仿真

时间:2023/1/21 20:09:00 点击:

  核心提示:08_001_m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56XmJhr

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

        PID控制器,即控制器的控制方式为P比例调整,I积分调整以及D微分调整三个部分构成,PID控制器是目前为止应用最为广泛的控制方式。PID控制器具有结构简单,性能稳定,参数设置简单等优势。PID控制器适用于各种控制对象无法进行测量获得系统参数的情况,其根据控制对象的输出和参考控制变量的输入差进行实时的调整实现对未知参数控制对象的有效控制。

4.部分源码

.....................................................

A1=[0 1;0 -a];

B1=[0;b];

C1=[1 0];

D1=[0];

[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');

Q=1;               %Covariances of w

R=1;               %Covariances of v

P=B*Q*B';          %Initial error covariance

x=zeros(2,1);      %Initial condition on the state

u_1=0;u_2=0;

y_1=0;y_2=0;

ei=0;

error_1=0;

for k=1:N

  time(k)=k*ts;

 

rin(k)=1;

kp=8.0;ki=0.80;kd=0.20;

......................................................................

    

x=A*x+Mn*(yv(k)-C*A*x);

ye(k)=C*x+D;     %Filtered value

if M==1          %Not using filter

  yout(k)=yv(k);

end

if M==2      %Using filter

   yout(k)=ye(k);

end

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts;

u(k)=kp*error(k)+ki*ei+kd*(error(k)-error_1)/ts;   %PID

u(k)=u(k)+w(k);

......................................................

08_001_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168