机械原理课程设计——Ice Cream
%计算曲柄长度和滑块长度的最大允许偏差 DRm=DH/sqrt(N)/CRm; DLm=DH/sqrt(N)/CLm;
fprintf(' 曲柄长度允许的最大偏差 DRm=%3.6f mm\\n',DRm) fprintf(' 连杆长度允许的最大偏差 DLm=%3.6f mm\\n',DLm) plot(theta,CR,'r') hold;
gtext('曲柄长度的影响系数曲线') title('\\bf 机构尺度影响系数线图') xlabel('\\bf 曲柄转角\\theta(°)') ylabel('\\bf 尺度影响系数') plot(theta,CL,'k')
gtext('连杆长度影响曲线') grid on
3、齿轮仿真:
clear
hd=pi/180; clear;
m=input('请输入渐开线齿轮模数m='); z=input('请输入渐开线齿轮齿数z='); phi0=20; x=0;
x0=0;y0=0; r=m*z/2; hd=pi/180; du=180/pi; p=pi*m;
s=2.5*m*tan(phi0*hd); h=(2*s+p)/4; c=x0-2*p-h;
%2.计算齿条刀具上20个特征点在初始位置的坐标值,并存入数组x1,y1 x1(1,1)=c;
y1(1,1)=-(r+(1.25+x)*m)+y0; x1(2,1)=x1(1,1)+s; y1(2,1)=y1(1,1)+2.5*m; x1(3,1)=x1(2,1)+(p/2-s); y1(3,1)=y1(2,1); x1(4,1)=x1(3,1)+s; y1(4,1)=y1(3,1)-2.5*m; for i=5:20
x1(i,1)=x1(i-4,1)+p; y1(i,1)=y1(i-4,1);
31
机械原理课程设计——Ice Cream
end
%3.计算齿条刀具向左侧平移和旋转后的坐标值,并存入数组x2,y2 j=0;
for d_phi=0:(6*hd):4.398226/2; j=j+1;
for i=1:20;
x1(i,j)=x1(i,1)-r*d_phi; y1(i,j)=y1(i,1); s2=y1(i,j)-y0; s1=x1(i,j)-x0;
r1(i,j)=sqrt((s1)^2+(s2)^2); phi(i,j)=atan(s1/s2);
x2(i,j)=r1(i,j)*sin(phi(i,j)-d_phi)+x0; y2(i,j)=r1(i,j)*cos(phi(i,j)-d_phi)+y0; end end
%4.计算齿条刀具向右侧平移和旋转后的坐标值,继续存入数组x2,y2 for d_phi=0:-(6*hd):-4.398226/2; j=j+1;
for i=1:20;
x1(i,j)=x1(i,1)-r*d_phi; y1(i,j)=y1(i,1); s2=y1(i,j)-y0; s1=x1(i,j)-x0;
r1(i,j)=sqrt((s1)^2+(s2)^2); phi(i,j)=atan(s1/s2); x2(i,j)=r1(i,j)*sin(phi(i,j)-d_phi)+x0;
y2(i,j)=r1(i,j)*cos(phi(i,j)-d_phi)+y0; end end
%5.渐开线齿轮范成的动态模拟 figure(1); j0=j;
for j=1:j0
plot(x2(:,j),y2(:,j)); axis equal;
hold on;grid on; end
rb=r*cos(20*hd); ra=r+(1+x)*m;
rf=r-(1.25-x)*m; ct=linspace(0,2*pi);
plot(rb*cos(ct),rb*sin(ct),'c-'); plot(r*cos(ct),r*sin(ct),'g');
32
机械原理课程设计——Ice Cream
plot(ra*cos(ct),ra*sin(ct),'r'); plot(rf*cos(ct),rf*sin(ct),'b'); title('渐开线齿轮范成的动态模拟');
4、变位齿轮参数测定:
% 变位直齿圆柱齿轮参数测定 z=8; % 齿数
df0=33.43; % 齿根圆直径的测量值 % 变位齿轮公法线长度的测量值 Wk=24.73;Wk1=39.43; % 跨齿数
k=round(z/9+0.5); if k<2 k=2; end
Pb=Wk1-Wk; % 基圆齿距 alf=20;hd=pi/180; % 压力角 m=round(Pb/(pi*cos(alf*hd))); % 模数
Wkb=m*cos(alf*hd)*((k-0.5)*pi+z*0.0149044); % 标准齿轮公法线长度 x1=(Wk-Wkb)/(2*m*sin(alf*hd)); % 变位系数 hf=(m*z-df0)/2; % 齿根高 % 齿顶高系数与顶隙系数 hc=hf/m+x1; disp ' '
fprintf(1,' 齿顶高系数与顶隙系数之和 hc = %3.2f \\n',hc); hx=1.00;cx=0.25; % 按照hc计算值确定齿制-正常齿或短齿 % 输出齿轮参数 disp ' '
disp ' ========== 变位齿轮齿轮参数 =========='; fprintf(1,' 齿数 z = %3.0f \\n',z);
fprintf(1,' 压力角 alf = %3.0f 度 \\n',alf); fprintf(1,' 模数 m = %3.3f mm \\n',m); fprintf(1,' 齿顶高系数 hx = %3.2f \\n',hx); fprintf(1,' 顶隙系数 cx = %3.2f \\n',cx); fprintf(1,' 变位系数 x = %3.3f \\n',x1); disp ' '
disp ' ========== 变位齿轮测量和计算数据 ==========' fprintf(1,' 跨齿数 k = %3.0f \\n',k);
fprintf(1,' 测量齿根圆直径 df0 = %3.3f mm \\n',df0); fprintf(1,' 齿根高 hf = %3.3f mm \\n',hf); fprintf(1,' 基圆齿距 Pb = %3.3f mm \\n',Pb); fprintf(1,' 测量齿轮公法线长度 Wk = %3.3f mm \\n',Wk); fprintf(1,' 标准齿轮公法线长度 Wkb = %3.3f mm \\n',Wkb); % 计算啮合角
33
机械原理课程设计——Ice Cream
Qp=2*(x1+x1)*tan(alf*hd)/(z+z)+0.0149044; % 节圆处展角弧度值 [x,f]=fsolve('tan(x)-x-0.0688793',0.0149044); % 使用fsolve求解渐开线函数方程
alfp=x/hd; % 啮合角 disp ' '
disp ' ========== 齿轮副啮合角和渐开线函数值 =========='; fprintf(1,' 啮合角 alfp = %3.3f 度 \\n',alfp); fprintf(1,' 啮合角渐开线函数值 Qp = %3.7f \\n',Qp); % 计算中心距、分离系数、齿顶变动系数与几何尺寸 a=0.5*m*(z+z); % 标准中心距 ap=a*cos(alf*hd)/cos(alfp*hd); % 实际中心距 y=(ap-a)/m; % 分离系数 sgm=x1+x1-y; % 齿顶变动系数 d=m*z; % 分度圆直径 db=d*cos(alf*hd); % 基圆直径 da=d+2*(hx+x1-sgm)*m; % 齿顶圆直径 df=d-2*(hx+cx-x1)*m; % 齿根圆直径 Wkp=Wkb+2*x1*m*sin(alf*hd); % 公法线长度 % 计算变位齿轮齿厚
alfa=acos(db/da); % 齿顶压力角 s=pi*m/2+2*x1*m*tan(alf*hd); % 分度圆齿厚 sa=s*da/d-da*(tan(alfa)-alfa-0.0149044); % 齿顶圆齿厚 sb=cos(alf*hd)*(s+d*0.0149044); % 基圆齿厚 disp ' '
disp ' ========== 变位齿轮齿厚和啮合角 =========='; fprintf(1,' 分度圆齿厚 s = %3.3f mm \\n',s); fprintf(1,' 齿顶圆齿厚 sa = %3.3f mm \\n',sa); fprintf(1,' 基圆齿厚 sb = %3.3f mm \\n',sb);
fprintf(1,' 齿顶压力角 alfa = %3.3f 度 \\n',alfa/hd); fprintf(1,' 啮合角 alfp = %3.3f 度 \\n',alfp); disp ' '
disp ' ========== 变位齿轮参数和几何尺寸 =========='; fprintf(1,' 中心距分离系数 y = %3.3f \\n',y); fprintf(1,' 齿顶变动系数 sgm = %3.3f \\n',sgm); fprintf(1,' 标准中心距 a = %3.3f mm \\n',a); fprintf(1,' 实际中心距 ap = %3.3f mm \\n',ap); fprintf(1,' 齿顶圆直径 da = %3.3f mm \\n',da); fprintf(1,' 分度圆直径 d = %3.3f mm \\n',d); fprintf(1,' 基圆直径 db = %3.3f mm \\n',db); fprintf(1,' 齿根圆直径 df = %3.3f mm \\n',df); fprintf(1,' 公法线长度 Wkp = %3.3f mm \\n',Wkp); % 根据基圆齿厚、模数和压力角计算变位系数
x2=(sb/(m*cos(alf*hd))-0.5*pi-0.0149044*z)/(2*tan(alf*hd)); fprintf(1,' 变位系数 x = %3.3f \\n',x2);
34
机械原理课程设计——Ice Cream
5、曲柄摇杆机构:
% 曲柄摇杆机构运动分析
% (1)-----计算连杆的输出角th3和摇杆的输出角th4 % 设定各杆的长度(单位:毫米)
rs(1)=304.8; % 设定机架1长度 rs(2)=101.6; % 设定曲柄2长度 rs(3)=254.0; % 设定连杆3长度 rs(4)=177.8; % 设定摇杆4长度 dr=pi/180.0;% 角度与弧度的转换系数 % 设定初始推测的输入 % 机构的初始位置
th(1)=0.0; % 设定曲柄2初始位置角是0度(与机架1共线) th(2)=45*dr; % 连杆3的初始位置角是 45度 th(3)=135*dr; % 摇杆4的初始位置角是135度 % 摇杆4的初始位置角可以用三角形的正弦定理确定 th(3)=pi-asin(sin(th(2))*rs(3)/rs(4))
dth=5*dr; % 循环增量 % 曲柄输入角从0度变化到360度,步长为5度,计算th34 for i=1:72
[th3,th4]=ntrps(th,rs); % 调用牛顿—辛普森方程求解机构位置解非线性方程函数文件
% Store results in a matrix-th34,in degrees
% 在矩阵th34中储存结果,以度为单位;(i,:)表示第i行所有列的元素;(:,i)表示第i列所有行的元素
th34(i,:)=[th(1)/dr th3/dr th4/dr]; % 矩阵[曲柄转角 连杆转角 摇杆转角]
th(1)=th(1)+dth; % 曲柄转角递增
th(2)=th3; % 连杆转角中间计算值 th(3)=th4; % 摇杆转角中间计算值 end
% 绘制输出角th(2)与th(3)—输入角th(1)的关系曲线
subplot(2,2,1) % 选择第1个子窗口 plot(th34(:,1),th34(:,2),th34(:,1),th34(:,3)) axis([0 360 0 170])
grid % 网格线 ylabel('从动件角位移/deg') title('角位移线图')
text(110,110,'摇杆4角位移') text(50,35,'连杆3角位移')
% (2)-----计算连杆的角速度om3和摇杆的角速度om4 % Setting initial conditions % 设置初始条件
om2=250; % 曲柄角速度(等速输入)
35