机械原理课程设计-书本打包机设计
课程设计说明书
课程名称: 机械原理课程设计 设计题目: 书本打包机设计 专 业: 船机修造 班级:2班 学生姓名: 丁帅 学 号: 学生姓名: 郭哲睿 学 号:
指导教师: 毕 艳 丽
书本打包机设计
一、工作原理及工艺动作过程
书本打包机的用途是要把一摞书(如五本一包)用牛皮纸包成一包,并在两端贴好封签(图1)。
包、封的工艺顺序如图2所示,各工位的布臵(俯视)如图3所示。其工艺过程如下所述(各工序标号与图2、3中标号一致)。 1. 横向送书(送一摞书)。
2. 纵向推书前进(推一摞书)到工位a,使它与工位b~g上的六摞书贴紧。 3. 书推到工位a前,包装纸已先送到位。包装纸原为整卷筒纸,由上向下送够
长度后进行裁切。
图1 书本打包机的功用
图2 包、封工艺顺序图
图3 打包过程各工位布臵
④ 继续推书前进一摞书的位臵到工位b,由于在工位b的书摞上下方设臵有挡板,以挡住书摞上下方的包装纸,所以书摞推到b时实现包三面,这个工序中推书机构共推动a~g的七摞书。
⑤ 推书机构回程时,折纸机构动作,先折侧边(将纸卷包成筒状),再折两端上、下边。
⑥ 继续折前角。
⑦ 上步动作完成后,推书机构已进到下一循环的工序④,此时将工位b上的书
推到工位c。在此过程中,利用工位c两端设臵的挡板实现折后角。 ⑧ 推书机构又一次循环到工序④时,将工位c的书摞推至工位d,此位臵是两端涂浆糊的位臵。 ⑨ 涂浆糊。
⑩ 在工位e贴封签。
在工位f、g用电热器把浆糊烘干。
在工位h时,用人工将包封好的书摞取下。
因此书本打包机中的主要机构包括:纵向推书机构、送纸机构及裁纸机构。 二、原始数据及设计要求
图4表示由总体设计规定的各部分的相对位臵及有关尺寸。其中轴o为机器主轴的位臵。
图4 机构布臵图
(1) 机构的尺寸范围及其它数据
机器中机构的最大允许长度A和高度B:A≈2000mm,B≈1600mm。 工作台面高度:距地面y≈700mm;距主轴y0≈400mm。 主轴水平位臵:x≈100~1100mm。
为了保证工作安全、台面整洁,推书机构最好放在台面以下。 (2) 工艺要求的数据
书摞尺寸:a=130~140mm;b=180~220mm。 推书起始位臵:X0=200 mm。 推书行程:H=400 mm。
推书次数(主轴转速):n=10±0.1r/min。 主轴转速不均匀系数:δ≤0.25。 (3) 纵向推书运动要求
整个机器的运动循环以主轴回转一周为一个周期。因此,可以用主轴的转角表示推书机构从动件的运动时间。
推书动作占1/3周期,相当于主轴转120º;快速退回动作时间小于1/3周期,相当于主轴转角小于100º;停止不动时间大于1/3周期,相当于主轴转角大于140º。
纵向推书机构从动件的工艺动作与主轴转角的关系见下表:
(4)其它机构的运动关系见下表所示。
(5) 各工作阻力的数据
1) 每摞书的质量为4.6kg;
2) 横向送书机构的阻力可假设为常数,相当于主轴上有阻力矩:
Mc4=4000Nm。
3) 送纸、裁纸机构的阻力也认为是常数,相当于主轴上有阻力矩:Mc5=6Nm 。 4) 折后角机构的阻力,相当于四摞书的摩擦阻力。
5 ) 折边、折前角机构的阻力总和,相当于主轴上受到阻力矩Mc6,其大小可用机器在纵向推书行程中(即主轴转角0º~120º范围中)主轴所受纵向推书阻力矩的平均值Mcm8表示为:Mc6=6Mcm8
Mcm3可由下式算出: Mcm3=i=1
∑Mc3i
n
n
式中Mc3i为推程中各分点上主轴所受的阻力矩:n为推程中的分点数。 6) 涂浆糊、贴封签和烘干机构的阻力总和,相当于主轴上受到阻力矩Mc7,其大小可用Mcm3表示为:Mc7=8Mcm3 三、设计任务
(1) 根据工艺动作要求拟定运动循环图并绘制在图纸上; (2) 进行纵向推书机构、送纸机构及裁纸机构的选型; (3) 机械运动方案的评定和选择;
(4) 根据选定的原动机和执行机构的运动参数拟定机械传动方案,分配传动
比,并在图纸上画出传动方案图;
(5) 对机械传动系统和执行机构进行运动尺寸计算; (6) 在图纸上画出机械运动方案简图; (7) 进行飞轮设计;
(8) 编写设计计算说明书。
横向送书机构: 方案一
:
工作原理:通过主动件凸轮的转动将速度通过齿条2→齿条2带动齿轮
1,2转动,并且由齿轮1,2控制不同的传动比→齿轮1带动齿条1和其上推头横向运动完成横向送书动作。
方案二
:
工作原理:轮1为主动件,带动传送带顺时针转动,书本放在传送带上,
利用摩擦力将书本送到工作台上。
方案比较:
方案一的机构复杂,采用的构件较多,加工成本高,但精度高,课程设计以简单加工成本低,精度高为优先考虑。然而,凸轮和从动件之间为高副接触,压强较大,易于磨损。
比较方案的机构简单,容易制造,维护方便,成本低廉;过载时,带在轮面上打滑,可以防止损坏其他零件,起安全保护作用;能起缓冲和吸振作用,可使传动平稳,噪声小。但是因为带传动受摩擦力和带的弹性变形的影响,所以不能保证准确的传动比, 效率较低。
经过比较,选第一种方案为最佳方案。
纵向送书机构: 方案一
:
工作原理:凸轮为主动件,凸轮的转动使连杆摆动,从而带动滑块推头做往复运动,从而完成纵向推书动作。
方案二
:
方案比较:
方案二的连杆滑块机构也可以实现横向推书的功能,但是通过对比方案一的凸轮齿条机构结构简单,易于实现复杂的运动要求比较容易设计各种传动比的要求,而且结构紧凑。连杆滑块机构制造容易,但设计较为困难,连杆机构随着构件和运动副数目的增加,积累误差较大,传动精度不高。
经方案比较:选取方案一为最佳方案。
方案一:
工作原理:用皮带轮控制另一个主动轮,按额定的转速转动,通过不完全齿轮控制摩擦轮的运动,当需要送纸的时候使不完全齿轮与完全齿轮相啮合,实线送纸,不需要时使不完全齿轮的圆滑面与齿轮相切,实现传纸的间歇。
方案二
:
工作原理:凸轮为原动件,通过凸轮转动而使与滚纸筒相邻的滚子与滚纸筒接触或者相离,当接触时,由于摩擦较大,滚子转动,带动纸张下滑,当相离时,由于无摩擦,纸张停止下滑。
方案比较:
方案一机构简单,空间构件灵活,稳定性好,设计简单,精度有保证。但其不完全齿轮加工复杂,成本高,工作时会产生冲击,载荷不大,对机构整体的稳定性影响不大。
方案二机构也相对简单,但控制起来精度不高,误差大,工作时会产生冲击,对机构的载荷比较大,对机构整体的稳定性影响较大。
经过方案比较,拟选取方案一为最佳方案。
方案一
:
工作原理:凸轮为原动件,凸轮推动推杆先前运动,上下两边的压块先压紧牛皮纸,刀具再向前将纸裁断。
方案二
:
工作原理:通过主轴的运动将速度V传递到凸轮上,使其转动,将力
与速度通过连杆传递给剪刀,通过剪刀截断合适尺寸的纸,最后达到裁纸的工作过程。
方案比较:
方案一的机构直观,简单地实现裁纸工作,使用凸轮的推动运动来控制
压紧与切纸,裁纸稳定,结构紧凑,所占用的空间小。装配略困难。
方案二的机构复杂,构件多,所积累的误差较大,同样是使用凸轮的运
动来控制压紧与切纸,但所占用空间大,装配较困难。
经过方案比较:选择方案一为最佳方案。
折边机构: 方案一
:
工作原理:主要执行机构为凸轮、连杆和摆杆机构,通过凸轮的回转运动,带动连杆摆动,进而实现假肢杆件的间隙闭合开启运动,实现折上下边的功能。 方案二:
方案比较:
方案二也可以实现折上下边,但是该机构只能折一边(上边或下边),因此要实现同时折好两边,需要两个对称的机构,而且曲柄连续回转难以控制好折边时间,因而精确度不如方案一机构高,同时运动幅度也比较大,占空间大。
经比较:选取方案一为最佳方案。
折前角机构: 方案一
:
工作原理:主要执行机构为一个随轴回转的半球形转子,该机构随轴转动,上下边折好后,半球形转子刚好转过来实现折前角的功能。后角利用固定挡板折好。
方案二:
工作原理:主要执行机构为一个随轴转动的矩形框和齿轮机构,该机构为由齿轮带动的,做圆周运动的机构。初始状态下,两滚轮所在平面平行于书运动方向,以便书两边所带的纸能够顺利通过。当侧边与两端上下边折起来之后,齿轮带动其绕竖直轴作半周圆周运动,使竖直滚轮掠过前角边,将其折起。
方案比较:
方案一与方案二工作原理相似,但由于方案一为半球形转子,力度更大,因此精度就越高,效率也就越高。
经比较,选取方案一为最佳方案。
涂浆糊贴标签烘干机构: 方案一
:
工作原理:通过凸轮的转动带动与凸轮连接的轮轴,并使其上面的水平板块做水平往复运动,在推书机构把第二摞书推到涂浆糊处,第一摞书恰好到达贴标签处。直至最后完成烘干。
方案二:
工作原理:凸轮的转动带动滑块的左右移动,从而实现涂浆糊、贴标签、烘干功能。
方案比较:
方案一虽然多了一个摇杆,传动稳定,但机构较多,运动复杂,容易积
累误差。而方案二相对来说机构简单明了,搭建也方便。
经比较,选取方案二为最佳方案。
机构总方案汇总
横向送书机构 纵向送书机构
裁纸机构
折前脚机构
送纸机构
折边机构
涂浆糊贴标签烘干机构
机构总运动循环图
电动机到主轴间的减速机构计算
减速机构的示意图如下:
由选定的数据:电动机转速n1=1000r/min,主轴转速n4=10r/min
可通过计算得到各个齿轮的齿数,传动比为10。
计算过程: i14=z2*z3*z4÷z1*z2’*z3’=100 可取: z1=24 z2=75 z3=60 z4=160 z2’=15 z3’=20 模数m=2 压力角α=20°
横向推书机构中凸轮机构的设计:(matlab程序在附录)
由上面要求设定凸轮推程运动角为120°。为了防止推书过程中书本出现洒落要求推书过程中加速度从零开始,根据要求凸轮的加速度按正弦规律变化。回程过程中加速度没有要求,我们仍旧按正弦加速度规律设计凸轮。凸轮的行程有齿轮1可知,h=200mm,设计凸轮从动件是直动型的,采用压力角为30°,基圆半径110mm。
基圆最小半径表达式:Rmin =
将推程位移曲线中ds/dφ最大斜率带入得: Rmin=83.3mm 选取基圆半径110mm>83.3mm
凸轮从动件位移表达式:
S=
·φ-sin3φ(0
S=h-·(φ-)+sin3(φ-)(2π/3
S=0; (4π/3
)
位移曲线
凸轮从动件速度表达式:
V=·ω-·ωcos3φ(0
V=-(·ω - ·ωcos3(φ- )(2π/3
V=0 (4π/3
)
速度曲线
凸轮从动件加速度表达式:
a=sin3φ(0
a=sin3(φ-) (2π/3
a=0 (4π/3
)
加速度曲线
凸轮理论轮廓曲线
用解析法对牛头刨床六杆机构运动分析
(C语言版,程序在附录)
牛头刨床机构简图
牛头刨床三维立体图
1.位置分析:
2.速度分析:
将上式对时间求一阶导得:
将上式写成矩阵式得:
3.加速度分析:
将速度分析式对时间再次求一阶导得:
将上式写成矩阵式可得:
(L1=0.125m; L3=0.6m; L4=0.15m; L6=0.275m; L6`=0.575m; w1=1rad/s;)
最后利用C语言(高斯消元法)对矩阵式进行求解,可得从动件位移,速度,加速度数据,最后利用matlab将数据连成曲线,最终得出如图所示曲线 (单位皆为国际单位制)
当原动件角度为0°时:
利用CAD标注选项得出位移S=10.11mm×10=0.1011m;
与原图相符。
速度验证:
因为 Vb3 = Vb2 + Vb3b2; 大小 ? w1*l1 ?
方向 ⊥BC ⊥AB ∥BC
可求得
Vb3=0.052m/s;
Vd=Vb3/S3*L3=0.103m/s Ve = Vd + Ved 大小 ? w3*l3 ?
方向 ∥EF ⊥CD ⊥DE 可求得
Ve=-0.085m/s
与原图相符。
ab3+ ab3 = ab2 + ab3b2 + ab3b2 大小 V
可求得
/S3 ? Vb2/L1 2*w3*Vb3b2 ?
方向 B→C ⊥CD ⊥AB ⊥BC ∥BC
b32
2
n tK r
ab3;
在通过影像原理可求得ad的大小和方向。 ae = ad + aed 大小 ? √ V
2ed
n
+ aed
t
/l4 ?
方向 ∥EF √ D→E ⊥DE
可求得 ae =-0.18m/s2; 与原图相符;
当原动件角度为200°(360°-160°)的时:
利用CAD标注选项得出位移S=-41.55mm×10=-4.155m;
与原图相符。
速度验证:
因为 Vb3 = Vb2 + Vb3_b2; 大小 ? w1*l1 ?
方向 ⊥BC ⊥AB ∥BC
可求得
Vb3;
Vd=Vb3/s3*L3; Ve = Vd + Ve_d 大小 ? w3*l3 ?
方向 ∥EF ⊥CD ⊥DE 可求得
Ve=-0.13m/s
与原图相符。
加速度验证:
ab3+ ab3 = ab2 + ab3b2 + ab3b2 大小 V
/S3 ? Vb2/L1 2*w3*Vb3b2 ?
b32
2
n tK r
方向 B→C ⊥CD ⊥AB ⊥BC 可求得
ab3;
在通过影像原理可求得ad的大小和方向。 an
e = ad + aed+ at
ed
大小 ? √ V
2ed
/l4 ?
方向 ∥EF √ D→E ⊥DE
可求得 ae =0.09m/s2; 与原图相符;
BC
∥
课程设计心得体会
为期一周的机械原理课程设计结束了,在这次实践的过程中我学到了一些除书本知识以外的其他东西,领略到了别人在处理专业技能问题时显示出的优秀品质,更深切的体会到人与人之间的那种相互协调合作的机制,最重要的还是自己对一些问题的看法产生了良性的变化.
当我在设计当中遇到问题时,必须要有斟酌的态度才会收到效果。我记得有位老师说过,有些事情的产生是有原因的,别人能在诸如学习上取得了不一般的成绩,那绝对不是侥幸或者巧合,那是自己付出劳动的成果的彰显,那是自己辛苦过程的体现.这一句话至今为止我都牢牢的记在心里。 这次课程设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。 在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。 我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
附录:
牛头刨床C语言程序
#include #include #include #include #include #define PI 3.1415926 using namespace std; const double eps = 1e-15; const int Max_M = 15; const int Max_N = 15;
double Aug[Max_M][Max_N+1]; ///增广矩阵
bool free_x[Max_N]; ///判断是否是不确定的变元 double x[Max_N];
double x2[Max_N]; //解集 double l1,l3,l4,P,G,H,S; double a1,a3,a4,w1;
int m,n; //m个方程,n个未知数 double s1,w3,w4,ve;
int sign(double x){ return (x>eps) - (x
-1 无解
0 有且仅有一个解
>=1 有多个解,根据free_x判断哪些是不确定的解 */
void fun() //增广矩阵 {
Aug[0][0]=cos(a3);Aug[0][1]=-P*sin(a3);Aug[0][2]=0;Aug[0][3]=0;Aug[0][4]=-l1*sin(a1)*w1; Aug[1][0]=sin(a3);Aug[1][1]=P*cos(a3) ;Aug[1][2]=0;Aug[1][3]=0;Aug[1][4]=l1*cos(a1)*w1; Aug[2][0]=0; Aug[2][1]=-l3*sin(a3);Aug[2][2]=-l4*sin(a4);Aug[2][3]=-1;Aug[2][4]=0; Aug[3][0]=0; Aug[3][1]=l3*cos(a3);Aug[3][2]=l4*cos(a4);Aug[3][3]=0;Aug[3][4]=0; }
int Gauss() //高斯消元法 {
int i,j;
int row,col,max_r;
memset(free_x,true,sizeof(free_x));
for(row=0,col=0; row
max_r = row;
for(i = row+1; i
if(sign(fabs(Aug[i][col])-fabs(Aug[max_r][col]))>0)
max_r = i;
}
if(max_r != row) ///将该行与当前行交换 {
for(j = row; j
if(sign(Aug[row][col])==0) ///当前列row行以下全为0(包括row行) {
row--; continue;
}
for(i = row+1; i
if(sign(Aug[i][col])==0) continue;
double ta = Aug[i][col]/Aug[row][col]; for(j = col; j
} }
for(i = row; i
{
if(sign(Aug[i][col]))
return -1;
}
if(row
for(i = row-1; i >=0; i--) {
int free_num = 0; ///自由变元的个数 int free_index; ///自由变元的序号
for(j = 0; j
if(sign(Aug[i][j])!=0 && free_x[j]) free_num++,free_index=j; }
if(free_num > 1) continue; ///该行中的不确定的变元的个数超过1个,无
法求解,它们仍然为不确定的变元
///只有一个不确定的变元free_index,可以求解出该变元,且该变元是确定
的
double tmp = Aug[i][n];
for(j = 0; j
if(sign(Aug[i][j])!=0 && j!=free_index)
tmp -= Aug[i][j]*x[j];
}
x[free_index] = tmp/Aug[i][free_index];
free_x[free_index] = false;
}
return n-row;
}
///有且仅有一个解,严格的上三角矩阵(n==m)
for(i = n-1; i >= 0; i--)
{
double tmp = Aug[i][n];
for(j = i+1; j
if(sign(Aug[i][j])!=0)
tmp -= Aug[i][j]*x[j];
x[i] = tmp/Aug[i][i];
}
return 0;
}
void fun2()
{
Aug[0][0]=cos(a3);Aug[0][1]=-P*sin(a3);Aug[0][2]=0;Aug[0][3]=0;
Aug[0][4]=-(-w3*sin(a3)*s1-w3*(s1*sin(a3)+P*w3*cos(a3)))-(l1*w1*w1*cos(a1)); Aug[1][0]=sin(a3);Aug[1][1]=P*cos(a3);Aug[1][2]=0;Aug[1][3]=0;
Aug[1][4]=-(s1*w3*cos(a3)+w3*(s1*cos(a3)-P*w3*sin(a3)))-w1*l1*w1*sin(a1); Aug[2][0]=0;Aug[2][1]=-l3*sin(a3);Aug[2][2]=-l4*sin(a4);Aug[2][3]=0; Aug[2][4]=-(-l3*w3*cos(a3)*w3-l4*w4*w4*cos(a4));
Aug[3][0]=0;Aug[3][1]=l3*cos(a3);Aug[3][2]=l4*cos(a4);Aug[3][3]=0;
Aug[3][4]=-(-l3*w3*w3*sin(a3)-l4*w4*w4*sin(a4));
}
int main()
{
freopen("in.txt","r",stdin);
freopen("out2.txt","w",stdout);
// printf("input l1 l3 l4 H G a1 w1 :\n");
cin>>l1>>l3>>l4>>H>>G;
for(int z=0;z
{
{
a1=z/180.0*PI;
w1=1;
}
printf("a1=%lf ",a1);
a3=fabs(atan((H+l1*sin(a1))/l1/cos(a1)));
P=l1*cos(a1)/cos(a3);
a4=asin((G-l3*sin(a3))/l4);
S=l4*cos(a4)+l3*cos(a3);
printf("s=%lf ",S);
fun();
m=n=4;
Gauss();
printf("ve=%lf ",x[3]);
s1=x[0];
w3=x[1];
w4=x[2];
ve=x[3];
printf("\n");
fun2();
int yy=Gauss();
printf("%d\n",yy);
// for(int i=0;i
// {
// printf("%.2lf ",x[i]);
// }
printf("\n");
}
return 0;
}
凸轮设计matlab程序
clc
clear all
n=0;
for i=0:0.01:2*pi
n=n+1;
if i
s(n)=600/(2*pi)*i-200/(2*pi)*sin(3*i);
end
if i>2*pi/3&i
s(n)=200-600/(2*pi)*(i-2*pi/3)+100/pi*sin(3*(i-2*pi/3)); end
if i>4*pi/3&i
s(n)=0;
end
x(n)=(s(n)+110)*sin(i);
y(n)=(s(n)+110)*cos(i);
end
fai=0:0.01:2*pi;
figure (1)
plot(fai,s)
n=0;
for i=0:0.01:2*pi
n=n+1;
if i
v(n)=600/(2*pi)*1-600/(2*pi)*cos(3*i)*1; end
if i>2*pi/3&i
v(n)=-(600/(2*pi)*1-600/(2*pi)*1*cos(3*(i-2*pi/3))); end
if i>4*pi/3&i
v(n)=0;
end
end
fai=0:0.01:2*pi;
figure (4)
plot(fai,v)
figure (2)
plot(x,y);
hold on;
ct=0:0.01:2*pi;
plot(110*cos(ct),110*sin(ct),'y');
n=0;
for i=0:0.01:2*pi
n=n+1;
if i
a(n)=9*200*1*1/(2*pi)*sin(3*i); end
if i>2*pi/3&i
a(n)=-(9*200*1*1/(2*pi)*sin(3*(i-2*pi/3))); end
if i>4*pi/3&i
a(n)=0;
end
end
fai=0:0.01:2*pi;
figure (3)
plot(fai,a)