1.设计任务及要求------------------------------
2.数学模型的建立------------------------------
3.程序框图---------------------------------------
4.程序清单及运行结果------------------------
5.设计总结---------------------------------------
6.参考文献 --------------------------------------
1设计任务与要求
已知摆杆9为等加速等减速运动规律,其推程运动角φ=75,远休止角φs=10,回程运动角φ΄=65,摆杆长度l09D=130,最大摆角φmax=15,许用压力角[α]=42,凸轮与曲线共轴。
要求:
(1)计算从动件位移、速度、加速度并绘制线图(用方格纸绘制),也可做动态显示。
洗肾机
(2)确定凸轮的基本尺寸,选取滚子半径,画出凸轮的实际廓线,并按比例绘出机构运动简图。 (3)叉车轮辋编写计算说明书。
2数学模型
(1)推程等加速区
当时 (角位移) (角速度)
(角加速度)
(2)推程等减速区
当时 (角位移)
(角速度) (角加速度)
(3)远休止区
当时 (角位移) (角速度)
(角加速度)
(4)回程等加速区
当时 (角位移)
(角速度)(角加速度)
(5)回程等减速区
当时 (角位移)
(角速度) (角加速度)
(6)近休止区
(角位移) (角速度)
(角加速度)
一、
如图选取xOy坐标系,B1点为凸轮轮廓线起始点。开始时推杆轮子中心处于B1点处,当凸轮转过角度时,摆动推杆角位移为,由反转法作图可看出,此时滚子中心应处于B点,其直角坐标为: 因为实际轮廓线与理论轮廓线为等距离,即法向距离处处相等,都为滚半径rT.故将理论廓线上的点沿其法向向内测移动距离rT即得实际廓线上的点B(x1,y1).由高等数学知,理论廓线B点处法线nn的斜率应为 根据上式有:
可得
实际轮廓线上对应的点B(x,y)的坐标为
此即为凸轮工作的实际廓线方程,式中“-”用于内等距线,“+”
于外等距线。
3程序框图
对接接头 程序清单及运行结果
#include<math.h>
#include<dos.h>
#include<graphics.h>
#include<conio.h>
蒸汽消音器#include<stdio.h>
#define l 130.0
#define Aa 42
#define r_b 50
#define rr 7.5
#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=65;
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;
vvint
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);
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(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));
lineto(240+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));
lineto(255+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));
lineto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));