%PID Control with Stribeck Friction Model
clear all;
close all;
global w A alfa J Ce R Km Ku S a1 Fm Fc M kv
%Servo system Parameters
J=0.6;Ce=1.2;Km=6;
Ku=11;R=7.77;
A=0.10;
w=1*2*pi;
alfa=0.01;
T=1.0;
ts=0.001; %Sampling time
TimeSet=[0:ts:T];
M=1; %If M=0, No Friction works
S=1;
[t,x]=ode45('chap11_2plant',TimeSet,[0,0,0]);
x1=x(:,1);
x2=x(:,2);
x3=x(:,3);
if S==1
yd=A*sin(w*t);
dyd=A*w*cos(w*t);
ddyd=-A*w*w*sin(w*t);
error=yd-x(:,1);
derror=dyd-x(:,2);
end
if S==2
for kk=1:1:T/ts+1
yd(kk)=1;
dyd(kk)=0;
ddyd(kk)=0;
error(kk)=yd(kk)-x1(kk);
derror(kk)=dyd(kk)-x2(kk);
end
end
if S==3
for kk=1:1:T/ts+1
yd=A*sign(sin(0.4*2*pi*t));
dyd(kk)=0;
ddyd(kk)=0;
error(kk)=yd(kk)-x1(kk);
derror(kk)=dyd(kk)-x2(kk);
end
end
F=J*x(:,3);
x2=x(:,2);
for kk=1:1:T/ts+1
time(kk)=(kk-1)*ts;
if abs(x2(kk))<=alfa
if F(kk)>Fm
Ff(kk)=Fm;
elseif F(kk)<-Fm
Ff(kk)=-Fm;
else
Ff(kk)=F(kk);
end
end
if x2(kk)>alfa
Ff(kk)=Fc+(Fm-Fc)*exp(-a1*x2(kk))+kv*x2(kk);
elseif x2(kk)<-alfa
Ff(kk)=-Fc-(Fm-Fc)*exp(a1*x2(kk))+kv*x2(kk);
end
if M==0
Ff(kk)=0; %No Friction
end
u(kk)=200*error(kk)+40*derror(kk); %PID Control
if u(kk)>=10
u(kk)=10;
end
if u(kk)<=-10
u(kk)=-10;
end
end
figure(1);
plot(t,yd,'r',t,x(:,1),'k','linewidth',2);
xlabel('time(s)');ylabel('position tracking');
legend('ideal position signal','position tracking');
figure(2);
plot(t,dyd,'r',t,x(:,2),'k','linewidth',2);
xlabel('time(s)');ylabel('speed tracking');
legend('ideal speed signal','speed tracking');
figure(3);
plot(t,error,'r','linewidth',2);
xlabel('time(s)');ylabel('error');
figure(4);
plot(x(:,2),Ff,'r','linewidth',2);
xlabel('speed');ylabel('Friction');
figure(5);
plot(t,Ff,'r','linewidth',2);
xlabel('time(s)');ylabel('Friction');
figure(6);
plot(time,u,'r','linewidth',2);
xlabel('time(s)');ylabel('Control input');
没有合适的资源?快使用搜索试试~ 我知道了~
基于Matlab伺服系统PID控制(源码).rar
共19个文件
m:13个
mdl:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 8 下载量 135 浏览量
2023-07-21
09:47:05
上传
评论 3
收藏 46KB RAR 举报
温馨提示
1、资源内容:基于Matlab伺服系统PID控制(源码).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计中的部分功能,作为“参考资料”使用。 3、解压说明:本资源需要电脑端使用WinRAR、7zip等解压工具进行解压,没有解压工具的自行百度下载即可。 4、免责声明:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。由于作者大厂工作较忙,不提供答疑服务,如不存在资源缺失问题概不负责,谢谢理解。
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab伺服系统PID控制(源码).rar (19个子文件)
基于Matlab伺服系统PID控制(源码)
chap11_2.m 2KB
chap11_6input.m 628B
chap11_5plot.m 361B
chap11_3plot.m 452B
chap11_1plant.m 905B
chap11_3sim.mdl 25KB
chap11_6sim.mdl 23KB
chap11_6plot.m 347B
chap11_6int.m 118B
chap11_5int.m 952B
chap11_1sim.mdl 24KB
chap11_4int.m 937B
chap11_3plant.m 2KB
chap11_4plot.m 349B
chap11_1plot.m 441B
chap11_2sim.mdl 25KB
chap11_5sim.mdl 31KB
chap11_2plant.m 1KB
chap11_4sim.mdl 30KB
共 19 条
- 1
Matlab仿真实验室
- 粉丝: 2w+
- 资源: 2179
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- Docker在Ubuntu16.04上安装和部署Apache Storm
- test_kong.zip
- springboot权限验证学习-下
- SeetaFace6人脸质量评估C++代码实现Demo
- OCAuxiliaryTools
- 制药公司QC顶岗实习专题报告
- Rust 全面指南:从基础到高级,一网打尽 Rust 的编程知识
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页