机械设计 插床凸轮机构的设计
时间:2025-07-06
时间:2025-07-06
机械原理课程设计任务书(九)
姓名 张晓光 专业 液压传动与控制 班级 液压09-1班 学号 0907240127
一、设计题目:插床凸轮机构的设计 二、系统简图:
三、工作条件
等减速运动,凸轮与曲柄共轴。
五、要求:
1)按许用压力角 确定凸轮机构的基本尺寸。 2)求出理论廓线外凸曲线的最小曲率半径 min。 3)选取滚子半径rT绘制凸轮实际廓线。 4)编写说明书。
指导教师:郝志勇 席本强
开始日期: 2011 年 6 月 26 日 完成日期: 2011 年 6 月 30 日
目录
1. 设计任务及要求
2. 数学模型的建立
3. 程序框图
4. 程序清单及运行结果
5. 设计总结
6. 参考文献
7. 中期检查报告
1、设计任务及要求
凸轮机构的设计
已知:
从动件的最大摆角 max,许用压力角[ ],从动件的长度lo4d从动件的运动规律为等加,等减速运动,凸轮与曲柄共轴。
数据如下: max 15,[ ] 40,lo4d 125, 1 60, 2 10, 3 60 要求:1)按许用压力角 [ ]确定凸轮的基圆半径r0;
2)求出理论轮廓线外凸的最小曲率半径 min
3)选取滚子半径rT绘制凸轮实际轮廓线,并动态显示机构; 4)用计算机打印出说明书
2、机构的数学模型
如图选取xOy坐标系,B1点为凸轮轮廓线起始点。开始时推杆轮子中心处于B1点处,当凸轮转过角度时,摆动推杆角位移为,由反转法作图可看出,此时滚子中心应处于B2点,其直角坐标为:
x asin lsin 0 y acos lcos 0
因为实际轮廓线与理论轮廓线为等距离,即法向距离处处相等,都为滚半径rT故将理论廓线上的点沿其法向向内测移动距离rT即得实际廓线上的点B(x1,y1).由高等数学知,理论廓线B点处法线nn的斜率应为
tg dx/dy dx/d / dy/d sin /cos 根据上式有: 可得
dx/d acos lcos 0 1 d /d dy/d asin lsin 0 1 d /d
sin dx/d /
dx/d 2 dy/d 2
22
cos dy/d /dx/d dy/d x x1 rTcos y y1 rTsin
实际轮廓线上对应的点B(x,y)的坐标为
此即为凸轮工作的实际廓线方程,式中“-”用于内等距线,“+”用于二 、根据运动分析写出与运动方程式 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:
外等距线。
3、程序框图
4、程序清单及运行结果
#include<math.h> #include<dos.h> #include<graphics.h> #include<conio.h> #include<stdio.h> #define I 125.0 #define Aa 40 #define rb 50 #define rr 5
#define K (3.1415926/180) #define dt 0.25
float Qmax,Q1,Q2,Q3; float Q_a;double L,pr;
float e[1500],f[1500],g[1500]; void Cal(float Q,double Q_Q[3])
{
Qmax=15,Q1=60,Q2=10,Q3=60; if(Q>=0&&Q<=Q1/2) {
Q_Q[0]=K*(2*Qmax*Q*Q/(Q1*Q1)); Q_Q[1]=4*Qmax*Q/(Q1*Q1); Q_Q[2]=4*Qmax/(Q1*Q1);} if(Q>Q1/2&&Q<=Q1) {
Q_Q[0]=K*(Qmax-2*Qmax*(Q-Q1)*(Q-Q1)/(Q1*Q1)); Q_Q[1]=4*Qmax*(Q1-Q)/(Q1*Q1); Q_Q[2]=-4*Qmax/(Q1*Q1); }
if(Q>=Q1&&Q<=Q1+Q2) {
Q_Q[0]=K*Qmax; Q_Q[1]=0; Q_Q[2]=0; }
if(Q>Q1+Q2&&Q<=Q1+Q2+Q3/2) {
Q_Q[0]=K*(Qmax-2*Qmax*(Q-Q1-Q2)*(Q-Q1-Q2)/(Q3*Q3)); Q_Q[1]=-4*Qmax*(Q-Q1-Q2)/(Q3*Q3); Q_Q[2]=-4*Qmax/(Q3*Q3); }
if(Q>Q1+Q2+Q3/2&&Q<Q1+Q2+Q3) {
Q_Q[0]=K*(2*Qmax*(Q3-Q+Q1+Q2)*(Q3-Q+Q1+Q2)/(Q3*Q3)); Q_Q[1]=-4*Qmax*(Q3-Q+Q1+Q2)/(Q3*Q3);
Q_Q[2]=4*Qmax/(Q3*Q3); }
if(Q>Q1+Q1+Q3&&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,x4,y3,y4,dx,dy; double QQ[3]; circle(240,240,5);
circle(240+L*sin(60*K),240-L*cos(60*K),5);
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(60*K),240-L* cos(60*K));
lineto(240+L*sin(60*K)+20*cos(240*K),240-L*cos(60*K)-20*sin(240*K)); lineto(240+L*sin(60*K)+20*cos(60*K),240-L*cos(60*K)-20*sin(240*K)); lineto(240+L*sin(60*K),240-L*cos(60*K));
for(tt=0;tt<=720;tt=tt+2){Cal(tt,QQ);/*tulunlunkuoxian*/
x1=L*cos(tt*K-30*K)-I*cos(Q_a+QQ[0]+tt*K-30*K); y1=I*sin(Q_a+QQ[0]+tt*K- 30*K)-L*sin(tt*K-30*K);
x2=x1*cos(Q_m*K)-y1*sin(Q_m*K); y2=x1*sin(Q_m*K)+y1*cos(Q_m*K); putpixel(x2+240,240-y2,2);
dx=(QQ[1]+1)*I*sin(Q_a+QQ[0]+tt*K-30*K)-L*sin(tt*K-30*K); dy=(QQ[1]+1)*I*cos(Q_a+QQ[0]+tt*K-30*K)-L*cos(tt*K-30*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)-y3*sin(Q_m*K); y4=x3*sin(Q_m*K)+y3*cos(Q_m*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(30 …… 此处隐藏:4678字,全部文档内容请下载后查看。喜欢就下载吧 ……