齿轮论坛 www.gearbbs.net

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 1814|回复: 4
收起左侧

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

[复制链接]
发表于 2015-4-17 16:19 | 显示全部楼层 |阅读模式

本帖子中包含更多资源。

您需要 登录 才可以下载或查看,没有账号?注册

x
已求出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;
[h,x1,y1,z1,n1,n2,n3,w1,w2,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([132,152]);
xlabel('蜗轮直径方向')
ylabel('蜗轮齿宽方向')
hold on
end
end

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


 楼主| 发表于 2015-4-17 16:47 | 显示全部楼层
补充,是ZC1型蜗轮蜗杆
发表于 2022-1-8 23:21 | 显示全部楼层
我想请教一下,齿面接触线的方程如何求取。
发表于 2022-1-12 17:37 | 显示全部楼层
公式都是对的,问题出在solve上,只有h是参数。
发表于 2022-1-14 10:11 | 显示全部楼层
我抽空又试了一下,公式也有错误!先排除公式g上的。找了三本不同单位的文献,公式都不一样,需要你亲自推导。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|齿轮论坛

GMT+8, 2024-4-29 19:56 , Processed in 0.149560 second(s), 10 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表