找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: lingcheng

求直廓环面蜗杆实际车削步骤

[复制链接]
发表于 2014-5-29 18:38:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 18:34 # W5 I+ U4 W* g6 l2 d
我大四毕业论文,实在图书馆没东西。捉急啊
/ S: l. X0 e# C9 G
简单点说就是角相位和进刀量的函数关系问题,,,,,,,,
 楼主| 发表于 2014-5-29 18:40:53 | 显示全部楼层
东海fyh126 发表于 2014-5-29 18:38 # N  J9 ^: w: k
简单点说就是角相位和进刀量的函数关系问题,,,,,,,,
2 n! l' v+ |. b0 i% D" U7 t
你也是大神啊,我有刀具轨迹的MATLAB代码,但是看不懂,尴尬2 }, A/ n8 g1 t
 楼主| 发表于 2014-5-29 18:57:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 14:53
, p  M8 S9 @  B, I  l大神求带啊,关于实例车削直廓环面蜗杆,包括齿根和齿顶

& g& G% g) [- ^9 F+ H8 ?/ r9 w大神带我飞吧4 N3 n+ A( X7 _* d! l
 楼主| 发表于 2014-5-29 18:58:45 | 显示全部楼层
function worm3
) G) S$ W- b; w+ K6 ^5 Zclear
5 l; [" ]) p9 w* X, {) ]/ `clc* z) t6 G# Z% A! B( M2 q) O9 V8 T
a=240.65;%中心距( \/ E$ S7 n+ L; [% _' j/ E% ?
z1=1;%蜗杆头数2 Q2 n- o9 `" k! r0 [' G
z2=40;%齿轮齿数% T: N0 |7 W6 D+ V
i12=z2/z1;%传动比
) Y& C% `) u% Y# w3 q  _8 [/ ]zc=4;%蜗杆包围蜗轮齿数) I0 V& W# b+ n% g
d1=80;%蜗杆分度圆直径0 O5 r' k  l9 o; Y- g% F- h
d2=2*a-d1;%蜗轮分度圆直径5 m5 f! L. X) |; k9 o) j- q
mt=d2/z2;%蜗轮端面模数
: m3 L, }* x! m) s. G. `8 W2 w" {( sda2=417.36;%蜗轮齿顶圆直径% ]- q; j5 n& |
df2=381.24;%蜗轮齿根圆直径
9 {1 z" b# G0 O& lha=(da2-d2)/2;%齿顶高
. s9 @% [5 p9 b0 G% m' U; R0 B$ S+ bhf=(d2-df2)/2;%齿根高+ {1 F, ]+ |- ~4 B- a, ^0 H( x
da1=d1+2*ha;%蜗杆顶圆直径+ u& o( \9 M* J5 r9 \; A6 _: F- c6 r
df1=d1-2*hf;%蜗杆根圆直径
! Y+ i4 j0 v+ m& T2 X. r3 \Rf1=a-df1/2;%蜗杆齿根圆弧半径
# y: o" K* g! a, h4 G( \5 S# IRa1=a-da1/2;%蜗杆齿顶圆弧半径
1 m/ ~! M0 U. N8 o1 ]! o) Fgama=atan(d2/d1/i12);%蜗杆喉部分度圆导程角  H/ Q& p% Y- i) @+ t' w* ]$ u! Z/ M
tau=2*pi/z2;%齿距角
, Z/ ]( Y' Y9 C9 f* N. k5 Edb=153;%主基圆直径& k1 F; A2 H/ B+ X3 [
alpha=asin(db/d2);%蜗轮分度圆压力角' Z& `, q* o1 Z) Q/ F* r
phi_w=0.5*tau*(zc-0.45);%蜗杆包围蜗轮的工作半角
3 }; j! O2 f: a) j& @phi_0=alpha-phi_w;%工作起始角4 e: n& M4 {) r, D' ~2 Z2 K
Lw=d2*sin(phi_w);%蜗杆工作部分长度
* }  M' Q, H* i0 @' k1 d+ Ebeta=11/180*pi;%母平面倾斜角& U) s% M2 _: j  r) W
phi0min=phi_0;
) V9 {2 V& J$ x' Q( x9 V# Bphi0max=phi_0+2*phi_w;! u! @3 [4 y5 o6 h
u0=((d2/2)^2-(db/2)^2)^0.5;
1 X, a" H5 t4 D- P! b  f" vphi0=linspace(phi0min,phi0max,300);
. x  V4 T* |' ~  t+ g: A1 dR=linspace(Ra1,Rf1,10);
# y" l" g4 W/ V  B& sphi1=phi0.*i12;
' M8 {7 ^# w7 B0 O, k6 v- gcath=2*alpha+162/z2/180*pi;" g! }4 J4 j6 J3 [

( t; i7 [  `& ^: W4 L1 V%预设矩阵  z7 S3 n  l8 X4 G$ a. e
u1=zeros(length(phi0),length(R));v1=zeros(length(phi0),length(R));%甲面参数
3 s" m9 S5 ?8 ?3 \x01=zeros(length(phi0),length(R));y01=zeros(length(phi0),length(R));z01=zeros(length(phi0),length(R));%甲面的平面# \& M/ \5 V2 }% r; x
x11=zeros(length(phi0),length(R));y11=zeros(length(phi0),length(R));z11=zeros(length(phi0),length(R));%蜗杆甲面) y+ K. A2 p, b2 o* ]
x13=zeros(length(R),length(phi0));y13=zeros(length(R),length(phi0));z13=zeros(length(R),length(phi0));%甲面的螺旋线形式  p3 b0 U, y7 T# M
theta1=zeros(length(R),length(phi0));R1=zeros(length(R),length(phi0));Z1=zeros(length(R),length(phi0));%甲面的加工参数
' {% |# M, i0 W  W
8 s% R, h) I0 |5 ]u2=zeros(length(phi0),length(R));v2=zeros(length(phi0),length(R));%乙面参数- w( g  _% R# q! {2 r
x03=zeros(length(phi0),length(R));y03=zeros(length(phi0),length(R));z03=zeros(length(phi0),length(R));%乙面的平面
& _, `( E  W* A6 z7 zx02=zeros(length(phi0),length(R));y02=zeros(length(phi0),length(R));z02=zeros(length(phi0),length(R));%乙面的平面
+ i+ x( i" z; u# Cx12=zeros(length(phi0),length(R));y12=zeros(length(phi0),length(R));z12=zeros(length(phi0),length(R));%蜗杆乙面
+ ]4 S. `/ g5 b* p% t' I7 R+ Ux14=zeros(length(R),length(phi0));y14=zeros(length(R),length(phi0));z14=zeros(length(R),length(phi0));%甲面的螺旋线形式# s4 b: v2 ~* N( A! M0 Y% A+ t
theta2=zeros(length(R),length(phi0));R2=zeros(length(R),length(phi0));Z2=zeros(length(R),length(phi0));%甲面的加工参数* t# Q  A$ f3 M9 _2 _  x
( V7 a) z( B7 F$ {5 _
figure(1)
- `0 y, k( G! [& hfor i=1:length(phi0)
1 \# u( f! Q% m3 H6 [7 N. j' y    for j=1:length(R)
! O% B8 ~& v2 U4 A$ i& L# p) o: }6 N        f1=@(x)[(a-((x(1)*cos(phi0(i))-(x(2)*sin(beta)-db/2)*sin(phi0(i))-a)^2+(x(2)*cos(beta))^2)^0.5)^2+(x(1)*sin(phi0(i))+(x(2)*sin(beta)-db/2)*cos(phi0(i)))^2-R(j)^2;(x(1)*(cos(beta)/i12+sin(beta)*cos(phi0(i)))+(db/2*sin(phi0(i))-a)*sin(beta))/sin(phi0(i))-x(2)];
* p7 r4 G, m. J* u7 R        options=optimset('Display','off','TolFun',1e-7);" v; V) }, e& {" P) O0 t' E
        x0=[u0 0];
& Z0 k& v- s: J+ y- l4 [4 r        x=fsolve(f1,x0,options);
9 R2 \" C! G) ~' Q( T/ y& g' f        u1(i,j)=x(1);
. v, g5 o& Q7 _+ E        v1(i,j)=x(2);
; t7 n3 O- n) w        x01(i,j)=u1(i,j);
3 N/ ], S* ^/ i9 R8 H        y01(i,j)=v1(i,j).*sin(beta)-db/2;
; K% s  _% A4 X9 B) q2 \' N        z01(i,j)=v1(i,j).*cos(beta);
! D; s- h: r& F. s        x11(i,j)=-cos(phi1(i)).*cos(phi0(i)).*x01(i,j)+cos(phi1(i)).*sin(phi0(i)).*y01(i,j)-sin(phi1(i)).*z01(i,j)+a.*cos(phi1(i));; }2 }$ I7 T3 O1 A9 T: P
        y11(i,j)=sin(phi1(i)).*cos(phi0(i)).*x01(i,j)-sin(phi1(i)).*sin(phi0(i)).*y01(i,j)-cos(phi1(i)).*z01(i,j)-a.*sin(phi1(i));  ^; I2 h# |: s% j& x; l4 i
        z11(i,j)=-sin(phi0(i)).*x01(i,j)-cos(phi0(i)).*y01(i,j);; m5 z) I3 ]" i8 x
    end1 U4 `' s8 S6 E" K- L! A
    plot3(x11(i,,y11(i,,z11(i,,'r')
; T: B% V! c$ n# r; Z( F    hold on- K6 k3 I! @3 `5 u5 C
end/ {6 Y- p: I: k  l: J. q! O8 |
axis equal: R, k9 h% x* v, e, w

6 r8 h3 p5 o* \/ ?figure(1)$ K& i+ T$ k0 E7 N
for i=1:length(phi0)
' K& M, b! J3 x% V    for j=1:length(R)
. w1 B- G: @; E8 l; m- h        f2=@(x)[(a-(((x(1)*cos(cath)+(x(2)*sin(beta)+db/2)*sin(cath))*cos(phi0(i))-(-x(1)*sin(cath)+(x(2)*sin(beta)+db/2)*cos(cath))*sin(phi0(i))-a)^2+(x(2)*cos(beta))^2)^0.5)^2+((x(1)*cos(cath)+(x(2)*sin(beta)+db/2)*sin(cath))*sin(phi0(i))+(-x(1)*sin(cath)+(x(2)*sin(beta)+db/2)*cos(cath))*cos(phi0(i)))^2-R(j)^2;(x(1)*(cos(beta)/i12+sin(beta)*cos(phi0(i)-cath))+(-db/2*sin(phi0(i)-cath)-a)*sin(beta))/sin(phi0(i)-cath)-x(2)];* x* I9 ]0 ]% X+ t- R. T! B2 o
        options=optimset('Display','off','TolFun',1e-7);6 z5 h/ w, I9 J) R3 Y
        x0=[u0 0];
  P. Z* n$ Q) h2 Z5 P        x=fsolve(f2,x0,options);
/ [7 j& x/ V8 t: m        u2(i,j)=x(1);, }& {# C7 w8 P6 |' N- S# k' Y
        v2(i,j)=x(2);3 x$ G7 Z  S; v
        x03(i,j)=u2(i,j);
4 E) X0 s9 f5 `& q        y03(i,j)=v2(i,j).*sin(beta)+db/2;
$ F# g) W$ P; h# {/ [        z03(i,j)=v2(i,j).*cos(beta);
6 S; N8 p' A. f4 g: w        x02(i,j)=x03(i,j).*cos(cath)+y03(i,j).*sin(cath);+ t( i, T' D2 }5 M' S2 G& I
        y02(i,j)=-x03(i,j).*sin(cath)+y03(i,j).*cos(cath);2 h0 W& s; v$ D
        z02(i,j)=z03(i,j);
" T9 {4 x" g  b  P/ @4 N        x12(i,j)=-cos(phi1(i)).*cos(phi0(i)).*x02(i,j)+cos(phi1(i)).*sin(phi0(i)).*y02(i,j)-sin(phi1(i)).*z02(i,j)+a.*cos(phi1(i));
6 @9 {) H; G+ z5 m2 z+ Y$ ?        y12(i,j)=sin(phi1(i)).*cos(phi0(i)).*x02(i,j)-sin(phi1(i)).*sin(phi0(i)).*y02(i,j)-cos(phi1(i)).*z02(i,j)-a.*sin(phi1(i));$ T+ h9 T' f- ?2 [: n
        z12(i,j)=-sin(phi0(i)).*x02(i,j)-cos(phi0(i)).*y02(i,j);
7 J+ Z& c) k6 J9 h  J    end
1 C9 k0 M3 X5 v    plot3(x12(i,:),y12(i,:),z12(i,:))+ V" Y$ ?: d& B: _! K; v
    hold on
7 }9 p1 `3 a: k* I1 mend
+ q1 T3 j- K# E0 caxis equal1 f( t2 @7 B7 ?# m% f7 c7 i- c
/ n( t8 [9 x' D0 v, K
figure(2); ?' |. \' ^  Q/ @8 B7 @: ?
for j=1:length(R) ! d, C" D4 I3 r( \5 U& \
    plot3(x11(:,j),y11(:,j),z11(:,j),'r')# T  v. [5 {# |' [
    hold on
' Y: t$ h- p, v0 send
# n) g8 q" n& w; x" h9 D- Zaxis equal' P1 O  S9 C' V! l
figure(2)
# F7 M4 w) I9 C) N+ kfor j=1:length(R)
8 v9 p& |8 }6 I    plot3(x12(:,j),y12(:,j),z12(:,j))8 x' b- I& U/ z' ?9 R: n1 ]
    hold on) [: B% }3 x# c, {1 `4 C3 ~' j3 W
end" s. @+ O& \7 @9 ^* O
axis equal
9 n$ J+ p& s) `4 Y# |0 T- I- Y# e. w! c3 @9 y
x13=x11';%转换为螺旋线的格式) |* }2 q# p3 }. d+ |' z
y13=y11';
0 }8 g6 V+ D9 ?* hz13=z11';" X, M8 L2 {  L- Y
x14=x12';
* s3 O( E3 T+ @1 u/ S6 H. Xy14=y12';; n: m$ O, m! b8 ^9 ~
z14=z12';  ^- s" A4 ^/ L

6 `) d! n) {. h* o( L8 Z; }) ~for i=1:length(R)8 L! r6 w' ?( u6 v. `3 C
    for j=1:length(phi0). R7 a- t  @1 M$ l0 y
        theta1(i,j)=cal_theta(x13(i,j),y13(i,j))/pi*180;
/ a, `3 N: g6 A  K! C  L0 S* Q        R1(i,j)=(x13(i,j)^2+y13(i,j)^2)^0.5;%车床X方向为直径值" Q3 {* R  m8 x0 f$ f. I
        Z1(i,j)=z13(i,j);
  z0 T# G# F6 l0 ^        theta2(i,j)=cal_theta(x14(i,j),y14(i,j))/pi*180;
% k2 F! z& D+ o/ E8 h        R2(i,j)=(x14(i,j)^2+y14(i,j)^2)^0.5;9 T0 X3 w* h3 S
        Z2(i,j)=z14(i,j);
' K% e0 M6 G- \! h1 B2 k: T    end
  t1 S$ T( w  B* U/ O" a* gend0 t/ |! ]- F# Z+ {  W! q
% a1 r; x3 c1 W" T5 W3 W
%角度转换为绝对式( H* I: M( F. D: p4 M: d
for  i=1:length(R)
( y0 m3 l: [0 S% |* F' K! o    for j=1length(phi0)-1)
, E1 H+ b9 [3 I' i8 L/ \3 L. S        if theta1(i,j+1)<theta1(i,j)
) P% J" M2 Q1 F            for k=(j+1):length(phi0)
' m9 `$ `: y. {& q, }. W8 z# e                theta1(i,k)=theta1(i,k)+360;0 A  Q; o8 `; ^5 O
            end9 U( Q: ?4 n0 T4 [0 l
        end9 Y! ~  W' b3 Q9 T, Z
         if theta2(i,j+1)<theta2(i,j)
+ @. W7 s3 m! u; S$ A' q            for k=(j+1):length(phi0)5 m" i9 K! }4 s  m3 R# [7 ~  B) X2 w2 |
                theta2(i,k)=theta2(i,k)+360;0 S! C, K" u" d+ M( s  B
            end% _! V$ v, F% _/ @8 f" Y6 a1 y
        end
9 g7 j& J! Z9 ^8 ?* e+ Q3 ]    end% ]- H" ~8 X1 ?  v
end; U' Q3 O3 ?5 w  e, w! n. L% K
; T$ s' w# I2 q" g3 x; r( Q" F
assignin('base','X1',R1)
* G2 ^. y8 h% f$ s! P$ l  Kassignin('base','Z1',Z1)" C$ T; j8 q2 v" l& |
assignin('base','C1',theta1). a( \+ ~) ^* }
assignin('base','X2',R2)
& s5 {8 V5 P& P4 Vassignin('base','Z2',Z2); b6 U) j  n2 m% b1 C8 g! i
assignin('base','C2',theta2)
" a3 {/ n1 c5 \! t% g: ^- W
' o0 Y! ?6 X! f, @%G代码的输出$ ^9 Y+ t) f& X% x. W
% fid=fopen('turncode.txt','wt');- J# R3 I4 L: f! f* K
% fprintf(fid,'O0001\n');  R( O- L, v- Z$ o9 x
% for  i=1:length(R)
) Z2 x4 V7 Y3 e%     for j=1:length(phi0)% g( c  D* n+ ]  H
%         fprintf(fid,'X=%0.4f\t',R1(i,j))) B: A! m7 L' C. m
%         fprintf(fid,'Z=%0.4f\t',Z1(i,j))) n- z" j: p% j! [9 B1 ~) Y
%         fprintf(fid,'C=%0.4f\n',theta1(i,j))/ ]4 [9 C2 d- P2 J/ [# j+ _7 t
%     end
" F8 D; S% X; q4 z% end% F4 i4 ^( n* Q

& O! K& z" \9 Y3 w' _& {; l7 J( J$ S% C4 v; @- J
8 o" x  b0 P6 A; }2 t# [" m
! C( m6 Z& J% {: h# i9 k' V
function theta=cal_theta(x1,y1)) Y- _. {! |- X3 \  w' @  n
if (x1>0)&&(y1<0)
5 f- c/ y+ d( j( y    theta=acos(x1./(x1^2+y1^2)^0.5);%电机转是角度还是弧度?
; d1 h# V5 F! V" o5 ielseif (x1<0)&&(y1<0);" j( L- X9 q7 T9 F& F* h6 x
theta=acos(x1./(x1^2+y1^2)^0.5);
" @2 Z# V' K" N4 X, k5 uelseif (x1<0)&&(y1>0);
; B5 W9 @- ], U    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);
' `5 F* }7 v6 H9 P& \, Selseif (x1>0)&&(y1>0);
7 U: _9 H; `, `# G6 B. s    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);% ^+ q8 j2 B: _' K# f
elseif (x1>0)&&(y1>0);; b" m, f* u' w, q  R  e
    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);
6 H0 c; D9 K! |) M9 S$ pelseif (x1>0)&&(y1==0);
% b. i& A, {. N* C% r% i' W    theta=0;
' P' H! ?- v$ W! `; gelseif (x1<0)&&(y1==0);1 T. r" p  m5 z
    theta=pi;
) T; ~3 Z0 N# B4 v  c; ~! j8 Selseif (x1==0)&&(y1<0);6 o6 ?3 b5 h/ o2 ^. D: b. h7 Y& c
    theta=pi/2;
1 U! L$ B% A# ~+ H+ Telseif (x1==0)&&(y1>0);" K! J; X8 H) f2 V6 E
    theta=3*pi/2;! N" l- J) S/ {4 o
end
发表于 2014-5-29 22:26:57 | 显示全部楼层
我也看不懂,,,,,
发表于 2014-6-27 22:00:58 | 显示全部楼层
看了头晕,有这么复杂,算了路过!
' I3 F$ n& [- m/ b' b; X' ]
发表于 2014-6-28 09:32:24 | 显示全部楼层
不懂# ~; U0 \; b$ C) \" z
& P7 L: @3 |! w

7 }  t; w5 P0 \0 B7 a
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-7-13 10:30 , Processed in 0.081616 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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