机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lingcheng

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

[复制链接]
发表于 2014-5-29 18:38:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 18:34
: [" T& }" A2 L& l' F我大四毕业论文,实在图书馆没东西。捉急啊

, ]  A: M+ w( E8 Q9 Q. s, P简单点说就是角相位和进刀量的函数关系问题,,,,,,,,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-29 18:40:53 | 显示全部楼层
东海fyh126 发表于 2014-5-29 18:38
( x5 z9 c0 i* j" u简单点说就是角相位和进刀量的函数关系问题,,,,,,,,

1 H; g5 C. O8 B% S  ^0 ^8 H你也是大神啊,我有刀具轨迹的MATLAB代码,但是看不懂,尴尬% q6 _" r2 ~% n9 l( B
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-29 18:57:36 | 显示全部楼层
lingcheng 发表于 2014-5-29 14:53
% s1 _, Y* P/ l+ T大神求带啊,关于实例车削直廓环面蜗杆,包括齿根和齿顶
6 p$ m: k- K1 U- M1 R; a$ ?4 d& ~) ]
大神带我飞吧( X+ L( @+ A% a2 J; v& G. z
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-29 18:58:45 | 显示全部楼层
function worm34 [% Q# i- r" p  L1 |5 O# H
clear+ h6 H! D, U0 l
clc
8 R) y5 r$ K4 c6 E, R1 J' J, la=240.65;%中心距
3 v/ E* b: {- r" \0 T8 S# l8 z: uz1=1;%蜗杆头数' Q' R2 i9 _) a( D4 u
z2=40;%齿轮齿数
! z3 q' G$ b$ _" Ni12=z2/z1;%传动比9 i1 {1 Y  W; U- P% {5 k3 ^
zc=4;%蜗杆包围蜗轮齿数" V  S! x& d+ I* I
d1=80;%蜗杆分度圆直径' B$ G: R6 U" E7 o2 Z
d2=2*a-d1;%蜗轮分度圆直径
1 T( x: U3 }8 x* Mmt=d2/z2;%蜗轮端面模数
9 l  }9 _, d3 N0 y7 z1 S7 yda2=417.36;%蜗轮齿顶圆直径6 S7 O  x+ o8 d8 o
df2=381.24;%蜗轮齿根圆直径
1 r7 F" y/ g8 r$ \4 i8 G# Q& V* t+ n: S0 Q: hha=(da2-d2)/2;%齿顶高
" d8 _# P* v, rhf=(d2-df2)/2;%齿根高
6 M8 ^: ^; @+ M- Y/ C  k9 tda1=d1+2*ha;%蜗杆顶圆直径. @  a. y/ D4 X
df1=d1-2*hf;%蜗杆根圆直径
/ z; K! y+ h/ V5 B3 R3 C( b, BRf1=a-df1/2;%蜗杆齿根圆弧半径
) D5 \* l! S) y; g/ @' GRa1=a-da1/2;%蜗杆齿顶圆弧半径
7 X  R/ D  @; O3 i4 R1 {gama=atan(d2/d1/i12);%蜗杆喉部分度圆导程角
1 k, i9 I9 A1 {$ P% p* N7 i1 rtau=2*pi/z2;%齿距角
$ }  E# g0 P0 [  J. S! Udb=153;%主基圆直径/ J: I  q. W  Y: i3 G
alpha=asin(db/d2);%蜗轮分度圆压力角( s( x# u5 h7 j! ^; [
phi_w=0.5*tau*(zc-0.45);%蜗杆包围蜗轮的工作半角0 h8 \( k( Y/ l0 P( j$ {
phi_0=alpha-phi_w;%工作起始角  ~+ C$ Q9 i! {5 C. m
Lw=d2*sin(phi_w);%蜗杆工作部分长度
. P: ]) P: D& [8 R! Vbeta=11/180*pi;%母平面倾斜角
, [" M, \- N* {; s' W- Mphi0min=phi_0;5 L5 F6 e! I/ i. {" T+ W1 h
phi0max=phi_0+2*phi_w;4 m5 z- }! R. c5 F' n+ Q
u0=((d2/2)^2-(db/2)^2)^0.5;: D% t8 S, o$ D$ M
phi0=linspace(phi0min,phi0max,300);
) _& N/ j* z) f( z6 DR=linspace(Ra1,Rf1,10);  N$ P: E1 ~3 K) H9 h, ?! I0 G
phi1=phi0.*i12;
3 l; n) ]5 g  Q7 Fcath=2*alpha+162/z2/180*pi;
7 O5 Z& G$ U% |5 \  h
4 S+ T8 n1 [" B1 h2 Q, n  b& e* W%预设矩阵( W* k; W2 h6 [; P
u1=zeros(length(phi0),length(R));v1=zeros(length(phi0),length(R));%甲面参数4 ~! `9 F& J( ~8 y+ U% Q
x01=zeros(length(phi0),length(R));y01=zeros(length(phi0),length(R));z01=zeros(length(phi0),length(R));%甲面的平面- w5 m: |. F0 i9 ]' o3 L
x11=zeros(length(phi0),length(R));y11=zeros(length(phi0),length(R));z11=zeros(length(phi0),length(R));%蜗杆甲面3 w8 Z* p% ^2 S% ]# ]8 p" v
x13=zeros(length(R),length(phi0));y13=zeros(length(R),length(phi0));z13=zeros(length(R),length(phi0));%甲面的螺旋线形式3 S/ O* t- `! G4 P
theta1=zeros(length(R),length(phi0));R1=zeros(length(R),length(phi0));Z1=zeros(length(R),length(phi0));%甲面的加工参数! d* [. |) J4 J" I
9 u5 f0 [' Q% p. d" {2 ~
u2=zeros(length(phi0),length(R));v2=zeros(length(phi0),length(R));%乙面参数3 z  G3 x+ g7 }3 A$ Q5 v& y
x03=zeros(length(phi0),length(R));y03=zeros(length(phi0),length(R));z03=zeros(length(phi0),length(R));%乙面的平面# E* f  e7 w9 n  U7 d, J
x02=zeros(length(phi0),length(R));y02=zeros(length(phi0),length(R));z02=zeros(length(phi0),length(R));%乙面的平面. ^+ J& x& A" Z# H9 `! V" \
x12=zeros(length(phi0),length(R));y12=zeros(length(phi0),length(R));z12=zeros(length(phi0),length(R));%蜗杆乙面
* z! D  e: p, mx14=zeros(length(R),length(phi0));y14=zeros(length(R),length(phi0));z14=zeros(length(R),length(phi0));%甲面的螺旋线形式
; W) Z9 ^/ n! e) `; \+ p2 U" R' \8 Vtheta2=zeros(length(R),length(phi0));R2=zeros(length(R),length(phi0));Z2=zeros(length(R),length(phi0));%甲面的加工参数; g2 g2 U5 U% L- V$ N) Y/ Z

# R* g  e' v2 K* nfigure(1)- m- X) z2 R2 m$ o/ D
for i=1:length(phi0)
& n' ^0 U' X1 v9 F; ^) c7 Y6 g  E    for j=1:length(R)
  i- R4 D, m* s+ S" @9 }2 _' e% ^        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)];
* G, B7 W$ ]7 k  I' U  C  m6 K' p        options=optimset('Display','off','TolFun',1e-7);/ X* h) V5 G0 M: B) X3 {4 X2 c, a3 N
        x0=[u0 0];
% n; j' s  D: ~9 T        x=fsolve(f1,x0,options);
' N& T; z: Q6 t        u1(i,j)=x(1);4 R5 l( C; V$ V
        v1(i,j)=x(2);. i( c6 t" N5 W# F5 e3 Y
        x01(i,j)=u1(i,j);
9 u& G2 }- Z: a/ V) U% ]        y01(i,j)=v1(i,j).*sin(beta)-db/2;
8 b) ~2 n* L# Y" p  i        z01(i,j)=v1(i,j).*cos(beta);: E3 A- v' ^) \$ _& K  P
        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));9 b6 h' p( N# |, @* w, T
        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));
( U3 |( i0 H4 B        z11(i,j)=-sin(phi0(i)).*x01(i,j)-cos(phi0(i)).*y01(i,j);' U. @8 s# Q6 t; t4 N7 P
    end: X1 g0 I9 Y, F3 q; R; l
    plot3(x11(i,,y11(i,,z11(i,,'r')
2 n7 \7 @# _# J0 m    hold on
' z0 e* e5 ~+ N+ {+ K5 K. `end- Z/ |- M5 X' x& n
axis equal  m& x: v. w! r, }' ?) x

2 A1 q7 j3 h! N  xfigure(1)
, y* E2 D7 I( ~! Ofor i=1:length(phi0). y$ Y2 ~5 Q% R! ^6 {
    for j=1:length(R)
4 D3 M' i3 v3 |4 Z% u& r        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)];
" L9 L! d0 N% l; p. P        options=optimset('Display','off','TolFun',1e-7);
2 j' h- l! X$ H, u- i; }) o- S7 z        x0=[u0 0];5 e  M2 L5 y5 j( W
        x=fsolve(f2,x0,options);$ d7 r( Q" m) E' X! Y) @6 t2 T; l( r
        u2(i,j)=x(1);$ p& k0 i  F" d- R
        v2(i,j)=x(2);
% b6 A3 v# y4 n2 T& q        x03(i,j)=u2(i,j);
$ y# U3 P  B' J% N6 b* b        y03(i,j)=v2(i,j).*sin(beta)+db/2;5 F% \0 |9 i/ r; H1 X8 h  _2 k
        z03(i,j)=v2(i,j).*cos(beta);
  }' C4 H/ I' [0 ^        x02(i,j)=x03(i,j).*cos(cath)+y03(i,j).*sin(cath);, F* x' e& N) \; x- ~# v" @8 c
        y02(i,j)=-x03(i,j).*sin(cath)+y03(i,j).*cos(cath);
) k. s0 W. H7 i+ c; q+ c: W        z02(i,j)=z03(i,j);
7 t  Q* U1 X2 g/ r' w7 _; q# }        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));
  a) |) Y: ]1 v# \+ w5 {$ v2 k        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));6 h- t2 D5 W" |4 _! K4 @5 U: H& P9 m
        z12(i,j)=-sin(phi0(i)).*x02(i,j)-cos(phi0(i)).*y02(i,j);
6 q  u  [  Y; W: o% E: ~    end( X4 O" T. o3 P- p
    plot3(x12(i,:),y12(i,:),z12(i,:))9 [- U/ s$ C. B5 U
    hold on
: c) A8 @/ i9 Fend9 G4 Q# M+ D) e% A* {* Z, F
axis equal2 g' |9 S5 g) t) g! X3 U

" b9 q& p% N8 i0 Cfigure(2)
# P) Y7 N2 _0 afor j=1:length(R) . m* B5 D4 n2 n" k7 s6 A9 T/ e: N: k
    plot3(x11(:,j),y11(:,j),z11(:,j),'r')
' u# |9 C5 Q* a$ P" L  A6 A6 y- A8 A    hold on" E3 R( e" v1 y0 W0 Z
end3 [& D4 ~4 I; Y$ f; }
axis equal$ V' i9 X8 c$ y% b0 Q0 f
figure(2)1 U) z- _% L! ~8 ^( M. t
for j=1:length(R) ' \& \$ Z: ]% \: {; T: q8 s
    plot3(x12(:,j),y12(:,j),z12(:,j))* M* b% W+ L7 V$ G- |- u8 l* u- a
    hold on) C9 U0 \8 V5 M4 |8 U
end% x6 Z2 u& i* |# G6 H' \! K( p8 [
axis equal
- @4 F) J) }) f' g& P
. p1 y+ J& d  d" [/ Ax13=x11';%转换为螺旋线的格式* `0 [9 ]0 T0 z6 u3 T
y13=y11';
+ f; ^+ V, T8 g2 wz13=z11';0 \0 q+ \5 L+ S' g; u
x14=x12';
' ^4 L+ t$ U! _4 ey14=y12';
1 g) U. S, W. F1 I7 D) ~6 q3 H" Z8 f, xz14=z12';
, T) H0 l" Y& [
9 g: I1 I  v' {; C" }( A. Kfor i=1:length(R)$ T/ p: _' Q- c$ v0 }
    for j=1:length(phi0)
9 J. n! l  |6 o" \* k) ^1 x. c        theta1(i,j)=cal_theta(x13(i,j),y13(i,j))/pi*180;2 x' p0 z1 n$ Z: l
        R1(i,j)=(x13(i,j)^2+y13(i,j)^2)^0.5;%车床X方向为直径值. I7 X5 H/ B& b" S
        Z1(i,j)=z13(i,j);
+ N0 W+ [. ~' Z* ]% ^        theta2(i,j)=cal_theta(x14(i,j),y14(i,j))/pi*180;
; U3 w2 \- X+ f9 _: w) C  W        R2(i,j)=(x14(i,j)^2+y14(i,j)^2)^0.5;% \( |/ {* O2 d+ I; J& X
        Z2(i,j)=z14(i,j);
9 j; {# _% R$ \% M- z    end, `! t; [2 K( c5 f( N1 A5 }  I
end/ m0 _0 s% u9 b
& R. O% ^8 {& e) c: x& v
%角度转换为绝对式
/ C4 s, m; m2 [% n, dfor  i=1:length(R)
: O  I5 a" B9 O, [, v- W6 L: f    for j=1length(phi0)-1)
# |) K) C6 E- ?5 b+ m0 z. T4 c8 W6 U        if theta1(i,j+1)<theta1(i,j)7 K1 m0 f6 ^, v  ?) n3 O. x3 K
            for k=(j+1):length(phi0)( i$ Q' M$ i# |2 G1 [$ W. G
                theta1(i,k)=theta1(i,k)+360;
$ l, Z3 P5 ^6 {6 J            end; D: Z. f. U( C' z
        end
# w* X0 i" F6 m/ _' U3 D1 t         if theta2(i,j+1)<theta2(i,j)6 X4 f. U3 s( f$ o  E4 C; \
            for k=(j+1):length(phi0)
& D: |/ N% E/ ~: Z  H) i* y                theta2(i,k)=theta2(i,k)+360;5 e. h* L! A6 l2 H9 j! v
            end& i( _6 T% V9 s0 |
        end, B$ a" K: y8 g! L: d1 K1 M9 h
    end/ \. [" ]" Z6 v& ^3 v! y8 P
end3 b) j7 g9 Q/ ~) o$ S3 h6 ~5 b
- M8 C6 z7 S7 S5 H4 H$ K
assignin('base','X1',R1)
% [/ o& Q- J2 ]( K/ Eassignin('base','Z1',Z1)* u' Z, r1 K1 a% _% ~
assignin('base','C1',theta1)
+ }. J3 k3 \0 Z3 c; J' rassignin('base','X2',R2)
  C6 _. j) m; ]assignin('base','Z2',Z2). o6 J; _: d5 i( E' k1 b
assignin('base','C2',theta2)
& }% A7 b2 Y2 y3 J9 B$ l4 H% F  j; J% A' o% `
%G代码的输出& W) \' R7 G2 e3 z! T9 u1 Q
% fid=fopen('turncode.txt','wt');5 s1 Q0 A( C5 m7 u# N
% fprintf(fid,'O0001\n');& P! |7 E% T: N8 q+ z: f! ?
% for  i=1:length(R)) q3 l& P" Y: z: x: X; r
%     for j=1:length(phi0)
& Y4 E1 k5 e) I( H; `%         fprintf(fid,'X=%0.4f\t',R1(i,j))# O# r: ]2 I. E9 j  @0 u
%         fprintf(fid,'Z=%0.4f\t',Z1(i,j))
/ c% s. c, B; ]$ q0 H' c%         fprintf(fid,'C=%0.4f\n',theta1(i,j)). d. ?  C0 x& j( N: ^* t  L) r
%     end3 G/ c# E; O; ?% r
% end
2 {5 R* [' E0 L0 B: J) e! T
4 j, o  K2 \! O
  u6 L& \* x& C/ s4 v( ]9 J) g. l. W8 [" _/ ^! E/ t, i- l! h
& [4 W9 _, k4 T3 ]
function theta=cal_theta(x1,y1)* j. l7 E, |$ P: [3 c
if (x1>0)&&(y1<0)
( |6 r# O0 r0 O    theta=acos(x1./(x1^2+y1^2)^0.5);%电机转是角度还是弧度?
4 m1 @% Z9 C, g# U, Jelseif (x1<0)&&(y1<0);
1 d  [; Z- \" C0 U9 ]% _theta=acos(x1./(x1^2+y1^2)^0.5);
( j3 G; J0 l: Z- u' `elseif (x1<0)&&(y1>0);# t7 `4 M, t' F6 Z. k8 h
    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);) u5 H! Z) }% Q+ p. y, _
elseif (x1>0)&&(y1>0);
. x' ?$ l1 q9 D" J    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);* C2 v+ A( N7 K2 C; ~" Z+ s
elseif (x1>0)&&(y1>0);$ c  A2 [7 v* |
    theta=2*pi-acos(x1./(x1^2+y1^2)^0.5);
- o$ w& Y0 _% x9 W! ?! w& x" Relseif (x1>0)&&(y1==0);% e$ X+ T7 m! s7 ~
    theta=0;
+ @5 p2 O$ }' ~8 u( ^, `elseif (x1<0)&&(y1==0);1 g$ S. [3 l6 I, p7 x+ {( _5 z
    theta=pi;4 p* t' R0 b" p8 Q: M) L
elseif (x1==0)&&(y1<0);, f) l& r  T* T3 o0 i, U
    theta=pi/2;
4 C) ]4 S) o- ^3 \/ Telseif (x1==0)&&(y1>0);
: _4 P3 @& d) l$ I3 |! N    theta=3*pi/2;' l% E; ?' F* Q  [
end
回复 支持 反对

使用道具 举报

发表于 2014-5-29 22:26:57 | 显示全部楼层
我也看不懂,,,,,
回复 支持 反对

使用道具 举报

发表于 2014-6-27 22:00:58 | 显示全部楼层
看了头晕,有这么复杂,算了路过!
/ o$ t0 K& G+ q( l' A
回复 支持 反对

使用道具 举报

发表于 2014-6-28 09:32:24 | 显示全部楼层
不懂- N8 E8 f% N( a& D) b; f: f
9 P8 j$ C$ V& E9 H( d

$ U; _3 y9 g7 J" s7 Y% _
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-4-30 07:54 , Processed in 0.067633 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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