slj2146471990 发表于 2015-4-17 16:19

为什么在matlab 中得不到我想要的蜗轮瞬时接触线呢?方程是对的呀。

已求出ZC1型蜗轮齿面的瞬时接触线方程,并在matlab中编程如下:
clc;
clear;
for e=200*pi/180:8*pi/180:240*pi/180
for f=0:0.1:2*pi
disp a
k=33*pi/180;
n=55;
m=23*pi/180;
i=5/29;
p=23.75;
a=180;
q=280;
r=36.5;
g=atan((q-(q-r-n*sin(m))*cos(f)-p*cot(k))/(n*cos(m)*cos(f)+q*sin(f)*cot(k)+p*sin(f)));
x=-n*sin(g)*cos(f)-(q-r-n*sin(m))*cos(f);
y=n*sin(g)*sin(f)+(q-r-n*sin(m))*sin(f);
z=n*cos(g)-n*cos(m);

syms h x1 y1 z1 n1 n2 n3 w1 w2 w3 ;
eq1=x.*cos(h)+y.*sin(h).*cos(k)-z.*sin(h).*sin(k)+q.*cos(h)-x1;
eq2=-x.*sin(h)+y.*cos(h).*cos(k)-z.*cos(h).*sin(k)-q.*sin(h)-y1;
eq3=y.*sin(k)+z.*cos(k)-p.*h-z1;

eq4=sin(g).*(cos(f).*cos(h)-sin(f).*sin(h).*cos(k))+cos(g).*sin(h).*sin(k)-n1;
eq5=-sin(g).*(cos(f).*sin(h)+sin(f).*cos(h).*cos(k))+cos(g).*cos(h).*sin(k)-n2;
eq6=-sin(g).*sin(f).*sin(k)-cos(g).*cos(k)-n3;

eq7=i.*(x1.*n3-z1.*n1)-w1;
eq8=-i.*(z1.*n2-y1.*n3)-w2;
eq9=-(i.*a.*n3-y1.*n1+x1.*n2)-w3;
eq10=w1.*cos(e)-w2.*sin(e)-w3;
=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,'h','x1','y1','z1','n1','n2','n3','w1','w2','w3');

x2=x1.*cos(e).*cos(i.*e)-y1.*sin(e).*cos(i.*e)-z1.*sin(i.*e)+a.*cos(i.*e);
y2=-x1.*cos(e).*sin(i.*e)+y1.*sin(e).*sin(i.*e)-z1.*cos(i.*e)-a.*sin(i.*e);
z2=x1.*sin(e)+y1.*cos(e);


plot(x2,z2,'.','MarkerSize',5);
% xlim();
xlabel('蜗轮直径方向')
ylabel('蜗轮齿宽方向')
hold on
end
end

为什么在MATLAB中得不到想要的理想瞬时接触线,y轴代表的是蜗轮齿宽方向,但它的坐标大小永远是【-1,1】,求大神指教。


slj2146471990 发表于 2015-4-17 16:47

补充,是ZC1型蜗轮蜗杆

优雅的堕落zyd 发表于 2022-1-8 23:21

我想请教一下,齿面接触线的方程如何求取。

xihualaoyao 发表于 2022-1-12 17:37

公式都是对的,问题出在solve上,只有h是参数。

xihualaoyao 发表于 2022-1-14 10:11

我抽空又试了一下,公式也有错误!先排除公式g上的。找了三本不同单位的文献,公式都不一样,需要你亲自推导。
页: [1]
查看完整版本: 为什么在matlab 中得不到我想要的蜗轮瞬时接触线呢?方程是对的呀。