《曲柄滑块机构matlab2015b动画仿真》由会员分享,可在线阅读,更多相关《曲柄滑块机构matlab2015b动画仿真(4页珍藏版)》请在金锄头文库上搜索。
1、曲柄滑块机构 MATLAB 动画仿真程序 1 曲柄滑块曲柄滑块机构机构 MATLABMATLAB2015b2015b 动画动画仿真仿真 图 1 曲柄滑块的简图 上图是曲柄滑块的简图,其中 x1是滑块左端的横坐标,x2是滑块右端的横坐标,也是滑块和连杆连接处铰链的坐标,x3是连杆和曲柄 连接处的铰链,x4是连接曲柄和转轮铰链的横坐标,y1是纵坐标。定义曲柄滑块的参数 p=x1,x2,x3,x4,y1,使用此参数进行 MATLAB 动画仿真。参考程序见下页。 y1 x1x2x3x4 曲柄滑块机构 MATLAB 动画仿真程序 2 % 本程序是曲柄滑块机构 MATLAB 动画仿真程序 % 作者:未知
2、% 创建日期:未知 % 修改人:鲁鹏 % 修改日期:2017 年 4 月 27 日 % 软件版本:MATLAB2015b p=-5,-2.5,2.2,3.5,0;%输入曲柄滑块参数 p n=5;%设置曲柄旋转圈数 h=figure(name,曲柄滑块机构);%设置图形的名称,返回图形的句柄 h.Color=g;%设置图形背景颜色 hold on%保留当前坐标中的图形 axis(-6,6,-4,4);%设置坐标轴的范围,x 从-6 到 6,y 从-4 到 4 axis(off);%不显示坐标轴 h1=line(p(1);p(2),p(5);p(5),color,b,linestyle,-,lin
3、ewidth,40);%设置活塞初始位置及属性 h2=line(p(4),p(5),color,0.5 0.6 0.3,Marker,.,markersize,300);%设置转轮位置及属性 h3=line(p(2);p(3),p(5);p(5),color,black,linewidth,10);%设置连杆初始位置及属性 h4=line(p(3),p(5),color,black,Marker,.,markersize,50);%设置连接连杆和曲柄的铰链的初始位置及属性 曲柄滑块机构 MATLAB 动画仿真程序 3 h5=line(p(2),p(5),color,black,Marker,.
4、,markersize,40);%设置连接连杆和活塞的铰链的初始位置及属性 h6=line(p(3);p(4),p(5);p(5),color,black,linestyle,-,linewidth,10);%设置曲柄初始位置及属性 h7=line(p(4),p(5),color,k,Marker,.,markersize,50);%设置连接曲柄和转轮的铰链的初始位置及属性 h8=line(-5.1,-0.2,0.7,0.7+p(5),color,y,linestyle,-,linewidth,5);%设置汽缸上壁 h9=line(-5.1,-0.2,-0.72,-0.72+p(5),colo
5、r,y,linestyle,-,linewidth,5);%设置汽缸下壁 h10=line(-5.1,-5.1,-0.8,0.75+p(5),color,y,linestyle,-,linewidth,5);%设置汽缸左侧壁 h11=fill(-5,-5,-5,-5,0.61,0.61,-0.61,-0.61+p(5),0.9,0.9,0.9);%设置汽缸气体 H=p(2)-p(1);%活塞长 L=p(3)-p(2);%连杆长 L R=p(4)-p(3);%运动半径 R,也就是曲柄长 d_theta=0.015*pi;%设置每次循环 theta 的增量 theta=0;%初始化 theta p
6、_copy=p;%把曲柄滑块的参数赋值给 p_copy %以下 for 循环可以改变曲柄旋转的圈数 for i=1:2*n*pi/d_theta theta=theta+d_theta; %如果 theta 大于 2*pi 将 0 赋值给 theta 曲柄滑块机构 MATLAB 动画仿真程序 4 if theta2*pi theta=0; end Lx=sqrt(L)2-(R*sin(theta)2);%连杆在运动过程中横轴 x 上的有效长度 Lx Rx=R*cos(theta);%曲柄在运动过程中横轴 x 上的有效长度 Rx p_copy(2)=p_copy(4)-Lx-Rx;%活塞在运动过
7、程中的其右顶点横坐标 p_copy(1)=p_copy(2)-H;%活塞在运动过程中的左顶点横坐标 p_copy(3)=p_copy(4)-R*cos(theta);%连杆与曲柄连接处的铰链在运动过程中的横坐标 y=p_copy(5)+R*sin(theta);%连杆与曲柄连接处的铰链在运动过程中的纵坐标,改变 R*sin(theta)的符号可以改变曲柄转向 set(h1,xdata,p_copy(2)-H;p_copy(2),ydata,p_copy(5);p_copy(5);%更改 h1 确定的图形(活塞)的参数 set(h3,xdata,p_copy(2);p_copy(3),ydata
8、,p_copy(5);y);%更改句柄 h3 所确定的图形(连杆)的参数 set(h4,xdata,p_copy(3),ydata,y);%更改句柄 h4 所确定的图形(连接连杆和曲柄的铰链)的参数 set(h5,xdata,p_copy(2);%更改句柄 h5 所确定的图形(连接连杆和活塞的铰链)的参数 set(h6,xdata,p_copy(3);p_copy(4),ydata,y;p_copy(5);%更改句柄 h6 所确定的图形(曲柄)的参数 set(h11,xdata,-5,p_copy(1),p_copy(1),-5);%更改句柄 h11 所确定的图形(汽缸内的气体)的参数 set(gcf,doublebuffer,on);%消除震动 drawnow; end