插床机构-导杆机构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械原理课程设计
编辑说明书
设计题目:插床机构-导杆机构(3)
指导教师:
设计者:
学号:
班级:
年月日
辽宁工程技术大学
目录
1.设计任务及要求 (2)
2.数学模型的建立 (2)
3.程序框图 (4)
4.程序清单及运算结果 (4)
5.总结和目的 (12)
6.参考文献 (13)
1. 设计任务及要求
已知:程速比系数K=1.8,滑块5的冲程H=120,中心距23
o o l =150,比值3O B
BC l L
=1,
各构件重心S 的位置,曲柄每分钟转数n1=60。
要求
1. 设计导杆机构;
2. 作机构两个位置的动画显示;
3. 作滑块的运动线图(编程设计);
4. 编写说明书;
2数学模型
急位夹角51.4°=θ,O2A=75mm,a=b=50mm
1.()55θt ωt =
2.5
65
5tx sin θθarctan x cos θ= ()0556x
ωωcos θθy
=-
3.θ1=θ6-180.
()()()2655655656561εx εcos θθx ωsin θθωωsin θθy ⎡⎤=
---+-⎣
⎦
4.连杆的角位移方案15a sin θc θarcsin b -⎛⎫
= ⎪⎝⎭
5.滑块5的位移方程(ε5=0) 11asin θc d acos θbcos arcsin b -⎡⎤
⎛⎫=- ⎪⎢⎥⎝⎭⎣⎦
6.BC 杆角速度61
22
a ωcos θω
b cos θ=
7.滑块速度方程()
12c 62
sin θθv a ωcos θ-=
8.22
516122
22
a εcos θa ωcos θ
b ωsin θεbcos θ-+=
9.2
k
c 22226161a b εsin θb ωcos θa εsin θa ωcos θ=+--
3.程序框图
4.程序清单及运算结果(1)程序清单
#include
#include
#include
#include
#include
#define pi 3.1415926
#define N 600
void init_graph(void);
void initview();
void draw();
void cur();
double weit1[N],weit2[N],weit3[N];
double sita1[N],sita2[N],sita3[N];
double omigar1[N],omigar2[N],omigar3[N]; double a=50.0,d=150.0,e=93.0,f=100.0,g=100.0,w1=6.3031852;
main()
{
int i;
double alf=0, detat=0,theta1=0;
double weit=0,w3=0,ekq3=0,b=0,va=0;
double theta2=0,w4=0,ekq4=0;
double s=0,vc=0,ac=0;
double q=0,j=0,u=0;
detat=2*pi/(N*w1);
for(i=0;i { alf=w1*detat*i; weit=atan((a*sin(alf)-d)/(a*cos(alf))); if(weit<0) weit=weit+2*pi; else if(0 weit=weit+pi; /*****计算杆件3的角速度、角加速度*****/ theta1=weit-pi; b=sqrt(a*a+d*d-2*a*d*sin(alf)); w3=a*w1*cos(alf-weit)/b; va=-a*w1*sin(alf-weit); ekq3=(-a*w1*w1*sin(alf-weit)-2*va*w3)/b; /*****计算滑块5的位移、速度、加速度*****/ theta2=asin((f*sin(theta1)-e)/g); q=-2*f*cos(theta1); j=f*f+e*e-g*g-2*f*e*sin(theta1); u=q*q-4*j; s=(-q+sqrt(u))/2; w4=f*w3*cos(theta1)/(g*cos(theta2)); vc=f*w3*sin(theta1-theta2)/cos(theta2); ekq4=f*(ekq3*cos(theta1)-w3*w3*sin(theta1)+w4*w4*sin(theta2 ))/(g*cos(theta2)); ac=g*ekq4*sin(theta2)+g*w4*w4*cos(theta2)-f*ekq3*sin(theta1) -f*w3*w3*cos(theta1); /******计算结果存入数组*****/ weit1[i]=weit; weit2[i]=w3; weit3[i]=ekq3; sita1[i]=s; sita2[i]=vc; sita3[i]=ac; omigar1[i]=theta2; omigar2[i]=w4; omigar3[i]=ekq4; } /*****输出计算结果*****/ for(i=0;i { printf("i=%d \n weit1[i]=%lf \t weit2[i]=%lf \t weit3[i]=%lf \t",i,weit1[i],weit2[i],weit3[i]); printf("\n stia1[i]=%lf \t stia2[i]=%lf \t stia3[i]=%lf