哈工大—机械原理凸轮大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、题目要求及机构运动简图
如图1所示直动从动件盘形凸轮机构。其原始参数见表1。
图一凸轮运动简图
表一凸轮原始参数
二、计算流程框图
凸轮机构分析
建立数学模型
位移方程
速度方程加速度方程
速度线图位移线图加速线图
ds/dΨ-s曲线
升程压力角回程压力角
确定轴向
及基圆半径压力角图
确定滚子半径实际轮廓理论轮廓轮廓图
结束
三、建立数学模型
1.从动件运动规律方程
首先,由于设计凸轮轮廓与凸轮角速度无关,所以不妨设凸轮运动角速度为w = 1rad/s。
(1)推程运动规律(0 < φ < 90°)
s=h
2×[1−cos(π
φ0
×φ)]
v=πhw
2φ0×sin(π
φ0
×φ)
a=π2ℎw2
2φ02×cos(π
φ0
×φ)
式中:h=65mm,Φ0=π/2
(2)远休程运动规律(90°< φ < 190°)
s=65mm
v=0
a=0
(3)回程运动规律(190°< φ < 240°)
s1=h−
h
4+π
∗(π∗
(φ−φ0−φs)
φ0′
−
sin(4∗π∗φ−φ0−φs
φ0′
)
4
)
(190°< φ < 196.25°)
s2=h−
h
4+π
∗(2+π∗
(φ−φ0−φs)
φ0′
−
9∗sin(π
3
+4∗π∗φ−φ0−φs
3∗φ0′
)
4
)
(196.25°< φ < 233.75°)
s3=h−
h
4+π
∗(4+π∗
(φ−φ0−φs)
φ0′
−
sin(4∗π∗φ−φ0−φs
φ0′
)
4
)
(233.75°< φ < 240°)
回程运动中的速度和加速度为位移对时间t的倒数:
v=ds dt
a=dv dt
(4)近休程运动规律(240°< φ < 360°)
s=0
v=0
a=0 2.从动件位移、速度、加速度线图(1)位移线图
(2)速度线图
(3)加速度线图
(4)位移、速度、加速度线图MATLAB源程序
%% 已知条件
h = 65; %mm
phi_0 = 90./180*pi; %rad
alpha_up_al = 35./180*pi; %升程许用压力角phi_00 = 50./180*pi;
alpha_down_al = 70./180*pi; %回程许用压力角
phi_s = 100./180*pi;
phi_ss = 120./180*pi;
w = 1;
%% 绘制从动件位移、速度、加速度线图
% 推程阶段
t_up = 0 : 0.5 : 90;
t_up1 = t_up./180*pi;
syms t_up1phi_up s_up v_up a_up
phi_up = w.*t_up1;
s_up = h./2.*(1 - cos(pi.*phi_up./phi_0));
v_up = diff(s_up,t_up1);
a_up = diff(v_up,t_up1);
s_up1 = double(subs(s_up,t_up./180*pi));
v_up1 = double(subs(v_up,t_up./180*pi));
a_up1 = double(subs(a_up,t_up./180*pi));
% 远休程
t_s = 90 : 0.5 : (90+100);
t_s1 = t_up./180*pi;
s_s(1:201) = h;
v_s(1:201) = 0;
a_s(1:201) = 0;
% 回程阶段1
t_down1 = (90+100) : 0.5 : (90+100+50/8);
t_down11 = t_down1./180*pi;
syms t_down11phi_down1s_down1v_down1a_down1
phi_down1 = w.*t_down11;
s_down1 = h - h./(4+pi).*(pi.*(phi_down1 - phi_0 - phi_s)./phi_00 - ...
sin(4.*pi.*(phi_down1 - phi_0 - phi_s)./phi_00)./4);
v_down1 = diff(s_down1,t_down11);
a_down1 = diff(v_down1,t_down11);
s_down11 = double(subs(s_down1,t_down1./180*pi));
v_down11 = double(subs(v_down1,t_down1./180*pi));
a_down11 = double(subs(a_down1,t_down1./180*pi));
% 回程阶段2
t_down2 = (90+100+50/8) : 0.5 : (90+100+7*50/8);