机械原理课程设计编程说明书.docx
《机械原理课程设计编程说明书.docx》由会员分享,可在线阅读,更多相关《机械原理课程设计编程说明书.docx(18页珍藏版)》请在冰点文库上搜索。
机械原理课程设计编程说明书
机械原理课程设计编写说明书
设计题目:
牛头刨床机构的设计及运动分析
(1)
指导教师:
王春华何凡
设计者:
冯帅
学号:
01
班级:
机械07-2班
2009年7月10日
辽宁工程技术大学
目录
1设计任务及要求…………………………………………………
2数学模型的建立…………………………………………………
3程序框图…………………………………………………………
4程序清单及运行结果……………………………………………
5设计总结…………………………………………………………
6参考文献…………………………………………………………
一、设计任务及要求
已知:
曲柄每分钟转数n2,各构件尺寸及重心位置,且刨头导路X-X位于导杆端点B所作圆弧的平分线上,数据见下表:
设计内容
导杆机构的运动分析
单位
r/min
mm
符号
n2
lo2o4
lo2A
lo4B
lBC
lo4s4
参数
60
380
110
540
0.25lo4B
0.5lo4B
要求:
(1)作机构的运动简图
(2)用C语言编写主程序调用子程序,对机构进行运动分析,动态显示,并打印程序及运算结果。
(3)画出导轨4的角位移
,角速度
,角加速度
。
二、数学模型
如图四个向量组成封闭四边形,于是有
(1)
按复数式可以写成
由于θ3=90º,上式可化简为
(2)
根据
(2)式中实部、虚部分别相等得
(3)
(4)
(3)(4)联立解得
(5)
(6)
将
(2)对时间求一阶导数得
(7)
(8)
将
(2)对时间求二阶导数得
(9)
(10)
即滑块沿杆方向的加速度,通常曲柄可近似看作均角速转动,则
。
三、程序框图
输入a,d,
输入N
作循环,For(i=0;i=N;i++)
依次计算β,b,
ac
将计算的β,b,
ac结果分别存入数组或文件中
按格式输出所有计算结果
初始化图形系统
绘制直角坐标系
直角坐标系下分别绘出角位移、角速度、角加速度图象
四、程序清单及运算结果
(1)数据
#include"math.h"
#include"conio.h"
#include
#definePI3.1415926
#defineM0.017453/*M=PI/180*/
main()
{intP1,i=0,j=0,P_1[71];
floatP_3[71],P_31[71],P_311[71];
floatP3,P31,P311,w3;
floats3,s31,s311;
FILE*f1;
if((f1=fopen("fdata.txt","w"))==NULL)
{printf("fdata.txtfilecannotopen!
\n");
exit(0);
}
clrscr();
printf("jiaoduweiyisudujiaojiasudu\n");
for(P1=0;P1<360;P1+=5)
{i++;
if(i%12==0)
{getch();
printf("jiaoduweiyisudujiaojiasudu\n");
}
if(P1>=0&&P1<90||P1>270&&P1<=360)
{P3=atan((380+110*sin(P1*M))/(110*cos(P1*M)));
P3/=M;
}
elseif(P1==90||P1==270)
{P3=90;}
elseif(P1>90&&P1<270)
{P3=PI+atan((380+110*sin(P1*M))/(110*cos(P1*M)));
P3/=M;
}
if(P3!
=90&&P3!
=270)
s3=110*cos(P1*M)/cos(P3*M);
elseif(P3==90)
s3=440;
else
s3=240;
s31=-110*6.3*sin((P1-P3)*M);
P31=110*6.3*cos((P1-P3)*M)/s3;
w3=P31;
P311=(6.3*6.3*110*sin((P3-P1)*M))-2*w3*s31;
P_1[j]=P1;
P_3[j]=P3;
P_31[j]=P31;
P_311[j]=P311;
printf("%d%6.4f%6.4f%6.4f\n",P_1[j],P_3[j],P_31[j],P_311[j]);
fprintf(f1,"%d%6.4f%6.4f%6.4f\n",P_1[j],P_3[j],P_31[j],P_311[j]);
}
j=j+1;
fclose(f1);
}
程序运行结果
Jiaoduweiyisudujiaojiasudu
073.85690.48713545.2410
574.29120.60563298.7236
1074.81520.71313056.4053
1575.42050.81052819.8806
2076.09930.89842590.1260
2576.84430.97752367.6550
3077.64871.04842152.6230
3578.50641.11161944.9271
4079.41141.16771744.2717
4580.35821.21721550.2241
5081.34171.26031362.2594
6083.40001.32931002.1545
6584.46581.3557828.7104
7085.55061.3771658.7670
7586.65031.3934491.6280
8087.76121.4051326.5978
8588.87931.4120162.9724
9090.00001.57500.0000
9591.12301.4120-162.8737
10092.24121.4051-326.4991
10593.35201.3934-491.5290
11094.45181.3771-658.6653
Jiaoduweiyisudujiaojiasudu
11595.53651.3558-828.6074
12096.60241.3294-1002.0498
12597.64521.2977-1179.6742
13098.66071.2604-1362.1470
13599.64431.2172-1550.1101
140100.59111.1678-1744.1528
145101.49611.1117-1944.8036
150102.35381.0484-2152.4961
155103.15830.9776-2367.5242
160103.90330.8985-2589.9907
165104.58210.8106-2819.7402
170105.18750.7132-3056.2615
180106.14590.4872-3545.0913
185106.48170.3571-3793.4160
190106.70950.2149-4040.1492
195106.81950.0600-4280.6279
200106.8013-0.1081-4508.6533
205106.6445-0.2892-4716.2061
210106.3388-0.4832-4893.1987
215105.8743-0.6891-5027.3159
220105.2423-0.9052-5104.0347
225104.4354-1.1291-5106.9404
230103.4489-1.3572-5018.4829
Jiaoduweiyisudujiaojiasudu
235102.2813-1.5845-4821.2866
240100.9355-1.8052-4500.0879
24599.4196-2.0119-4044.2471
25097.7478-2.1967-3450.5139
25595.9407-2.35162725.5784
26094.0251-2.4687-1887.6504
26592.0338-2.5418-966.4163
27090.0000-1.5750-0.3448
27587.9729-2.5419964.6959
28085.9814-2.46891886.0481
28584.0657-2.35182724.1545
29082.2584-2.19703449.3188
26592.0338-2.5418-966.4163
27090.0000-1.5750-0.3448
27587.9729-2.5419964.6959
28085.9814-2.46891886.0481
28584.0657-2.35182724.1545
29082.2584-2.19703449.3188
Jiaoduweiyisudujiaojiasudu
29580.5863-2.01224043.2969
30079.0701-1.80564499.3887
30577.7240-1.58504820.8208
31076.5561-1.35765018.2305
31575.5693-1.12965106.8682
32074.7621-0.90565104.1118
32574.1297-0.68955027.5117
33073.6649-0.48364893.4844
33573.3590-0.28964716.5571
34073.2019-0.10844509.0503
34573.18340.05974281.0542
35073.29320.21474040.5911
Jiaoduweiyisudujiaojiasudu
35573.52080.35693793.865
(2)导杆机构运动模拟程序
#include
#include
#include
voidpist(floatx0,floaty0,floatl,floath,floattheta);
voidpirot(floatx0,floaty0,floatl);
voidsgd();
main()
{intgd=DETECT,gmode,n;
initgraph(&gd,&gmode,"");
for(n=1;n<=60;n++)
{setbkcolor(0);
sgd();
}
getch();
}
/*摇块子程序*/
voidpist(floatx0,floaty0,floatl,floath,floattheta)
{floatx,y;
x=x0-cos(theta)*1/2+h/2*sin(theta);
y=y0+1/2*sin(theta)+h/2*cos(theta);
moveto(x,y);
linerel(l*cos(theta),-l*sin(theta));
linerel(-h*sin(theta),-h*cos(theta));
linerel(-l*cos(theta),l*sin(theta));
lineto(x,y);
}
/*支点子程序*/
voidpirot(floatx0,floaty0,floatl)
{floatpi=3.1415926;
floatx,y;
inti,n;
inth=4;
setcolor(3);
circle(x0,y0,3);
setcolor(150);
x=x0-1/2;
y=y0+sin(pi/3)*l;
moveto(x0,y0);
lineto(x,y);
linerel(20,0);
lineto(x0,y0);
n=1/4;
for(i=0;i<=n;i++)
{moveto(x+i*h,y+h);
lineto(x+(i+1)*h,y);
}
}
/*连杆,摇块,导轨程序*/
voidsgd()
{inti;
intx04,y04,x02,y02;
intl04b=580;
intl02a=110;
floatxa,ya,xb,yb,l;
floatss,theta;
for(i=0;i<=59;i++)/*循环动画*/
{ss=i*0.1;
x04=380;x02=380;/*坐标计算*/
y04=320;y02=135;
xa=x02+l02a*cos(ss);
ya=y02+l02a*sin(ss);
l=sqrt((xa-x04)*(xa-x04)+(ya-y04)*(ya-y04));
xb=x04+(xa-x04)*l04b/l;
yb=y04+(ya-y04)*l04b/l;
theta=-atan((ya-y04)/(xa-x04));
setcolor(14);
cleardevice();/*清屏*/
circle(xa+4,ya-8,3);
setcolor
(2);
line(x02,y02,xa+4,ya-8);
line(xb,yb,x04,y04);
setcolor(9);
pirot(x02,y02,16);/*画支点Xo4,Xo2*/
pirot(x04,y04,16);
pist(xa,ya,20,10,theta);
delay(3000);
}
}
程序运行结果图如下:
(3)导杆3的角位移的,角速度,角加速度曲线图的设计程序
#include
#include
#include
#definepi3.1415926
main()
{floatw1=2*pi*60/60,M1=110,M6=380;
floatP3,P1,s3,w3,s31,s311;
intgd=DETECT,gmode,i;
initgraph(&gd,&gmode,"");
clrscr();
for(P1=0;P1<=2*pi;P1+=1.0/1000*pi)
{if(P1>=0&&P1pi*1.5&&P1<=2*pi)
P3=atan((M6+M1*sin(P1))/(M1*cos(P1)));
elseif(P1==pi/2||P1==1.5*pi)
P3=pi/2;
else
P3=pi+atan((M6+M1*sin(P1))/(M1*cos(P1)));
if(P1!
=pi/2&&P1!
=1.5*pi)
s3=M1+M6;
elses3=M6-M1;
s31=-M1*w1*sin(P1-P3);
w3=M1*w1*cos(P1-P3)/s3;
s3=sqrt(M1*M1+M6*M6+2*M1*M6*sin(P1));
putpixel(100+P1*180/pi,60+s3*sin(P3)/2.5,5);/*位移*/
line(100,200,500,200);/*坐标系*/
line(495,205,500,200);
line(495,195,500,200);
line(100,10,100,350);
line(95,15,100,10);
line(105,15,100,10);
putpixel(100+P1*180/pi,188+M1*w1*cos(P1-P3)/s3*30,6);/*速度*/
putpixel(100+P1*180/pi,200+(w1*w1*
1*sin(P3-1)-2*w3*s31)/s3*6,4);/*加速度*/
}
outtextxy(400,120,"v:
sudu");
outtextxy(220,230,"s:
weiyi");
outtextxy(400,300,"a:
jiasudu");
getch();
}
程序运行结果图如下:
五、设计总结:
《机械原理课程设计》是主要的专业基础课之一,是必修课,是培养学生机械设计能力的重要环节。
在这一周的时间里,通过对牛头刨床导杆机构的设计及运动分析,进一步巩固和加深了所学的理论知识、培养了独立解决机械设计中的实际问题的能力,使我对于机构的综合以及运动学和动力学分析有一个较完整的概念;并且进一步提高了计算、绘图和计算机辅助设计的能力。
使我能够更好的运用所学的知识,具有初步的机构选型与组合和确定运动方案的能力。
我个人认为,课程设计这门课十分重要,他把所学的知识和实际相结合,对今后的工作起到了很重要的作用,让我们对设计这类工作有了初步的了解,并能更好的认清自我,找到所学知识中的漏洞,从而及时修补。
六、参考文献:
(1)谭浩强C程序设计(第二版)
(2)《机械原理》孙恒、陈作模,高等教育出版社,1995.8