z1=1; %蜗杆的头数
z0=40; %工具蜗轮的齿数
alpha= 24.0150*pi/180; %蜗杆的压力角
a=160;
z2=40;
a0=166.81;
d1=62;
r1=d1/2; %蜗杆分度圆半径
r0=a0-r1; %工具蜗轮的分度圆半径
rb=105/2; %成形圆半径
m=2*r0/z0; %蜗杆的模数
da1=71;
ha0=0.7
mt=(2*a-da1)/(z2-2*ha0) %蜗轮端面模数
c=0.16*mt %径向间隙,圆角半径
r=c;
i10=42;
i12=40;
for t1= 1:40;
phi11=(t1-1)*3*pi/180*i12/10;
DataTransf1={a0 a;i10 i12;rb phi11};
phi100=fzeromy(@myfun,phi11);
for t2=1:16;
phi1=phi100-(t2-1)*1*pi/180;
phi=phi1/i10;
phi2=phi11/i12;
theta=phi11-phi1;
a2=(i10*cos(theta)-i12)*cos(phi)+sin(theta)*sin(phi);
b2=i10*(a-a0*cos(theta))*cos(phi)*cos(phi);
b2=b2+(i10*cos(theta)-i12)*(rb*sin(phi)-a0)-rb*sin(theta)*cos(phi);
c2=i10*(a-a0*cos(theta))*(rb*sin(phi)-a0)*cos(phi);
u=(-b2+sqrt(b2^2-4*a2*c2))/(2*a2);
a1=rb*cos(phi)-u*sin(phi);
b1=rb*sin(phi)+u*cos(phi)-a;
x21(t1,t2)=b1*cos(theta)*sin(phi2)+a1*cos(phi2)+a*sin(phi2);
y21(t1,t2)=b1*cos(theta)*cos(phi2)-a1*sin(phi2)+a*cos(phi2);
z21(t1,t2)=b1*sin(theta);
x11(t1,t2)=a1;y11(t1,t2)=b1*cos(phi1);z11(t1,t2)=-b1*sin(phi1);
u=(-b2-sqrt(b2^2-4*a2*c2))/(2*a2);
a1=rb*cos(phi)-u*sin(phi);
b1=rb*sin(phi)+u*cos(phi)-a;
x22(t1,t2)=b1*cos(theta)*sin(phi2)+a1*cos(phi2)+a*sin(phi2);
y22(t1,t2)=b1*cos(theta)*cos(phi2)-a1*sin(phi2)+a*cos(phi2);
z22(t1,t2)=b1*sin(theta);
x12(t1,t2)=a1;y12(t1,t2)=b1*cos(phi1);z12(t1,t2)=-b1*sin(phi1);
end
end
figure;hold on;axis equal;
surf(x21,y21,z21,'facecolor','y');
hx1=x21(:,1:11);
hy1=y21(:,1:11);
hz1=z21(:,1:11);
%surf(hx1,hy1,hz1,'FaceColor','b');
surf(x22,y22,z22,'facecolor','g');
for t1= 1:28;
phi11=(t1-1)*3*pi/180*i12/5;
DataTransf1={a0 a;i10 i12;rb phi11};
[phi100,fval]=fzeromy(@myfun,phi11+60*0.71*pi/180);
for t2=1:16;
phi1=phi100+(t2-1)*0.03*pi/180;
phi=phi1/i10;
phi2=phi11/i12;
theta=phi11-phi1;
a2=(i10*cos(theta)-i12)*cos(phi)+sin(theta)*sin(phi);
b2=i10*(a-a0*cos(theta))*cos(phi)*cos(phi);
b2=b2+(i10*cos(theta)-i12)*(rb*sin(phi)-a0)-rb*sin(theta)*cos(phi);
c2=i10*(a-a0*cos(theta))*(rb*sin(phi)-a0)*cos(phi);
u=(-b2+sqrt(b2^2-4*a2*c2))/(2*a2);
a1=rb*cos(phi)-u*sin(phi);
b1=rb*sin(phi)+u*cos(phi)-a;
x23(t1,t2)=b1*cos(theta)*sin(phi2)+a1*cos(phi2)+a*sin(phi2);
y23(t1,t2)=b1*cos(theta)*cos(phi2)-a1*sin(phi2)+a*cos(phi2);
z23(t1,t2)=b1*sin(theta);
x11(t1,t2)=a1;y11(t1,t2)=b1*cos(phi1);z11(t1,t2)=-b1*sin(phi1);
u=(-b2-sqrt(b2^2-4*a2*c2))/(2*a2);
a1=rb*cos(phi)-u*sin(phi);
b1=rb*sin(phi)+u*cos(phi)-a;
x24(t1,t2)=b1*cos(theta)*sin(phi2)+a1*cos(phi2)+a*sin(phi2);
y24(t1,t2)=b1*cos(theta)*cos(phi2)-a1*sin(phi2)+a*cos(phi2);
z24(t1,t2)=b1*sin(theta);
x12(t1,t2)=a1;y12(t1,t2)=b1*cos(phi1);z12(t1,t2)=-b1*sin(phi1);
end
end
surf(x23,y23,z23,'facecolor','r');
surf(x24,y24,z24,'facecolor','b');
xlabel('x');ylabel('y');zlabel('z');title('蜗轮齿面图');
hold on
%蜗杆齿顶圆环
xx=-rb:rb/10:rb;
yy=(a-sqrt((a-r1)*(a-r1)-xx.*xx))'*sin(0:pi/6:2*pi)+a;
zz=(a-sqrt((a-r1)*(a-r1)-xx.*xx))'*cos(0:pi/6:2*pi);
xx=(-rb:rb/10:rb)'*ones(1,13);
surf(xx,yy,zz,'facecolor','b','FaceAlpha',0.5);
da2=267; % 蜗轮齿顶圆直径
ha=ha0*mt; %齿顶高
hf=ha+c;
d2=2*a0-d1;
B=45; %蜗轮齿圈工作宽度
Ra2=39; %蜗轮齿圈顶园半径
za=4 ; %蜗杆对蜗轮得包容齿数
r2=d2/2; %蜗轮分度圆半径
rf2=(d2-2*hf)/2; %蜗轮齿根圆半径
pt=pi*2*r2/z2; %分度圆齿距
ap=360*(za-0.45)/z2; % 蜗轮工作半包角
dh2=280 ; %蜗轮齿圈最大直径
ra2=da2/2;
Ra2=39;
rg2a=Ra2; %蜗轮咽喉母圆半径;(根半径);
Ra2f=Ra2+(ha+hf)+(hf-ha); %蜗轮咽喉母圆半径;(顶半径);
B=45;
t1=asin(B/2/rg2a); %根半径所对应的中心角
t2=asin(B/2/Ra2f); %顶半径所对应的中心角
thetaa=-t1:0.1:t1;
thetaf=0:2*pi/101:2*pi;
[thetaa,thetaf]=meshgrid(thetaa,thetaf);
z2a=Ra2*sin(thetaa).*ones(102,13);
x2a=(Ra2+ra2-Ra2*cos(thetaa)).*cos(thetaf);
y2a=(Ra2+ra2-Ra2*cos(thetaa)).*sin(thetaf);
surf(x2a,y2a,z2a,'facecolor','w');
axis equal;
hold on
thetab=-t1:0.1:t1;
thetaf=0:2*pi/101:2*pi;
[thetab,thetaf]=meshgrid(thetab,thetaf);
z2f=Ra2*sin(thetab).*ones(102,13);
x2f=(Ra2f+rf2-Ra2f*cos(thetab)).*cos(thetaf);
y2f=(Ra2f+rf2-Ra2f*cos(thetab)).*sin(thetaf);
surf(x2f,y2f,z2f,'facecolor','w');
hold on
haz=[z2a(:,1),z2f(:,1)];
hax=[x2a(:,1), x2f(:,1)];
hay=[y2a(:,1), y2f(:,1)];
surf(hax,hay,haz,'facecolor','w');
hold on
hfx=[x2a(:,13),x2f(:,13)];
hfy=[y2a(:,13),y2f(:,13)];
hfz=[z2a(:,13),z2f(:,13)];
surf(hfx,hfy,hfz,'facecolor','w');
基于MATLAB编写的蜗轮蜗杆啮合仿真程序源代码,运行效果很好.zip
版权申诉
4星 · 超过85%的资源 197 浏览量
2023-07-06
11:50:32
上传
评论
收藏 2KB ZIP 举报
GZM888888
- 粉丝: 189
- 资源: 2967
最新资源
- 一个简化的脚本示例,展示了如何使用预训练的YOLO模型进行目标检测
- 使用Redis 存储AccessToken +使用MySQL 存储ClientDetails和UserDetails信息
- 编译原理的定义以及优缺点
- 一个简单的MATLAB GUI脚本示例,该脚本使用编程方式创建一个简单的窗口,其中包含一个按钮和一个坐标轴,用于显示简单的图形
- CS-TY4-7603刷萤石固件
- ASP基于WEB个人博客网页设计(源代码)
- 一个简单的示例,说明如何使用Vue CLI来创建一个新的Vue项目
- CS-TY4-7603卡刷升萤石云系统包,自动刷机
- NestJS+Redis 基本命令学习,不同数据类型的操作学习
- 一个简单的Python脚本示例,它使用nmap(一个流行的网络扫描工具)来扫描一个目标IP地址的开放端口
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈