凸轮机构大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械原理大作业
凸轮机构设计
(题号:4-A)
班级
学号
姓名
成绩
同组者
2016年5月14日
目录
(一)题目及原始数据···············(二)推杆运动规律及凸轮廓线方程·········(三)程序框图·········
(四)计算程序·················
(五)程序计算结果及分析·············(六)凸轮机构图·················(七)心得体会··················(八)参考书···················
一题目及原始数据
试用计算机辅助设计完成偏置直动滚子推杆盘形凸轮机构的设计
(1)推程运动规律为五次多项式运动规律,回程运动规律为余弦加速度运动规律;
(2)打印出原始数据;
(3)打印出理论轮廓和实际轮廓的坐标值;
(4)打印出推程和回程的最大压力角,以及出现最大压力角时凸轮的相应转角;(5)打印出凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;
(6)打印最后所确定的凸轮的基圆半径。
表一偏置直动滚子推杆盘形凸轮机构的已知参数
计算点数:N=90
q1=60; 近休止角δ1
q2=180; 推程运动角δ2
q3=90; 远休止角δ3
q4=90; 回程运动角δ4
二推杆运动规律及凸轮廓线方程
推杆运动规律:
(1)近休阶段:0o≤δ<60 o
s=0;
ds/dδ=0;
2/δd
2
d=0;
s
(2)推程阶段:60o≤δ<180 o
五次多项式运动规律:
Q1=Q-60;
s=10*h*Q1*Q1*Q1/(q2*q2*q2)-15*h*Q1*Q1*Q1*Q1/(q2*q2*q2*q2)+6*h*Q1* Q1*Q1*Q1*Q1/(q2*q2*q2*q2*q2);
ds/dδ
=30*h*Q1*Q1*QQ/(q2*q2*q2)-60*h*Q1*Q1*Q1*QQ/(q2*q2*q2*q2)+30*h*Q1*Q1*Q 1*Q1*QQ/(q2*q2*q2*q2*q2);
2/δd
2
d=60*h*Q1*QQ*QQ/(q2*q2*q2)-180*h*Q1*Q1*QQ*QQ/((q2*q2*q2*q2) s
)+120*h*Q1*Q1*Q1*QQ*QQ/((q2*q2*q2*q2*q2));
(3)远休阶段:180o≤δ<270 o
s=h=24;
ds/dδ=0;
2
2/δd
d=0;
s
(4)回程阶段:270≤δ<360
Q2=Q-270;
s=h*(1+cos(2*Q2/QQ))/2;
ds/dδ=-h*sin(2*Q2/QQ);
2
2/ d
d=-2*h*cos(2*Q2/QQ);
s
凸轮廓线方程:
(1)理论廓线方程:
s0=sqrt(r02-e2)
x=(s0+s)sinδ+ecosδ
y=(s0+s)cosδ-esinδ
(2)实际廓线方程
先求x,y的一、二阶导数
dx=(ds/dδ-e)*sin(δ)+(s0+s)*cos(δ);
dy=(ds/dδ-e)*cos(δ)-(s0+s)*sin(δ);
dxx=dss*sin(δ)+(ds/dδ-e)*cos(δ)+ds/dδ*cos(δ)-(s0+s)*sin(δ);
dyy=dss*cos(δ)-(ds/dδ-e)*sin(δ)-ds/dδ*sin(δ)-(s0+s)*cos(δ);
x1=x-rr*coso;y1=y-rr*sino;
再求sinθ,cosθ
sinθ=x’/sqrt((x’)2+(y’)2)
cosθ=-y’/sqrt((x’)2+(y’)2)
最后求实际廓线方程
x1=x-rr*cosθ;
y1=y-rr*sinθ;
三程序框图
四计算程序
程序
#include
#include
void main(){
double
r0,or,rr,h,e,q1,q2,q3,q4,a,a11,a22,Q,pi,pa,paa,QQ,A1,A2,B1,B2,C1,C2; /*定义变量*/
double xz[90],yz[90],sz[90],x1z[90],y1z[90],Q1,Q2;
double s0,s,x,y,y1,x1,dx,dxx,dy,dyy,ds,dss,sino,coso,p;
int N,i,j;
r0=19;e=5;h=28;rr=10;q1=60;q2=120;q3=90;q4=90;a11=30;a22=70;or=1;
pi=3.141592653;pa=3; /*给已知量赋值*/ N=90;A1=0;B1=0;C1=1000;
for(; ;){
Q=0;
C1=1000;
QQ=180/pi;
r0=r0+or;
s0=sqrt(r0*r0-e*e);
for(i=1,j=0;i<=N;i++,j++){
if(Q<60){ /*近休阶段
*/
s=0;
ds=0;
dss=0;
a=atan(e/sqrt(r0*r0-e*e)); /*求压力角*/