机械原理课程设计 牛头刨床凸轮机构
更新时间:2024-04-08 05:32:01 阅读量: 综合文库 文档下载
- 机械原理课程设计推荐度:
- 相关推荐
机械原理课程设计
编程说明书
设计题目:牛头刨床凸轮机构的设计及运动分析
指导教师:席本强 何凡 设 计 者: 姜正禄 学 号:0607070208 班 级:加工06-2班
2008年7.10日 辽宁工程技术大学
目 录
一、 计任务及要求 二、 数学模型的建立 三、 程序框 四、 程序中符号说明 五、 程序清单及运行结果 六、 课程设计总结 七、 参考文献
凸轮机构的设计
一、 基本条件与要求
已知: 从动件的最大摆角 ?max 许用压力角[?],从动件的长度lo9D,推
?程运动角?,远休止角
s,回程运动角?从动件见运动规律为等加、
,等减速运动,凸轮与曲柄共轴。
要求: 1) 计算从动件位移、速度、加速度并绘制线图,也可做动态显示。
2) 确定凸轮机构的基本尺寸,选取滚子半径,画出凸轮实际轮廓线,
并按比例绘出机构运动简图,以上内容作在2号图纸上。
3) 编写说明书
二 、根据运动分析写出与运动方程式
1.设从动件起始角?0?30.
2.1)???1/2,升程加速区,其运动方程为:
??2*?max?*?/(?1*?2):??4*?max*?/(?1*?1):??4*?max/(?1*?1);
2)?1/2?????1, 属于升程减速区,其运动方程为:
???max?2*?max*(?1??)*(?1??)/(?1*?1):??4*?max*(?1??)/?1*?1:???4*?max/?1*?1:
3)?1?????1??2,,属于远休止区,其运动方程为:
???max:??0:??0:
4)(?1??2)????(?1??2??3/2),属于回程加速区,其运动方程为:
???max?2*?max?[??(?1??2)]*[??(?1??2)]/(?3*?3):??4*?max*[??(?1??2)]/(?3*?3):???4*?max/(?3*?3):
5)(?1??2??3/2)????(?1??2??3),属于回程减速区,其运动方程为:
??2*?max*(?1??2??3??)*(?1??2??3??)/(?3*?3):???4*?max*(?1??2??3??)/(?3*?3):??4*?max/(?3*?3):
6)(?1??2??3)????360 ,于近休止区,其运动方程为
??0:??0:??0:
三 流程图
四、源程序
#include
#include
#define K (3.1415926/180) #define dt 0.25
float Q_max,Q_t,Q_s,Q_h; float Q_a; double L,pr;
float e[1500],f[1500],g[1500]; void Cal(float Q,double Q_Q[3]) {
Q_max=15,Q_t=75,Q_s=10,Q_h=65; if(Q>=0&&Q<=Q_t/2) {
Q_Q[0]=K*(2*Q_max*Q*Q/(Q_t*Q_t)); Q_Q[1]=4*Q_max*Q/(Q_t*Q_t); Q_Q[2]=4*Q_max/(Q_t*Q_t); }
if(Q>Q_t/2&&Q<=Q_t) {
Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t)*(Q-Q_t)/(Q_t*Q_t)); Q_Q[1]=4*Q_max*(Q_t-Q)/(Q_t*Q_t); Q_Q[2]=-4*Q_max/(Q_t*Q_t); }
if(Q>Q_t&&Q<=Q_t+Q_s) {
Q_Q[0]=K*Q_max;
Q_Q[1]=0; Q_Q[2]=0; }
if(Q>Q_t+Q_s&&Q<=Q_t+Q_s+Q_h/2) {
Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t-Q_s)*(Q-Q_t-Q_s)/(Q_h*Q_h)); Q_Q[1]=-4*Q_max*(Q-Q_t-Q_s)/(Q_h*Q_h); Q_Q[2]=-4*Q_max/(Q_h*Q_h); }
if(Q>Q_t+Q_s+Q_h/2&&Q<=Q_t+Q_s+Q_h) {
Q_Q[0]=K*(2*Q_max*(Q_h-Q+Q_t+Q_s)*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h)); Q_Q[1]=-4*Q_max*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h); Q_Q[2]=4*Q_max/(Q_h*Q_h); }
if(Q>Q_t+Q_s+Q_h&&Q<=360) {
Q_Q[0]=K*0; Q_Q[1]=0; Q_Q[2]=0; } }
void Draw(float Q_m) {
float tt,x,y,x1,y1,x2,y2,x3,y3,x4,y4,dx,dy; double QQ[3]; circle(240,240,3);
circle(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K),3); moveto(240,240);
lineto(240+20*cos(240*K),240-20*sin(240*K));
lineto(260+20*cos(240*K),240-20*sin(240*K)); lineto(240,240);
moveto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K)); lineto(240+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K)); lineto(255+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K)); lineto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K)); for(tt=0;tt<=720;tt=tt+2) {
Cal(tt,QQ);
x1=L*cos(tt*K)-l*cos(Q_a+QQ[0]-tt*K); y1=l*sin(Q_a+QQ[0]-tt*K)+L*sin(tt*K);
x2=x1*cos(Q_m*K+40*K)+y1*sin(Q_m*K+40*K); y2=-x1*sin(Q_m*K+40*K)+y1*cos(Q_m*K+40*K); putpixel(x2+240,240-y2,2);
dx=(QQ[1]-1)*l*sin(Q_a+QQ[0]-tt*K)-L*sin(tt*K); dy=(QQ[1]-1)*l*cos(Q_a+QQ[0]-tt*K)+L*cos(tt*K); x3=x1-rr*dy/sqrt(dx*dx+dy*dy); y3=y1+rr*dx/sqrt(dx*dx+dy*dy);
x4=x3*cos(Q_m*K+40*K)+y3*sin(Q_m*K+40*K); y4=-x3*sin(Q_m*K+40*K)+y3*cos(Q_m*K+40*K); putpixel(x4+240,240-y4,YELLOW); } }
void Curvel() { int t;
float y1,y2,y3,a=0; for(t=0;t<=360/dt;t++) {
delay(300);
a=t*dt;
if((a>=0)&&(a<=Q_t/2)) {
y1=(2*Q_max*pow(a,2)/pow(Q_t,2))*10; y2=(4*Q_max*(dt*K)*a/pow(Q_t,2))*pow(10,4.8); y3=(4*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5); putpixel(100+a,300-y1,1); putpixel(100+a,300-y2,2); putpixel(100+a,300-y3,4);
line(100+Q_t/2,300-y3,100+Q_t/2,300); }
if((a>Q_t/2)&&(a<=Q_t)) {
y1=(Q_max-2*Q_max*pow((Q_t-a),2)/pow(Q_t,2))*10; y2=(4*Q_max*(dt*K)*(Q_t-a)/pow(Q_t,2))*pow(10,4.8); y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5); putpixel(100+a,300-y1,1); putpixel(100+a,300-y2,2); putpixel(100+a,300-y3,4);
line(100+Q_t,300-y3,100+Q_t,300); line(100+Q_t/2,300,100+Q_t/2,300-y3); }
if((a>Q_t)&&(a<=Q_t+Q_s)) {
y1=Q_max*10; y2=0; y3=0;
putpixel(100+a,300-y1,1); putpixel(100+a,300-y2,2); putpixel(100+a,300-y3,4);
line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3); }
if((a>Q_t+Q_s)&&(a<=Q_t+Q_s+Q_h/2)) {
y1=(Q_max-2*Q_max*pow((a-Q_t-Q_s),2)/pow(Q_h,2))*10; y2=((-4)*Q_max*(dt*K)*(a-Q_t-Q_s)/pow(Q_h,2))*pow(10,4.8); y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_h,2))*pow(10,8.5); putpixel(100+a,300-y1,1); putpixel(100+a,300-y2,2); putpixel(100+a,300-y3,4);
line((100+Q_t+Q_s+Q_h/2),300,(100+Q_t+Q_s+Q_h/2),300-y3); line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3); }
if((a>Q_t+Q_s+Q_h/2)&&(a<=Q_t+Q_s+Q_h)) {
y1=(2*Q_max*pow((Q_h-a+Q_t+Q_s),2)/pow(Q_h,2))*10;
y2=((-4)*Q_max*(dt*K)*(Q_h-a+Q_t+Q_s)/pow(Q_h,2))*pow(10,4.8); y3=(4*Q_max*pow((dt*K),2)/pow(Q_h,2))*pow(10,8.5); putpixel(100+a,300-y1,1); putpixel(100+a,300-y2,2); putpixel(100+a,300-y3,4);
line((100+Q_t+Q_s+Q_h),300-y3,(100+Q_t+Q_s+Q_h),300); line((100+Q_t+Q_s+Q_h/2),300,(100+Q_t+Q_s+Q_h/2),300-y3); }
if((a>Q_t+Q_s+Q_h)&&(a<=360)) { y1=0; y2=0; y3=0;
putpixel(100+a,300,1);
putpixel(100+a,300,2); putpixel(100+a,300,4); } e[t]=y1; f[t]=y2; g[t]=y3; } } main() {
int gd=DETECT,gm; int i,t,choice,x_1,y_1,flag=1; double QQ1[3],aa; FILE *f1;
if((f1=fopen(\ {
printf(\ exit(0); }
initgraph(&gd,&gm,\ cleardevice(); for(t=0;!kbhit();t++) { for(;t>360;) t-=360; if(flag==1)
for(L=l-r_b+70;L Q_a=acos((L*L+l*l-r_b*r_b)/(2.0*L*l)); Cal(t,QQ1); aa=atan(l*(1-QQ1[1]-L*cos(Q_a-QQ1[0]))/(L*sin(Q_a+QQ1[0])));/*压力角*/ pr=(pow((L*L+l*l*(1+QQ1[1])*(1+QQ1[1])-2.0*L*l*(1+QQ1[1]*cos(Q_a+QQ1[0]))),3.0/2))/* 曲 率 半 径 *//((1+QQ1[1])*(2+QQ1[1])*L*l*cos(Q_a+QQ1[0])+QQ1[2]*L*l*sin(Q_a+QQ1[0])-L*L-l*l*pow((1+QQ1[1]),3)); if(aa<=Aa&&pr>rr) flag=0; break; } if(flag==0) Cal(t,QQ1); Draw(t); cleardevice(); x_1=240+L*sin(50*K)-l*cos(Q_a+QQ1[0]+40*K); y_1=240+L*cos(50*K)-l*sin(Q_a+QQ1[0]+40*K); circle(x_1,y_1,rr); line(240+L*sin(50*K),240+L*cos(50*K),x_1,y_1); moveto(240+L*sin(50*K),240+L*cos(50*K)); lineto(240+L*sin(50*K)+l*cos(Q_a+QQ1[0]+40*K),480+2*L*cos(50*K)-y_1); lineto(140+L+l*cos(Q_a+QQ1[0])*2,480+2*L*cos(50*K)-y_1); delay(1); } getch(); cleardevice(); line(100,80,100,445); line(70,300,530,300); line(100,80,98,90); line(100,80,102,90); line(520,298,530,300); line(520,302,530,300); setcolor(2); outtextxy(300,150,\printf(\ Q(w,a)\ printf(\Curvel(); getch(); printf(\for(i=0;i<=1440;i=i+20) { delay(1000); printf(\ %f fprintf(f1,\ %f } getch(); fclose(f1); closegraph(); } %f %f\\n\ %f %f\\n\ 五、曲线图象及输出数据 六 课程设计总结 机械原理课程设计是对机器的主体结构进行分析或综合,是一个机械系统的设计必不可少的环节,是与实际的机械问题紧密相连的,使我们对机械原理课程的理解从抽象化到实际化的过度。通过一周的课程设计,让我对机械原理的知识内容得到巩固和加深。我们在设计中综合运用所学知识,学会了结合生产实践中的实际问题来解决机械工程问题,进行设计制造。通过对分析法进行机构设计的练习,训练了自己从工程中提炼数学模型的能力,以及利用计算机程序急C语言解决数学问题的方法。利用计算机知识进行比较全面的并且具有实际意义的课程设计。在课程设计过程中发现了自己还存在很多的不足,能力有限,多亏了老师的帮助,我能够顺利完成这项设计。在今后的学习生涯中,我会弥补自己的不足,多加实际操作,提高自己的水平。 七:参考文献 1、《机械原理》孙桓、陈作模,高等教育出版社,1995.8 2、《机械原理课程设计指导书》 徐萃萍 冷兴聚 3、《机械原理》电算课程设计指导书》 冷兴聚 4、《C语言设计》 谭浩强 清华大学出版社 1995.3 5、《C语言典型零件CAD》 王占勇 东北大学出版社 2000.9 6、《计算机图形学》 罗笑南 王若梅 中山大学出版社 1996
正在阅读:
机械原理课程设计 牛头刨床凸轮机构04-08
第8章液固-液液色谱法08-07
小学语文阅读教学论文大全12-10
【lols6英雄符文怎么配】英雄联盟lols6赛季近战辅助通用符文02-15
摸着石头过河和加强顶层设计是辩证统一的08-17
2018年春学校安全工作计划04-15
企业基层党建论文12-10
200道四年级简便运算练习题04-07
《认识长方形和正方形》观课报告07-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 牛头刨床
- 凸轮
- 原理
- 课程
- 机构
- 机械
- 设计
- 听李迪老师讲课心得体会
- HDD-MDVR说明书V3.0(中文版) - 图文
- 渭南至蒲城公路渭河大桥防洪评价报告
- 醇的集锦
- 微波辅助萃取加兰他敏的实验研究
- 高一英语短文改错专练22套
- MAC编码
- 上海市商业建筑现状与发展方向 - 图文
- 新人教版小学六年级语文下册第1单元测试卷2带答案
- 银川市档案馆归档指南
- 先秦诸子选读翻译检测卷
- 千字文教案
- 2018全国各地中考物理试题《电功率》试题汇编
- 广告牌施工方案
- pmp47个过程组和各个过程的输入输出及常用缩写 - 图文
- Internet Changes the Life 互联网改变生活
- 继电保护实操
- 单片机计算器(重理工大二课程设计)计算范围-4294967295至+4294
- 华硕为何对网吧兴趣有增无减
- 工程分包管理及措施