摘要:介紹一種可計算漸開線花鍵拉刀倒角齒測量值的新算法,并編寫了該算法的C 語言計算程序。
 圖1 漸開線花鍵齒形 |
 圖2 rA的計算 |
1 問題的提出
我廠生產(chǎn)的漸開線花鍵齒輪出口產(chǎn)品對齒輪倒角提出了嚴(yán)格要求,因此設(shè)計加工該齒輪用的漸開線花鍵拉刀時,必須對拉刀倒角測量值進(jìn)行計算。 對于圖1 所示的漸開線花鍵齒形,已知花鍵的模數(shù)m、齒數(shù)z、壓力角a、小徑ra、分度圓齒厚s、基圓半徑rb、倒角長度a、倒角角度b等參數(shù),對拉刀倒角測量值h(圖1中的EO值)的原計算方法步驟如下:①ch=acotb;②rA=ra+ch;③分度圓齒槽寬w=pm-s;④倒角終止處齒槽寬wA=AB︵=2rA(w/mz+inva-invaA),式中aA=arccos(rb/rA);⑤wA對應(yīng)弦長AB=2rAsin(180wA/2prA);⑥CD=AB+2a;⑦d=arcsin(CD/2ra);⑧dx=90°-b-d;⑨h=EO=racosdx。分析上述計算步驟可知,(3)~(9)理論上均正確。但由圖1可知,rA并不等于ra+a,而是小于ra+a。因此,按rA=ra+a計算出的rA并非值,而是近似值,這就是該計算方法的不足之處。因此,必須采用經(jīng)改進(jìn)的新算法對rA及h進(jìn)行求解。2 rA的求解
建立如圖2 所示坐標(biāo)系,設(shè)點C(x0,y0),A(xA,yA)。由圖2 可知:xA=x0+a,yA=y0+acotb,故A點坐標(biāo)為A(x0+a,y0+acotb),因此有 | rA=[(x0+a)2+(y0+acotb)2]? | (1) |
由于C點在花鍵小徑上,故有由于A 點在漸開線上,故有由圖2可知 | aA=arccos{rb/[(x0+a)2+(y0+acotb)2]?} | (4) |
聯(lián)立式(3)、式(4),有 | q=tan(arccos{rb/[(x0+a)2+(y0+acotb)2]?})-arccos{rb/[(x0+a)2+(y0+acotb)2]?} | (5) |
由圖2可知式中d=-arctan(x0+a)/(y0+acotb) 由于EF︵實質(zhì)上就是基圓齒槽寬Wb,而Wb的計算公式為因此,將式(7)代入式(6)可得 | q= | 1 | wcosa+mzcosainva | +arctan | x0+a | | | | | | 2 | rb | y0+acotb | | (8) |
令式(5)=式(8),可得 | q=tan(arccos{rb/[(x0+a)2+(y0+acotb)2]?})-arccos{rb/[(x0+a)2+(y0+acotb)2]?} | | = | 1 | wcosa+mzcosainva | +arctan | x0+a | | | | | | 2 | rb | y0+acotb | | (9) |
聯(lián)立式(2)和式(9),可得方程組  | x02+y02=ra2 | | q=tan(arccos{rb/[(x0+a)2+(y0+acotb)2]?})-arccos{rb/[(x0+a)2+(y0+acotb)2]?} | | = | 1 | wcosa+mzcosainva | +arctan | x0+a | | | | | | 2 | rb | y0+acotb | | | (10) |
在式(10)中,除x0,y0外,其它參數(shù)值均已知或可求出,因此理論上可通過該方程組求解x0,y0 (實際上x0,y0的求解計算非常繁瑣,因此必須借助計算機(jī)進(jìn)行編程計算),然后根據(jù)式(1)求出rA的解。將rA的解代入*節(jié)介紹的計算步驟,即可求得的拉刀倒角測量值h。
 圖3 試值法求解方程組流程圖 |
3 方程組的試值法求解
在式(10)中,x0,y0既存在于根號下,又存在于三角函數(shù)、反三角函數(shù)中,因此用常規(guī)算法很難解出。為此可采用試值法求解。 將式(10)中x02+y02=ra2變形為y0=(rA2-x02)?。對于每一給定的x0值均有對應(yīng)的y0值,因此可確定C 點坐標(biāo)C(x0,y0),且點C(x0,y0)位于圓x02+y02=ra2之上。由于A點坐標(biāo)為A(x0+a,x0+acotb),因此A點也可隨之確定。下一步只須判別x0,y0是否符合式(10)(即A點是否在漸開線上),如符合,則x0,y0即為方程組的解。由于式(9)實質(zhì)為式(5)=式(8),因此可將其變形為式(5)-式(8)=0。由于式(5)、式(8)的值均為實數(shù),要使二者相等比較困難,因此這里只需將二者差值控制在某一范圍內(nèi)即可認(rèn)為兩式相等,如當(dāng)-0.00001≤式(5)-式(8)≤0. 00001時可認(rèn)為兩式相等,即x0,y0符合式(10),為方程組的解。 求解時需要選取x0的初值。若對x0采取遞加計算,x0初值必須取在C點左邊;若x0初值取在C點右邊,則應(yīng)對x0遞減計算。計算時x0初值由計算機(jī)自動選取。 采用試值法求解方程組的程序流程如圖3所示。4 計算程序與實例
為提高求解方程組的計算效率,采用C語言編寫了以下計算程序。雖然采用試值法(對x0試值)求解,但不需人工輸入x0初值(由計算機(jī)自動選?。?。只需輸入漸開線花鍵參數(shù),即可獲得計算結(jié)果。 # include "stdio. h" # include "math. h" # define PI 3.141562652 double inv(double num) (return tan(num)-num;) double x0,y0,z,o,c,da,db,A,B1,B2,s,m,P1,AA,B,dc,Ax,M,dk,w,Ac,Wc,b,Fx,H,Aa,sd,sx,xs; main() {printf("c=M =d k="); printf("%1f%1f%1f",&c,&M,&dk); printf("m= z= o= da= A="); scanf("%1f%1f%1f%1f%1f",&m,&z,&o,&da,&A)); db=m*z*cos(A*PI/180); if(fmod(z,2)==1) Ax=acos(db*cos(PI/(2*z))/(M+dk)); else Ax=acos(db/(M+dk)); s=m*z*(PI/z-dk/db+inv(A*PI/180)-inv(Ax)); w=PI*m-s; Aa=acos(db/da); sd=da*w/(m*z)-da*(inv(Aa)-inv(A*PI/180)); sx=da*sin(sd/da); xs=-(sx/2+c); x0=xs; a100:x0=x0+0.0001; y0=sqrt(da*da/4-x0*x0); AA=acos((db/2)/sqrt((x0+c)*(x0+c)+(y0+c/tan(o*PI/180))*(y0+c/tan(O*PI/180)));B1=inv(AA); B2=(w*cos(A*PI/180)+m*z*cos(A*PI/180)*inv(A*PI/180))/db+atan((x0+c)/(y0+c/tan(o*PI/180))); B=B1-B2; (if B > 0.0001 | | B < -0.0001)goto a100 ; dc=sqrt((x0+c)*(x0+c)+(y0+c/tan(o*PI/180))*(y0+c/tan(o*PI/180)))*2; Ac=acos(db/dc); wc=dc*(w/(m*z)+inv(A*PI/180)-inv(Ac)); b=sin(wc/dc)*dc; Fx=90-o-180*asin((b+2*c)/(m*z))/PI; H=da*cos(Fx*PI/180)/2; printf("x0=%1f y0=%1f/n",x0, y0); printf("db=%1f AA=%1f/n",db,AA); printf("B=%1f s=%1f/n",B,s); printf("dc=%1f H=%1f/n",dc,H); getchar(); } 計算實例:已知漸開線花鍵拉刀參數(shù):m=2.5mm,z=18,a=30°,s=3.76mm,ra=21.335mm,倒角為0.5×45°。采用原計算方法求得的倒角測量值h=16.958mm,而采用本文介紹的計算方法求得h=16.882mm??梢姡瑑煞N計算方法的計算差值為0.076mm,且計算方法的計算值要小一些。因此,在對齒輪倒角要求不嚴(yán)格的情況下,采用原計算方法比較簡便;而在對齒輪倒角要求嚴(yán)格的情況下,則應(yīng)采用計算方法,并借助計算機(jī)程序輔助計算。