找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: lingcheng

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

[复制链接]
发表于 2014-5-29 18:38:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 18:34
! P3 H! y6 O8 h, R! L/ v! y% f我大四毕业论文,实在图书馆没东西。捉急啊
: U' n: T" Q; g
简单点说就是角相位和进刀量的函数关系问题,,,,,,,,
 楼主| 发表于 2014-5-29 18:40:53 | 显示全部楼层
东海fyh126 发表于 2014-5-29 18:38
& W6 |+ X( `% p+ N) O! l简单点说就是角相位和进刀量的函数关系问题,,,,,,,,
7 d$ d# @, _! D( z0 x$ ~/ h( B3 Y
你也是大神啊,我有刀具轨迹的MATLAB代码,但是看不懂,尴尬" }$ B+ V, N/ U" k9 A: k" d0 p
 楼主| 发表于 2014-5-29 18:57:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 14:53 " ~6 r+ z' w0 Z2 M! p8 i! C" ?  |0 o
大神求带啊,关于实例车削直廓环面蜗杆,包括齿根和齿顶

( ^8 b# m$ U9 ^) U+ f大神带我飞吧
4 W' L/ }; u7 i) T1 [$ h
 楼主| 发表于 2014-5-29 18:58:45 | 显示全部楼层
function worm3
: o9 W- X7 y% bclear
: L, K1 g; i; t7 mclc, o, `$ c1 g1 ]- N  I% F% K
a=240.65;%中心距: f, ], p& |9 o1 x& s+ z
z1=1;%蜗杆头数
1 A0 ^& O: m5 W# [1 P- ?z2=40;%齿轮齿数
4 X: d  I9 \  H6 ri12=z2/z1;%传动比+ W' ]' P" a/ M& v- J+ q
zc=4;%蜗杆包围蜗轮齿数& M3 D: ~. _" ?) [. c; [0 u
d1=80;%蜗杆分度圆直径
; _( B# \& T3 Ld2=2*a-d1;%蜗轮分度圆直径; h2 e6 v5 v* E2 w" l
mt=d2/z2;%蜗轮端面模数
) U9 [, g( u4 e* L, C6 @, |da2=417.36;%蜗轮齿顶圆直径4 l+ W1 O  j; j1 R( o) x
df2=381.24;%蜗轮齿根圆直径
7 C( V# P4 |8 k8 iha=(da2-d2)/2;%齿顶高3 W+ U% m' t9 n  d) T# @. J
hf=(d2-df2)/2;%齿根高+ Y$ [9 g3 C" \7 `9 y' c* j0 T$ `
da1=d1+2*ha;%蜗杆顶圆直径/ u- j* G" ~. n" X1 K
df1=d1-2*hf;%蜗杆根圆直径
6 y% }" S. t) }" S$ aRf1=a-df1/2;%蜗杆齿根圆弧半径
; X( T/ _, f) c3 L$ YRa1=a-da1/2;%蜗杆齿顶圆弧半径2 K+ Z2 m& f. b$ a; [
gama=atan(d2/d1/i12);%蜗杆喉部分度圆导程角1 K% P* E- n/ e# F/ q. T
tau=2*pi/z2;%齿距角
. O  c* c7 Z  y' H* o6 edb=153;%主基圆直径( Y0 i! x4 R4 y" V3 i! ?
alpha=asin(db/d2);%蜗轮分度圆压力角
6 Y& N! U! a& g9 ]2 T6 qphi_w=0.5*tau*(zc-0.45);%蜗杆包围蜗轮的工作半角
# d+ N: I/ t' V# y1 o8 ~  ~phi_0=alpha-phi_w;%工作起始角9 S1 p1 b. r9 P4 e
Lw=d2*sin(phi_w);%蜗杆工作部分长度# ~: N. \. v& z
beta=11/180*pi;%母平面倾斜角
) G& D$ b& i6 ]phi0min=phi_0;3 O9 @! R6 M9 Z3 p) u4 R
phi0max=phi_0+2*phi_w;  M6 [/ N% V* a6 B7 d9 `
u0=((d2/2)^2-(db/2)^2)^0.5;
" a: x/ _/ d* Y% b7 v4 F5 Jphi0=linspace(phi0min,phi0max,300);) n( X. A+ }2 y1 P+ o2 F2 W
R=linspace(Ra1,Rf1,10);+ s' h+ A. \$ x
phi1=phi0.*i12;
/ I' O: m0 t7 q7 Bcath=2*alpha+162/z2/180*pi;) K7 _6 a! _9 C- f# n, A; a: V" a" c
* w3 Q) N: F2 M+ _2 R  }
%预设矩阵# j! h$ b# @' G- c) u" W
u1=zeros(length(phi0),length(R));v1=zeros(length(phi0),length(R));%甲面参数
! e9 R2 S) a% P# X8 lx01=zeros(length(phi0),length(R));y01=zeros(length(phi0),length(R));z01=zeros(length(phi0),length(R));%甲面的平面
' z$ b7 I+ L  h1 z2 q8 s0 b/ M2 sx11=zeros(length(phi0),length(R));y11=zeros(length(phi0),length(R));z11=zeros(length(phi0),length(R));%蜗杆甲面
' O* j* x7 k1 b" e$ i+ E; F, n. b$ dx13=zeros(length(R),length(phi0));y13=zeros(length(R),length(phi0));z13=zeros(length(R),length(phi0));%甲面的螺旋线形式, Q5 g. B9 o- c+ J- }% Y
theta1=zeros(length(R),length(phi0));R1=zeros(length(R),length(phi0));Z1=zeros(length(R),length(phi0));%甲面的加工参数3 ^6 Y( q  h& i+ O

3 j9 R' R4 V5 q5 r" Qu2=zeros(length(phi0),length(R));v2=zeros(length(phi0),length(R));%乙面参数" ~) N6 z9 e+ \, W, @; A* c0 l. a
x03=zeros(length(phi0),length(R));y03=zeros(length(phi0),length(R));z03=zeros(length(phi0),length(R));%乙面的平面
8 R0 [. \. z1 K& |2 y5 B# ox02=zeros(length(phi0),length(R));y02=zeros(length(phi0),length(R));z02=zeros(length(phi0),length(R));%乙面的平面6 n" Q5 M, s, _5 q' O2 s
x12=zeros(length(phi0),length(R));y12=zeros(length(phi0),length(R));z12=zeros(length(phi0),length(R));%蜗杆乙面
$ v! ]1 O% u; Q% m! ^7 j6 ix14=zeros(length(R),length(phi0));y14=zeros(length(R),length(phi0));z14=zeros(length(R),length(phi0));%甲面的螺旋线形式1 K1 c) V8 x! n2 n; L
theta2=zeros(length(R),length(phi0));R2=zeros(length(R),length(phi0));Z2=zeros(length(R),length(phi0));%甲面的加工参数
, l4 W: {7 C) x# T0 V- z$ {/ ?1 |9 j* L3 B8 ~7 g" W* _
figure(1)7 C2 {' }7 b  D+ v$ K+ k3 F! ~( c
for i=1:length(phi0); F% M% W- {3 M( b
    for j=1:length(R)
, W* ]1 l* C" H* P        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)];, Y, p6 i0 _" o4 O
        options=optimset('Display','off','TolFun',1e-7);7 E1 a9 @0 o. ~/ S" A
        x0=[u0 0];7 F% X1 }4 U1 V: W! D
        x=fsolve(f1,x0,options);
% |: c* h. A/ R# A1 @1 s# J- X: S        u1(i,j)=x(1);
$ k7 H" _5 ^: Z- g1 W* V! M        v1(i,j)=x(2);/ \6 L  p! E" P- P5 v
        x01(i,j)=u1(i,j);
" f$ m5 h; Q: p7 e0 [) }        y01(i,j)=v1(i,j).*sin(beta)-db/2;
3 p9 l' C# L+ Y) ~        z01(i,j)=v1(i,j).*cos(beta);4 X' n* @# Z. J
        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));
. y# W' u% M8 }% O: {  V        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));
  b) V: u1 E, y: T: }        z11(i,j)=-sin(phi0(i)).*x01(i,j)-cos(phi0(i)).*y01(i,j);, W6 p0 R  P# j* o8 D
    end
3 C/ t4 l7 J8 B    plot3(x11(i,,y11(i,,z11(i,,'r')
5 }6 m1 ^, I4 Q# ?! L7 t% x# n) y    hold on
) `4 Q) ]1 E/ x& F' c# A$ T: iend
) `! n) a+ M4 u4 H5 `" M  raxis equal
- X7 s" M' r$ W' P* i/ S
% W9 s- I: |0 n2 c0 y. Kfigure(1)) K% ?' p6 Q/ K( G- a' u
for i=1:length(phi0)
7 w" D$ C2 R- C/ h4 K    for j=1:length(R). _# \% L# z( a7 y8 D* v  m+ ~
        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)];
5 ]0 E( o' u* ^. a8 C        options=optimset('Display','off','TolFun',1e-7);2 e0 u) P  |) w
        x0=[u0 0];
: P3 \% l7 m# O3 a1 n0 i+ T2 V        x=fsolve(f2,x0,options);
$ F1 e9 _3 J5 v$ n        u2(i,j)=x(1);8 T5 m  [, b7 @) ^6 u
        v2(i,j)=x(2);' n" \0 d7 R6 M
        x03(i,j)=u2(i,j);& l" `( c6 e- J
        y03(i,j)=v2(i,j).*sin(beta)+db/2;
- v: S  V7 t- W        z03(i,j)=v2(i,j).*cos(beta);
) \6 ^9 `% B8 S7 E9 b( o& t! I        x02(i,j)=x03(i,j).*cos(cath)+y03(i,j).*sin(cath);+ l5 r( L* Y0 c4 l, M+ S  o
        y02(i,j)=-x03(i,j).*sin(cath)+y03(i,j).*cos(cath);' s3 [8 x3 e% N2 Z, }' l1 C
        z02(i,j)=z03(i,j);
- P: J2 D- B' D( I        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));
  u* ]" g! [, v% `        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));( z0 k. u5 M' ]" C
        z12(i,j)=-sin(phi0(i)).*x02(i,j)-cos(phi0(i)).*y02(i,j);! w3 |& h6 \, P+ {
    end( a% g4 e5 k! g/ E, ?
    plot3(x12(i,:),y12(i,:),z12(i,:))
% v0 T. O: b2 K4 }# @; H( ~    hold on; l  P0 g# k, ~% n7 N& I# ^
end( o9 P; U0 K# _  n% C$ U$ o
axis equal' e, F/ g. ~8 k7 p) Z
2 L: d# ^$ o7 o5 J' s- o
figure(2): c; x, v" }/ T. S
for j=1:length(R) ! [6 p4 F5 a4 A6 E! f% f
    plot3(x11(:,j),y11(:,j),z11(:,j),'r')
/ G! c  B- C- f- O" |2 V& |. z    hold on
! q5 f5 P) }9 ~" L2 tend  B9 R+ P  ]6 V& K. a! _7 K
axis equal
% @* B$ j( x& kfigure(2)7 B. B1 l& C9 O3 X2 w6 p  n
for j=1:length(R)
: B1 Q% K7 N2 n7 c    plot3(x12(:,j),y12(:,j),z12(:,j)): c) @& Y+ Z. N; x) U3 K: k! q( V
    hold on/ s5 D" }' Q3 V
end/ p* K# @6 ?7 T# `
axis equal
2 }; ]  c& F$ v1 L0 K! Q- O( s4 J# ~+ }
x13=x11';%转换为螺旋线的格式
3 S6 u0 E9 g% U9 E5 c( o* N/ o1 Yy13=y11';
" Q  L% H6 K7 C" @% i, Uz13=z11';
6 E, X9 |0 L4 r5 \# B, Y( b. e0 Gx14=x12';: @: }) T3 V) l' U
y14=y12';
: q( u- w. X. U0 w; ^" Iz14=z12';
, M6 |" H, A1 V
/ T& L- L' {' `: X) y6 Bfor i=1:length(R). a8 d( \7 e3 e( i4 o1 H6 F9 N
    for j=1:length(phi0)5 Y1 u9 e# k7 R6 X/ U, ~
        theta1(i,j)=cal_theta(x13(i,j),y13(i,j))/pi*180;  j; [, K# b" R6 [! G' V4 S
        R1(i,j)=(x13(i,j)^2+y13(i,j)^2)^0.5;%车床X方向为直径值
4 {% x6 n# F4 L' C' S/ T        Z1(i,j)=z13(i,j);
& Z, z& P: z4 @4 U7 L+ X        theta2(i,j)=cal_theta(x14(i,j),y14(i,j))/pi*180;  c: s* H7 A( v& s$ B) u8 d3 [
        R2(i,j)=(x14(i,j)^2+y14(i,j)^2)^0.5;9 l1 o; `% l: R8 |
        Z2(i,j)=z14(i,j);
! L: D7 ]0 ]- x: m) n- ?$ \    end
7 B, J7 @5 G9 r" Y$ d; a9 w6 cend
( @. V+ s$ ^. w$ k$ U* I# y% G+ D$ P3 N9 T5 C" M4 G" g$ C
%角度转换为绝对式
  C: q9 q0 q$ |2 G9 @; q1 vfor  i=1:length(R)6 [+ J5 R/ @5 g  a2 F% W4 `! e
    for j=1length(phi0)-1)
6 {6 p! I( r# z* R        if theta1(i,j+1)<theta1(i,j)( K. n$ U- p- n& W0 m& L
            for k=(j+1):length(phi0)
9 C, x3 f) Y9 T5 K- d                theta1(i,k)=theta1(i,k)+360;
  X- Q2 w8 B( f+ I            end* Q/ B! c, [" E- r9 r& h
        end7 h, N3 C  B. |, Q$ p0 p, g" _* W! J
         if theta2(i,j+1)<theta2(i,j)! |3 p: o2 K* F# ~, E
            for k=(j+1):length(phi0)
- S  L3 i! `9 e% p2 p                theta2(i,k)=theta2(i,k)+360;
2 y( m0 o8 B! Z  e/ `+ M            end3 i4 P# X( {( m6 b$ M; k/ |7 l3 W. I+ k
        end  P( I7 D; p: x- A; }8 P( D8 }
    end" b! u. R* w3 J( ]$ k6 [9 ?
end
* G! A$ X; _( m
( G! L2 @0 Y/ i( B; d: uassignin('base','X1',R1)' D; I' M$ ^$ s$ |5 T
assignin('base','Z1',Z1)
9 W# W% g2 s0 jassignin('base','C1',theta1). y+ V5 F8 @" u, e9 D
assignin('base','X2',R2)
/ M  T6 f0 A7 {1 V% @" f; ~! `! i# Aassignin('base','Z2',Z2)
0 D. g2 u6 G: o9 }, r' v' n  N3 X4 rassignin('base','C2',theta2)" ~- J8 W* u' E5 b+ ~

- n! u3 {6 q, Y%G代码的输出
' p, Z. |7 h8 g0 u8 i+ ?0 o% fid=fopen('turncode.txt','wt');
7 F1 G$ ~: c5 \  L1 u7 x% fprintf(fid,'O0001\n');
2 L/ U9 L  H, t8 o4 v! z& q% for  i=1:length(R)
1 C4 S7 G3 ]8 r9 r0 t4 y  `%     for j=1:length(phi0)! o' u" S) K) G2 y
%         fprintf(fid,'X=%0.4f\t',R1(i,j))) y; \( |& V; I* F
%         fprintf(fid,'Z=%0.4f\t',Z1(i,j))! @. Y3 X; s; v* y" [8 L
%         fprintf(fid,'C=%0.4f\n',theta1(i,j))2 N6 C9 @( a- }* ]
%     end
" o! j$ q+ |) }% P7 D  L% end
6 B' K, d$ d! D' }) U0 Y: k; p/ @4 ^" B' b; v& ^  b
6 N) B  H' j+ g9 o) F# ~- F* r8 r
/ |% @! l! p2 z# D6 V9 P" l! [5 m
3 J. q+ O! R! E+ S& ^! }
function theta=cal_theta(x1,y1)& h4 v( t7 z& D3 _. \
if (x1>0)&&(y1<0)
$ g% \. ?8 t* l) R1 A9 ?    theta=acos(x1./(x1^2+y1^2)^0.5);%电机转是角度还是弧度?
, w1 t# P' Q2 pelseif (x1<0)&&(y1<0);- P! V  J/ W" z/ x+ m* c$ |
theta=acos(x1./(x1^2+y1^2)^0.5);. Q3 |% c- O. I  \
elseif (x1<0)&&(y1>0);1 m/ A% R. ?$ C% S- {9 X
    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);# ~. k7 _+ @0 f, B
elseif (x1>0)&&(y1>0);
5 S) p1 Q) `8 ?0 ^# P1 s3 L    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);
% B# x! V+ p+ m9 @+ F. kelseif (x1>0)&&(y1>0);' n4 g' ^6 J3 s  @
    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);. A$ p8 j# P; J/ q
elseif (x1>0)&&(y1==0);6 f) h' P- E. v5 g5 t6 v2 y1 S
    theta=0;
" i8 j9 U/ r! A5 Yelseif (x1<0)&&(y1==0);
" r+ K" s5 w6 ]: j+ N& w4 l, c) [    theta=pi;3 I8 r) V2 W! C8 q
elseif (x1==0)&&(y1<0);
4 f  u5 A- q1 F; t& v3 ~; i    theta=pi/2;1 ?- A0 q  V& [& X4 z: z4 Y- n! W, @
elseif (x1==0)&&(y1>0);  p" S5 d# \1 u6 a3 K
    theta=3*pi/2;8 i9 c0 c+ h' I) r# ~$ p, b1 r
end
发表于 2014-5-29 22:26:57 | 显示全部楼层
我也看不懂,,,,,
发表于 2014-6-27 22:00:58 | 显示全部楼层
看了头晕,有这么复杂,算了路过!! C; h, j! C: n& w7 A# \
发表于 2014-6-28 09:32:24 | 显示全部楼层
不懂/ ^, k' [  |. Z# }  D
( B, y: I9 H" E; |+ x

4 ~* Q$ R) P, Q6 B9 b1 s4 ^  s, I2 C
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-7-14 11:39 , Processed in 0.059204 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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