您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 凸轮运动Matlab仿真-Matlab课程设计
Matlab课程设计李俊机自091设计题目一:凸轮机构设计已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。%总程序代码clc;clf;clear;p=figure('position',[1001001200600]);fori=1:360%画圆形凸轮R=100;%圆形凸轮半径A=0:0.006:2*pi;B=i*pi/180;e=20;%偏心距a=e*cos(B);b=e*sin(B);x=R*cos(A)+a;y=R*sin(A)+b;subplot(1,2,1)plot(x,y,'b','LineWidth',3);%填充fill(x,y,'y')axis([-R-e,R+e,-R-e,R+e+100]);set(gca,'Xlim',[-R-e,R+e])set(gca,'Ylim',[-R-e,R+e+100])axisequal;axismanual;axisoff;holdon;plot(a,b,'og')plot(e,0,'or')plot(0,0,'or','LineWidth',3)%画滚子gcx=0;%滚子中心X坐标r=10;%滚子半径gcy=sqrt((R+r)^2-a^2)+b;%滚子中心Y坐标gx=r*cos(A)+gcx;%滚子X坐标gy=r*sin(A)+gcy;%滚子Y坐标plot(gx,gy,'b','LineWidth',2);%画其它部分plot([0a],[0b],'k','LineWidth',4)plot([33],[170190],'m','LineWidth',4)plot([-3-3],[170190],'m','LineWidth',4)%画顶杆gc=120;dgx=[00];dgy=[gcygcy+gc];plot(dgx,dgy,'LineWidth',4);holdoff%画位移图sx(i)=B;sy(i)=gcy;subplot(3,2,2)plot(sx,sy,'b','LineWidth',3)title('位移线图')gridonholdoff;%画速度图vx(i)=B;vy(i)=20*cos(B)+(40*cos(B).*sin(B))./(121-4*cos(B).^2).^(1/2);subplot(3,2,4)plot(vx,vy,'g','LineWidth',3)title('速度线图')gridonholdoff;%画加速度图ax(i)=B;ay(i)=(40*cos(B).^2)./(121-4*cos(B).^2).^(1/2)-20*sin(B)-(40*sin(B).^2)/(121-4*cos(B).^2).^(1/2)-(160*cos(B).^2.*sin(B).^2)/(121-4*cos(B).^2).^(3/2);subplot(3,2,6)plot(ax,ay,'r','LineWidth',3),xlabel('B')title('加速度线图')gridonholdoff;M=getframe;end截图附:通过求导求速度和加速度%求速度symsB;a=e*cos(B);b=e*sin(B);s=sqrt((R+r).^2-a.^2)+b;v=diff(s)结果:v=20*cos(B)+(40*cos(B)*sin(B))/(121-4*cos(B)^2)^(1/2)%求加速度symsB;v=20*cos(B)+(40*cos(B)*sin(B))/(121-4*cos(B)^2)^(1/2);a=diff(v)结果:a=(40*cos(B)^2)/(121-4*cos(B)^2)^(1/2)-20*sin(B)-(40*sin(B)^2)/(121-4*cos(B)^2)^(1/2)-(160*cos(B)^2*sin(B)^2)/(121-4*cos(B)^2)^(3/2)
本文标题:凸轮运动Matlab仿真-Matlab课程设计
链接地址:https://www.777doc.com/doc-6287525 .html