机械原理课程设计牛头刨床凸轮机构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械原理课程设计任务书(二)
姓名柳柏魁专业液压传动与控制班级液压09-1 学号0907240110
五、要求:
1)计算从动件位移、速度、加速度并绘制线图。
2)确定凸轮机构的基本尺寸,选取滚子半径,画出凸轮实际廓线,并按比例绘出机构运动简图。以上内容作在A2或A3图纸上。
3)编写出计算说明书。
指导教师:
开始日期:2011 年 6 月26 日完成日期:2011 年7 月 1 日
目录
1.设计任务及要求------------------------------ 2.数学模型的建立------------------------------ 3.程序框图--------------------------------------- 4.程序清单及运行结果------------------------ 5.设计总结--------------------------------------- 6.参考文献--------------------------------------
1设计任务与要求
已知摆杆9为等加速等减速运动规律,其推程运动角φ=75,远休止角φs =10,回程运动角φ΄=70,摆杆长度l 09D =135,最大摆角φmax =15,许用压力角[α]=42,凸轮与曲线共轴。 要求:
(1) 计算从动件位移、速度、加速度并绘制线图(用方格纸绘制),
也可做动态显示。
(2) 确定凸轮的基本尺寸,选取滚子半径,画出凸轮的实际廓线,
并按比例绘出机构运动简图。 (3) 编写计算说明书。
2数学模型
(1) 推程等加速区
当2/0ϕδ≤≤时 22max /21ϕδϕ=m (角位移) 2max /4ϕδϕω=(角速度)
2max /4ϕϕε=(角加速度)
(2) 推程等减速区
当ϕδϕ≤<2/时 22max max /)(21ϕδϕϕϕ--=m (角位移)
2max /)(4ϕδϕϕω-=(角速度) 2max /4ϕϕε-=(角加速度)
(3) 远休止区
当s ϕϕδϕ+≤<时 max 1ϕ=m (角位移) 0=ω (角速度)
0=ε(角加速度)
(4) 回程等加速区
当2/ϕϕϕδϕϕ'++≤<+s s 时 22max max /)(21ϕϕϕδϕϕ'---=s m (角位移)
2max /)(4ϕϕϕδϕω'---=s (角速度)2max /4ϕϕε'-=(角加速度)
(5) 回程等减速区
当ϕϕϕδϕϕϕ'++≤<'++s s 2/时 22max /)(21ϕδϕϕϕϕ'-'++=s m (角位移)
2max /)(4ϕδϕϕϕϕω'-'++-=s (角速度) 2max /4ϕϕε'=(角加速度)
(6) 近休止区
01=m (角位移) 0=ω(角速度)
0=ε(角加速度)
如图选取xOy 坐标系,B1点为凸轮轮廓线起始点。开始时推杆轮子中心处于B1点处,当凸轮转过角度时,摆动推杆角位移为,由反转法作图可看出,此时滚子中心应处于B 点,其直角坐标为:
()()
00cos cos sin sin ϕϕδδϕϕδδ++-=++-=l a y l a x
因为实际轮廓线与理论轮廓线为等距离,即法向距离处处相等,都为滚半径rT.故将理论廓线上的点沿其法向向内测移动距离rT 即得实际廓线上的点B(x1,y1).由高等数学知,理论廓线B 点处法线nn 的斜率应为 ()()θθδδθcos /sin ////=-==d dy d dx dy dx tg 根据上式有:
()()()()
δϕϕϕδδδδϕϕϕδδδd d l a d dy d d l a d dx /1sin sin //1cos cos /00++++-=+++-=
可得 ()()()()()()
2
22
2////cos ///
/sin δδδθδδδθd dy d dx d dy d dy d dx d dx +-=+=
实际轮廓线上对应的点B(x,y)的坐标为
θ
θsin 1cos 1T T r y y r x x ==
此即为凸轮工作的实际廓线方程,式中“-”用于内等距线,“+” 于外等距线。
3程序框图
程序清单及运行结果
4程序清单及运行结果#include
#include
#include
#include
#include
#define l 135.0
#define Aa 42
#define r_b 40
#define rr 8
#define K (3.1415926/180)
#define dt 0.25
float Q_max,Q_t,Q_s,Q_h;
float Q_a;
double L,pr;
float e[1500],f[1500],g[1500];
void Cal(float Q,double Q_Q[3])
{
Q_max=15,Q_t=75,Q_s=10,Q_h=70;
if(Q>=0&&Q<=Q_t/2)
{
Q_Q[0]=K*(2*Q_max*Q*Q/(Q_t*Q_t));
Q_Q[1]=4*Q_max*Q/(Q_t*Q_t);
Q_Q[2]=4*Q_max/(Q_t*Q_t);
}
if(Q>Q_t/2&&Q<=Q_t)
{
Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t)*(Q-Q_t)/(Q_t*Q_t));
Q_Q[1]=4*Q_max*(Q_t-Q)/(Q_t*Q_t);
Q_Q[2]=-4*Q_max/(Q_t*Q_t);
}
if(Q>Q_t&&Q<=Q_t+Q_s)
{
Q_Q[0]=K*Q_max;
Q_Q[1]=0;
Q_Q[2]=0;
}
if(Q>Q_t+Q_s&&Q<=Q_t+Q_s+Q_h/2)
{
Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t-Q_s)*(Q-Q_t-Q_s)/(Q_h*Q_h));
Q_Q[1]=-4*Q_max*(Q-Q_t-Q_s)/(Q_h*Q_h);
Q_Q[2]=-4*Q_max/(Q_h*Q_h);
}
if(Q>Q_t+Q_s+Q_h/2&&Q<=Q_t+Q_s+Q_h)
{
Q_Q[0]=K*(2*Q_max*(Q_h-Q+Q_t+Q_s)*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h)); Q_Q[1]=-4*Q_max*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h);
Q_Q[2]=4*Q_max/(Q_h*Q_h);
}
if(Q>Q_t+Q_s+Q_h&&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,y3,x4,y4,dx,dy;
double QQ[3];
circle(240,240,3);
circle(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K),3); moveto(240,240);