声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1539|回复: 6

[绘图技巧] 求助平面渐开线共轭曲线求解问题

[复制链接]
发表于 2008-12-18 08:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
坐标系示意如图所示,是 我们最常见的平行轴齿轮啮合,已知一个齿轮的渐开线方程,通过啮合方程求与坐标变换求与之共轭的曲线,我调了很久这个程序发现还是不对,请做过这个方面的高手帮忙指点
旋转 SWScan00049.JPG
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-12-18 09:06 | 显示全部楼层
源程序如下:
mn=6 %齿轮模数
z1=45  %齿轮齿数
alfa_fendu=20*pi/180  %分度圆上的压力角
ha_c=1.4  %齿顶高系数
c_c=0.25 %顶隙系数
ha=ha_c.*mn  %齿顶高
hf=(ha_c+c_c).*mn %齿根高
d=mn.*z1  %分度圆直径
db=d.*cos(alfa_fendu)  %基圆直径
da=d+2.*ha  %齿顶圆直径
df=d-2.*hf  %齿根圆直径
rb=db/2 %基圆半径
alfa_a=acos(db/da) %齿顶圆压力角(角度表示)
B=62;%齿宽
Beta=19.*pi/180 %分度圆螺旋角
p=(d/2).*cot(Beta)%节距
H=2.*pi.*p %螺旋面导程
r1=d/2;%齿轮1分度圆半径
z2=29;%齿轮2齿数
a=210;%中心距
E=a;%中心距
r2=a-r1;%齿轮2节圆半径
i21=z1/z2;%传动比
w1=1;%齿轮1旋转角速度
w2=i21*w1;%在后面的计算推导中已经考虑了正负号
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
disp('===================渐开线基圆===========================')
theta_any=0:pi/20:2.*pi; %角度范围
x0=rb.*sin(theta_any);   %基圆x坐标
y0=rb.*cos(theta_any);   %基圆y坐标
plot(x0,y0,'k-')         %绘制圆
hold on   
alfa=0:pi/50:alfa_a;
u=tan(alfa);
x1=rb.*sin(u)-rb.*cos(u).*u;
y1=rb.*cos(u)+rb.*sin(u).*u;
plot(x1,y1,'b');%绘制第一条渐开线
hold on
disp('===================单个渐开线===========================')
for i=1:50
fai_1=(((2*pi/z1)/19)*(i-1)-((2*pi/z1)/49)*(i-1));%对fai_1角进行初值的选择
fai_2=i21.*fai_1;
for j=1:20
alfa=(0+((alfa_a)/19)*(j-1));%压力角从0增加到齿顶压力角
%alfa=0:pi/50:alfa_a;
u=tan(alfa);
Q=u.*rb.*a.*i21.*cos(u-fai_1)-u.*rb^2-u.*rb^2.*i21%啮合方程
if Q==0
x2=cos(fai_1+fai_2).*(rb*sin(u)-rb.*cos(u).*u)-sin(fai_1+fai_2).*(rb.*cos(u)+rb.*sin(u).*u);
y2=sin(fai_1+fai_2).*(rb*sin(u)-rb.*cos(u).*u)+cos(fai_1+fai_2).*(rb.*cos(u)+rb.*sin(u).*u);
plot(x2,y2,'s');
hold on
%+++++++++++++++++++++++++++++++啮合线方程++++++++++++++++++++++++++++++++++
x=cos(fai_1).*(rb.*sin(u)-rb.*cos(u).*u)-sin(fai_1).*(rb.*cos(u)+rb.*sin(u).*u);
y=sin(fai_1).*(rb.*sin(u)-rb.*cos(u).*u)+cos(fai_1).*(rb.*cos(u)+rb.*sin(u).*u);
plot(x,y,'d');
hold on
end
end
end
%end
发表于 2008-12-18 09:10 | 显示全部楼层

回复 沙发 pearce 的帖子

没有语法错误?
其他错误只能你自己调了
 楼主| 发表于 2008-12-18 09:10 | 显示全部楼层
运行结果明显不对,不知道这样的程序流程问题出在哪
9999.jpg
 楼主| 发表于 2008-12-18 09:11 | 显示全部楼层
 楼主| 发表于 2008-12-18 09:15 | 显示全部楼层
另外参考书上推荐的解法,我编制了另外一条程序,就是先通过给定一个u然后求解fai_1然后fai_2,最后把两个曲线画出来,但是感觉结果还是有问题。
源程序及结果如下:
mn=6 %齿轮模数
z1=45  %齿轮齿数
alfa_fendu=20*pi/180  %分度圆上的压力角
ha_c=1.4  %齿顶高系数
c_c=0.25 %顶隙系数
ha=ha_c.*mn  %齿顶高
hf=(ha_c+c_c).*mn %齿根高
d=mn.*z1  %分度圆直径
db=d.*cos(alfa_fendu)  %基圆直径
da=d+2.*ha  %齿顶圆直径
df=d-2.*hf  %齿根圆直径
rb=db/2 %基圆半径
alfa_a=acos(db/da) %齿顶圆压力角(角度表示)
B=62;%齿宽
Beta=19.*pi/180 %分度圆螺旋角
p=(d/2).*cot(Beta)%节距
H=2.*pi.*p %螺旋面导程
r1=d/2;%齿轮1分度圆半径
z2=29;%齿轮2齿数
a=210;%中心距
E=a;%中心距
r2=a-r1;%齿轮2节圆半径
i21=z1/z2;%传动比
w1=1;%齿轮1旋转角速度
w2=i21*w1;%在后面的计算推导中已经考虑了正负号
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
disp('===================渐开线基圆===========================')
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
theta_any=0:pi/20:2.*pi; %角度范围
x0=rb.*sin(theta_any);   %基圆x坐标
y0=rb.*cos(theta_any);   %基圆y坐标
plot(x0,y0,'k-')         %绘制圆
hold on   
alfa=0:pi/50:alfa_a;
u=tan(alfa);
x1=rb.*sin(u)-rb.*cos(u).*u;
y1=rb.*cos(u)+rb.*sin(u).*u;
plot(x1,y1,'b');
hold on
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
disp('===================单个渐开线===========================')
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for j=1:20
alfa=(0+((alfa_a)/19)*(j-1));
u=tan(alfa);
fai_1=u-acos((u.*rb^2-u.*rb^2.*i21)/(u.*rb.*a.*i21))
fai_2=i21.*fai_1;
%+++++++++++++++++++++++++++++++共轭齿轮渐开线++++++++++++++++++++++++++++++
x2=cos(fai_1+fai_2).*(rb*sin(u)-rb.*cos(u).*u)-sin(fai_1+fai_2).*(rb.*cos(u)+rb.*sin(u).*u);
y2=sin(fai_1+fai_2).*(rb*sin(u)-rb.*cos(u).*u)+cos(fai_1+fai_2).*(rb.*cos(u)+rb.*sin(u).*u);
plot(x2,y2,'d');
hold on
%+++++++++++++++++++++++++++++++啮合线方程++++++++++++++++++++++++++++++++++
x=cos(fai_1).*(rb.*sin(u)-rb.*cos(u).*u)-sin(fai_1).*(rb.*cos(u)+rb.*sin(u).*u);
y=sin(fai_1).*(rb.*sin(u)-rb.*cos(u).*u)+cos(fai_1).*(rb.*cos(u)+rb.*sin(u).*u);
plot(x,y,'s');
hold on
end
%end
9999.jpg
发表于 2008-12-18 16:40 | 显示全部楼层

回复 6楼 pearce 的帖子

设置断点,跟踪重要变量,找到错误。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-10 19:58 , Processed in 0.072212 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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