资源描述
牛头刨床导杆机构运动分析
目 录
1设计任务及规定……………………………
2 数学模型建立……………………………
3 程序框图……………………………………
4 程序清单及运营成果………………………
5 设计总结……………………………………
6 参照文献……………………………………
机械原理课程设计任务书(一)
姓名 郭娜 专业 机械工程及自动化 班级 机械08-3班 学号
一、设计题目:牛头刨床导杆机构运动分析
二、系统简图:
三、工作条件
已知:曲柄每分钟转数n2,各构件尺寸及重心位置,且刨头导路x-x位于导杆端点B所作圆弧高平分线上。
四、原始数据
导杆机构运动分析
80
450
120
850
306
425
285
840
五、规定:
1)作机构运动简图(A4或A3图纸)。
2)用C语言编写主程序调用子程序,对机构进行运动分析,并打印出程序及计算成果。
3)画出导轨4角位移,角速度,角加速度曲线。
4)编写设计计算阐明书。
指引教师:
开始日期: 7月10 日 完毕日期: 年7月16日
1. 设计任务及规定
设计
内容
导 杆 机 构 运 动 分 析
单位
r/min
mm
符号
n2
lo2o4
lo2A
lo4B
lBC
lo4s4
数据
80
450
120
850
306
425
规定
(1) 作机构运动简图。
(2) 用C语言编写主程序调用子程序,对机构进行运动分析,动态显示,并打印程序及运算成果。
(3) 画出导轨角位移Ψ,角速度Ψ’,角加速度Ψ”。
(4) 编写设计计算阐明书。
二、数学模型
如图四个向量构成封闭四边形,于是有
按复数式可以写成
a(cosα+isinα)-b(cosβ+isinβ)+d(cosθ3+isinθ3)=0 (1)
由于θ3=90º,上式可化简为
a(cosα+isinα)-b(cosβ+isinβ)+id=0 (2)
依照(2)式中实部、虚某些别相等得
acosα-bcosβ=0 (3)
asinα-bsinβ+d=0 (4)
(3)(4)联立解得
β=arctan (5)
b= (6)
将(2)对时间求一阶导数得
ω2=β’=ω1cos(α-β) (7)
υc=b’=-aω1sin(α-β) (8)
将(2)对时间求二阶导数得
ε3=β”=[aε1cos(α-β)- aωsin(α-β)-2υcω2] (9)
ac=b”=-aε1sin(α-β)-aωcos(α-β)+bω (10)
ac即滑块沿杆方向加速度,普通曲柄可近似看作均角速转动,则ε3=0。
三、程序框图
程序设计时,普通是未知量而已知且为常数,它们关系为,取相等时间间隔,则其中N为整数
输入a,d,ω1,输入N
作循环,For(i=0;i=N;i++)
依次计算β,b,ω2,υc,ε2,ac
将计算β,b,ω2,υc,ε2,ac成果分别存入数组
或文献中
按格式输出所有计算成果
初始化图形系统
绘制直角坐标系
直角坐标系下分别绘出角位移、角速度、角加速度图象
四、程序清单及运算成果
符号阐明
Q1:曲柄1角位移 Q3:导杆3摆动角位移
S3:C点沿杆3位移 Q31:导杆3摆动角速度w3
S31:C点相对于导杆3速度 Q311:导杆3摆动角加速度a3
S311:C点相对于导杆3加速度 L1:曲柄1长度
L6:曲柄1与导杆3回转中心距离
(1) 程序清单
①导杆3计算程序
#include"math.h"
#include"conio.h"
#include<stdio.h>
#define PI 3.1415926
#define M 0.017453
main()
{ int Q1,i=0,j=0,Q_1[71];
float S_e[71],S_e1[71],Q_411[71],S_e11[71];
float Q3,Q31,Q311,w3,a3,Q4,Q41;
float Q411,s3,s31,s311,Se,w4,Ve,Se1,a4,Se11;
FILE *f1;
if((f1=fopen("fdata.txt","w"))==NULL)
{printf("fdata.txt file cannot open!\n");
exit(0);
}
clrscr();
printf("jiao du wei yi su du jiaojiasudu jiasudu\n");
for(Q1=0;Q1<360;Q1+=5)
{ i++;
if(i%12==0)
{getch();
printf("jiaodu weiyi sudu jiaojiasudu jiasudu\n");
}
if(Q1>=0&&Q1<90||Q1>270&&Q1<=360)
{Q3=atan((350+90*sin(Q1*M))/(90*cos(Q1*M)));
Q3/=M;
}
else if(Q1==90||Q1==270)
{Q3=90;}
else if(Q1>90&&Q1<270)
{Q3=PI+atan((350+90*sin(Q1*M))/(90*cos(Q1*M)));
Q3/=M;
}
if(Q3!=90&&Q3!=270)
s3=90*cos(Q1*M)/cos(Q3*M);
else if(Q3==90)
s3=440;
else
s3=260;
s31=-90*6.8*sin((Q1-Q3)*M);
Q31=90*6.8*cos((Q1-Q3)*M)/s3;
w3=Q31;
Q311=(6.8*6.8*90*sin((Q3-Q1)*M))-2*w3*s31;
a3=Q311;
Q4=180-asin((530-580*sin(Q3*M))/174)/M;
Se=580*cos(Q3*M)+174*cos(Q4*M);
Q41=-w3*580*cos(Q3*M)/(174*cos(Q4*M));
w4=Q41;
Se1=-w3*580*sin((Q3-Q4)*M)/cos(Q4*M);
Q411=(Q31*Q31*580*sin(Q3*M)+Q41*Q41*174*sin(Q4*M)-Q311*580*cos(Q3*M))/(174*cos(Q4*M));
Se11=-(a3*580*sin((Q3-Q4)*M)+w3*w3*580*cos((Q3-Q4)*M-w4*w4*174))/cos(Q4*M);
Q_1[j]=Q1;
S_e[j]=Se;
S_e1[j]=Se1;
Q_411[j]=Q411;
S_e11[j]=Se11;
printf("%d %6.4f %6.4f %6.4f %6.4f\n",Q_1[j],S_e[j],S_e1[j],Q_411[j],S_e11[j]);
fprintf(f1,"%d %6.4f %6.4f %6.4f %6.4f\n",Q_1[j],S_e[j],S_e1[j],Q_411[j],S_e11[j]);
}
j=j+1;
fclose(f1);
}
① 运算成果
jiaodu wei yi su du jiaojiasudu jiasudu
0 -26.6410 -225.6121 2980.1992 -1888597.5000
5 -29.9571 -290.3119 2725.9580 -1771214.1250
10 -34.0705 -349.9124 2465.3013 -1653869.1250
15 -38.9176 -404.7200 2204.1282 -1537997.5000
20 -44.4389 -455.0467 1947.2355 -1422954.2500
25 -50.5790 -501.1967 1698.4697 -1310516.2500
30 -57.2860 -543.4551 1460.8784 -152.5000
35 -64.5119 -582.0817 1236.8556 -1094043.1250
40 -72.2113 -617.3046 1028.2677 -987876.7500
45 -80.3420 -649.3168 836.5630 -884575.3750
50 -88.8637 -678.2743 662.8631 -784632.6250
55 -97.7381 -704.2951 508.0354 -683126.8125
60 -106.9280 -727.4584 372.7512 -586413.1250
65 -116.3972 -747.8099 257.5296 -487261.8125
70 -126.1095 -765.3591 162.7702 -391189.9375
75 -136.0290 -780.0851 88.7760 -292519.0312
80 -146.1191 -791.9397 35.7695 -195399.5156
85 -156.3424 -800.8548 3.9034 -99716.0781
90 -166.6487 -806.7209 -6.7326 -336.6043
95 -177.0345 -809.4526 3.8907 98381.1172
100 -187.4224 -808.9144 35.7439 60.3906
105 -197.7818 -804.9841 88.7376 303868.6875
110 -208.0682 -797.5251 162.7193 406435.0625
115 -218.2356 -786.4084 257.4662 513216.6875
120 -228.2362 -771.4974 372.6755 65.8750
125 -238.0202 -752.6618 507.9477 731897.5625
130 -247.5368 -729.7744 662.7639 842337.0000
135 -256.7329 -702.7089 836.4528 958104.5625
140 -265.5542 -671.3401 1028.1467 1074799.1250
145 -273.9447 -635.5408 1236.7249 1193481.0000
150 -281.8466 -595.1798 1460.7390 1314749.0000
155 -289. -550.1158 1698.3228 1439326.0000
160 -295.9452 -500.1955 1947.0826 1564795.8750
165 -302.0172 -445.2491 2203.9717 1691299.2500
170 -307.3508 -385.0851 2465.1428 188.8750
175 -311.8776 -319.4932 2725.8010 1949062.5000
180 -315.5267 -248.2437 2980.0481 2077653.1250
185 -318.2238 -171.0969 3220.7498 2204597.7500
190 -319.8919 -87.8205 3439.4504 2327887.5000
195 -320.4508 1.7835 3626.3618 2445203.0000
200 -319.8185 97.8345 3770.4954 2553216.0000
205 -317.9123 200.3115 3859.9885 2647628.7500
210 -314.6508 308.9710 3882.6917 2723199.0000
215 -309.9581 423.2437 3827.1174 2773568.0000
220 -303.7680 542.1177 3683.7847 2790752.7500
225 -296.0309 664.0181 3446.9648 2767703.0000
230 -286.7217 786.708 3116.7771 2694137.2500
235 -275.8483 907.2365 2701.3325 2562871.7500
240 -263.4610 1021.9773 2218.5918 2369156.0000
245 -249.6605 1126.7856 1697.2296 2103209.7500
250 -234.6020 1217.2893 1175.8484 1775365.7500
255 -218.4965 1289.3079 699.9667 1384495.5000
260 -201.6046 1339.3322 316.6331 947077.5000
265 -184.2254 1364.9659 67.3372 484325.1562
270 -166.6487 806.7209 -6.7326 -157.5224
275 -149.2913 1340.7021 67.0276 -468633.1875
280 -132.3673 1293.2650 316.0499 -919479.5000
285 -116.1834 1225.9053 699.1774 -1320767.6250
290 -100.9728 1142.2114 1174.9329 -1666306.5000
295 -86.9208 1046.0001 1696.2716 -1955622.0000
300 -74.1637 940.9747 2217.6743 -2177823.7500
305 -62.7928 830.4984 2700.5159 -2345273.5000
310 -52.8588 717.4761 3116.0991 -2456901.5000
315 -44.3785 604.3156 3446.4526 -2518143.0000
320 -37.3407 492.9357 3683.4421 -2537459.0000
325 -31.7127 384.8089 3826.9407 -2520536.7500
330 -27.4455 281.0159 3882.6650 -2475456.0000
335 -24.4783 182.3036 3860.0955 -2407529.5000
340 -22.7427 89.1417 3770.7129 -2322242.2500
345 -22.1656 1.7749 3626.6663 -2224271.0000
350 -22.6721 -79.7296 3439.8213 -2117387.2500
②导杆3角位移,角速度,角加速度曲线图设计程序
#include<math.h>
#include<graphics.h>
#include<stdio.h>
#define pi 3.1415926
main()
{ float w1=2*pi*64/60,L1=90,L6=350;
float Q3,Q1,s3,w3,s31,s311;
int gd=DETECT,gmode,i;
initgraph(&gd,&gmode,"");
clrscr();
for(Q1=0;Q1<=2*pi;Q1+=1.0/1000*pi)
{if(Q1>=0&&Q1<pi/2||Q1>pi*1.5&&Q1<=2*pi)
Q3=atan((L6+L1*sin(Q1))/(L1*cos(Q1)));
else if(Q1==pi/2||Q1==1.5*pi)
Q3=pi/2;
else
Q3=pi+atan((L6+L1*sin(Q1))/(L1*cos(Q1)));
if(Q1!=pi/2&&Q1!=1.5*pi)
s3=L1+L6;
else s3=L6-L1;
s31=-L1*w1*sin(Q1-Q3);
w3=L1*w1*cos(Q1-Q3)/s3;
s3=sqrt(L1*L1+L6*L6+2*L1*L6*sin(Q1));
putpixel(100+Q1*180/pi,60+s3*sin(Q3)/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+Q1*180/pi,188+L1*w1*cos(Q1-Q3)/s3*30,6);/*v*/
putpixel(100+Q1*180/pi,200+(w1*w1*L1*sin(Q3-Q1)-2*w3*s31)/s3*6,4);/*a*/
}
outtextxy(400,120,"v:su du");
outtextxy(220,230,"s:wei yi");
outtextxy(400,300,"a:jia su du");
getch();
}
②
③ 导杆机构运动模仿程序
#include<math.h>
#include<graphics.h>
#include<stdio.h>
void pist(float x0,float y0,float l,float h,float theta);
void pirot(float x0,float y0,float l);
void sgd();
main()
{ int gd=DETECT,gmode,n;
initgraph(&gd,&gmode,"");
for(n=1;n<=70;n++)
{setbkcolor(0);
sgd();
}
getch();
}
/* 摇块子程序 */
void pist(float x0,float y0,float l,float h,float theta)
{float x,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);
}
/* 支点子程序 */
void pirot(float x0,float y0,float l)
{ float pi=3.1415926;
float x,y;
int i,n;
int h=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);
}
}
/* 连杆,摇块,导轨程序*/
void sgd()
{int i;
int x04,y04,x02,y02;
int l04b=800;
int l02a=95;
float xa,ya,xb,yb,l;
float ss,theta;
for(i=0;i<=63;i++) /*循环动画*/
{ss=i*0.1;
x04=350;x02=350; /*坐标计算*/
y04=320;y02=145;
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(250);
}
}
③
五、设计总结
通过这次机械原理课程设计,本人受益匪浅。
这次课程是机械原理教学一种重要构成某些。课程设计目在于进一步巩固和加深学生所学理论知识,使其对于机械构成构造,运动学以及动力学分析与设计建立较完整概念以及知识系统,培养学生独立分析和解决关于本课程实际问题以及进一步提高分析设计、查阅技术资料能力和独立自主能力。更为重要是培养开发和创新机械能力。
为了培养学生开发和创新机械产品能力,对机械原理课程设计提出规定是:“结合一种简朴机械系统,综合运用所学理论和办法,使学生能受到拟定机械运动方案初步训练,并能对方案中某些机构进行分析和设计”。咱们以基本规定精神为指引,以适应当开发、设计新产品为核心科技进步需要而做努力。其内容为:结合专业特点,选取工程实际问题作为课程设计题目,对所选题目进行方案论证,定出两个较好方案进行必要分析、计算及绘图。
本课程设计以解析法为主,运用计算机辅助设计对选定机构进行分析与设计。为了提高自己自主创新能力有着很大协助。
六、参照文献
[1] 谭浩强编著.C程序设计(第二版).北京:清华大学出版社,1999
[2] 孙桓 陈作模 葛文杰著.机械原理(第七版)北京:高等教诲出版社,
[3] 罗笑南,王若梅等著。计算机图形学 广州:中山大学,1996.10
[4] 裘建新编著 机械原理课程设计指引书 北京:高等教诲出版社 .4
展开阅读全文