⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled.m

📁 基于matlab编写的蜗杆齿面仿真源代码
💻 M
字号:
clear
       %蜗轮蜗杆的参数
z1=1;                        %蜗杆的头数
z2=63;                        %蜗轮的齿数
db=100;
da2=278;
ha=0.75*da2/(z2+1.5);             %齿顶高
hf=0.95*da2/(z2+1.5);               %齿根高
d2=da2-2*ha;                       %蜗轮的分度圆直径
alpha=asin(db/d2) ;            %蜗杆的压力角
a=160;                        %中心距
r1=48.46/2;               %取整后蜗杆的喉部半径
                     
m=d2/z2;                   %蜗杆的模数
r2=d2/2;
Rb=r2*sin(alpha);            %成形圆半径
                     
                  
circlenum=6;                 %蜗杆的圈数
dividenum=30;                %一个圆周面分成的份数
steplength=0.8;             %u的步长
i12=63;

%蜗杆模型的程序
u1=m*z2*cos(alpha)/2;        %切分度圆时刀具的长度
alpha1=atan(Rb/u1);
keyphi0=alpha1-asin(-m*pi/(4*(Rb^2+u1^2)^0.5));
keyphi1=i12*keyphi0;
   %xx=Rb*cos(keyphi0)-u1*sin(keyphi0);
   %yy=(Rb*sin(keyphi0)+u1*cos(keyphi0)-a).*cos(keyphi1);
   %zz=-(Rb*sin(keyphi0)+u1*cos(keyphi0)-a).*sin(keyphi1);
B=u1*cos(keyphi0)-Rb*sin(keyphi0)-a;
M=u1*sin(keyphi0)+Rb*cos(keyphi0);
xx=B*cos(keyphi1);
yy=-B*sin(keyphi1);
zz=M;
angle=atan(yy/zz);
u=(r2-hf)*cos(alpha):steplength:(r2+ha)*cos(alpha);
sizeu=size(u);
sizeuc=sizeu(1,2);                        %u的列数
phi=keyphi0-pi*circlenum/i12:2*pi/(i12*dividenum):keyphi0+pi*circlenum/i12;
[u,phi]=meshgrid(u,phi);
phi1=i12*phi;
sizephi=size(phi);
sizephia=sizephi(1,1); 
B1=u.*cos(phi)+Rb*sin(phi)-a;
M1=u.*sin(phi)-Rb*cos(phi);              %phi的行数
x1=B1.*cos(phi1);
y1=-B1.*sin(phi1);
z1=M1;
surf(x1,y1,z1);
%x1=Rb*cos(phi)-u.*sin(phi);
%y1=(Rb*sin(phi)+u.*cos(phi)-a).*cos(phi1);
%z1=-(Rb*sin(phi)+u.*cos(phi)-a).*sin(phi1);
hold on;
xx1=x1.*cos(angle)+z1.*sin(angle);
yy1=y1;
zz1=-y1.*sin(angle)+z1.*cos(angle);
face1=surf(xx1,yy1,zz1);
xlabel('x');ylabel('y');zlabel('z')
set(face1,'LineStyle','none');
hold on;
%face2=surf(-xx1,yy1,-zz1);
xlabel('x');ylabel('y');zlabel('z');title('蜗杆的齿根连线图')
%set(face2,'LineStyle','none')
        %蜗杆齿顶连线
ra1=[xx1(:,1),flipud(-xx1(:,1))];
ra2=[yy1(:,1),flipud(yy1(:,1))];
ra3=[zz1(:,1),flipud(-zz1(:,1))];
%surf(ra1,ra2,ra3);
        % 蜗杆齿根连线
hold on;
rf1=[xx1(1:sizephia-dividenum,sizeuc),flipud(-xx1(1:sizephia-dividenum,sizeuc))];
rf2=[yy1(1:sizephia-dividenum,sizeuc),flipud(yy1(1:sizephia-dividenum,sizeuc))];
rf3=[zz1(1:sizephia-dividenum,sizeuc),flipud(-zz1(1:sizephia-dividenum,sizeuc))];
%surf(rf1,rf2,rf3);
rf11=[xx1(:,sizeuc),flipud(-xx1(:,sizeuc))];
rf22=[yy1(:,sizeuc),flipud(yy1(:,sizeuc))];
rf33=[zz1(:,sizeuc),flipud(-zz1(:,sizeuc))];
%surf(rf11,rf22,rf33);
axis equal;grid on;colormap copper
xlabel('x');ylabel('y');zlabel('z');%title('蜗杆全齿面图');
hold on

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -