matlb凸轮仿真

上传人:壹****1 文档编号:561332257 上传时间:2022-12-06 格式:DOC 页数:10 大小:327KB
返回 下载 相关 举报
matlb凸轮仿真_第1页
第1页 / 共10页
matlb凸轮仿真_第2页
第2页 / 共10页
matlb凸轮仿真_第3页
第3页 / 共10页
matlb凸轮仿真_第4页
第4页 / 共10页
matlb凸轮仿真_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《matlb凸轮仿真》由会员分享,可在线阅读,更多相关《matlb凸轮仿真(10页珍藏版)》请在金锄头文库上搜索。

1、Harbin Institute of Technology 设计说明书(论文)课程名称: 精密机械学基础 设计题目: 盘形凸轮机构设计 学 院: 航天学院 专 业: 探测制导与控制技术 班 级: 0804201 设 计 者: 陈俊百 学 号: 1080420105 设计时间: 2010.10.26 摘要:通过使用matlab7.6数学软件,完成对直动从动件盘形凸轮机构的设计,准确的计算轮廓线的各点坐标并最终把凸轮的轮廓曲线精确绘制出来,达到可以使使用者对凸轮结构准确分析的目的。关键词:凸轮 轮廓设计思路:在计算机上完成实现从动件位移、速度、加速度曲线绘制、凸轮轮廓绘制及动画显示凸轮机构的运动

2、过程。能清晰地显示凸轮的轮廓和从动件的运动情况。正文:凸轮轮廓曲线的设计,一般可分为图解法和解析法,尽管应用图解法比较简单的绘制出各种平面凸轮的轮廓曲线,但由于作图误差较大,故对一些精度要求高的凸轮则不能满足设计要求。这就应该用解析法求出凸轮的轮廓线方程,精确地计算出轮廓线上的各点的坐标,并最后把凸轮的轮廓曲线精确绘制出来。因此,利用matlab7.6软件设计实现计算机的辅助设计。功能的实现:首先绘制界面,在matlab7.6软件中直接绘制绘图界面,将大概界面设计成型,可以实现既定R、E、H、J的参数的凸轮轮廓。绘制凸轮轮廓和从动件:已知凸轮理论轮廓线上的直角坐标方程:可以得到X、Y的值,绘制

3、出凸轮轮廓曲线,然后能根据E以及Y的值确定出一个可以根据凸轮轮廓而改变的从动件与凸轮的接触点,从而画出从动件。凸轮动画设计:通过For循环以及S=f(J),从而实现凸轮在匀速、等加速和余弦加速下的转动情况。运行效果图:匀速等加速余弦加速程序源文件:设定参数:handles.R=40;handles.E=10;handles.H=50;handles.j1=90;handles.j2=90;handles.j3=90;handles.j4=90;global J1;J1=handles.j1/180*pi;global J2;J2=handles.j2/180*pi;global J3;J3=h

4、andles.j3/180*pi;global J4;J4=handles.j4/180*pi;global S0;S0=(handles.R2-handles.E2)0.5;handles.jiaodu=360;handles.value=1;凸轮结构循环代码for j=1:360 J=j/180*pi; S1=handles.H/J1*J; S2=handles.H; S3=handles.H-handles.H/J3*(J-J1-J2); S4=0; if j360-handles.j4 S=S4; elseif j360-handles.j4-handles.j3 S=S3; else

5、if j360-handles.j4-handles.j3-handles.j2 S=S2; else S=S1; end x(j)=handles.E*cos(J)+(S0+S)*sin(J); y(j)=(S0+S)*cos(J)-handles.E*sin(J);end凸轮动画代码:global J1;J1=handles.j1/180*pi;global J2;J2=handles.j2/180*pi;global J3;J3=handles.j3/180*pi;global J4;J4=handles.j4/180*pi;global S0;handles.j4=360-handle

6、s.j1-handles.j2-handles.j3;J1=handles.j1/180*pi;J2=handles.j2/180*pi;J3=handles.j3/180*pi;J4=handles.j4/180*pi;S0=(handles.R2-handles.E2)0.5; i=linspace(0,2*pi,360);x1=handles.E*cos(i);y1=handles.E*sin(i);x2=handles.R*cos(i);y2=handles.R*sin(i);axes(handles.axes1);凸轮动画循环代码if handles.j1+handles.j2+ha

7、ndles.j3+handles.j4=360 for i=1:handles.jiaodu;I=i*pi/180;凸轮转动所需FOR循环for j=1:360 J=j/180*pi;switch handles.value分为3种情况:1 case 1 handles.S1=handles.H/J1*J; handles.S2=handles.H; handles.S3=handles.H-handles.H/J3*(J-J1-J2); handles.S4=0;2 case 2 if jhandles.j1/2; handles.S1=2*handles.H*(J/J1)2; else h

8、andles.S1=handles.H-2*handles.H*(J1-J)/J1)2; end handles.S2=handles.H; if j360-handles.j4 handles.S=handles.S4; elseif j360-handles.j4-handles.j3 handles.S=handles.S3; elseif j360-handles.j4-handles.j3-handles.j2 handles.S=handles.S2; else handles.S=handles.S1; end X(j)=handles.E*cos(J-I)+(S0+handle

9、s.S)*sin(J-I); Y(j)=(S0+handles.S)*cos(J-I)-handles.E*sin(J-I); if i=1 s(j)=handles.S; endend%凸轮轮廓曲线axis(-140 140 -140 140);pause(0.1);while i=1subplot(handles.axes2);%位移曲线 plot(x1,y1,x2,y2,X,Y);axis(-150 150 -150 150); subplot(handles.axes3);%速度曲线t=1:360;plot(t,s);axis(-10 400 -12 handles.H+12); su

10、bplot(handles.axes4);%加速度曲线for i=1:359 v(i)=s(i+1)-s(i); endplot(1:359,v);subplot(handles.axes5);for i=1:358 a(i)=v(i+1)-v(i); endplot(1:358,a);axes(handles.axes1);用matlab7.6编写程序,流程图如下:打印开始For J=0 To 360J360-J4J360-J4-J3J360-J4-J3-J2J=360?J=J+1S=S4S=S3S=S2S=S1X=f(J),Y=f(J)定坐标原点,画坐标轴,基圆画凸轮轮廓曲线S,a,v曲线输入R,H,E,J1,J2,J3,J4结束结束语:通过近三天的编程实践,本人受益良多,在更深刻理解了课上学习内容的同时,对matlab的熟悉程度也有较大提高。这次程序设计,让我对问题的分析能力有了较大提升,同时也认清了自身的不足,很多想法仍没有能力实现,希望在今后再做提高。最后,感谢老师对学生的谆谆教导,祝工作顺利、身体康健。 陈俊百 2010年10月27日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号