引 言c
現行的機械行業(yè)中在齒輪設計的過程里,非常缺乏對幾何參數計算的比較統一的軟件,很多時候只是采用手工計算、取大概的數值,對于一些比較復雜的齒輪來說,制造出來的齒輪存在誤差較大。傳統的設計方法是依據經驗用類比法,結合查表及大量繁雜的公式計算,這樣的方法一是工作量大,二是不可能對各參數進行優(yōu)化及篩選,很難保證齒輪精度設計的合理性。因此,借用了輔助軟件對其進行計算后,對齒輪精度的設計及其相關的數據進行計算機處理,使齒輪的精度設計達到快速、準確、合理,齒輪設計起來就沒那么費時和吃力了。我國現有(1)GB/T10095。1-2001漸開線圓柱齒輪精度第一部分:輪齒等效ISO1328-1。(2)GB/T10095。2-2001漸開線圓柱齒輪精度第二部分:徑向綜合等效ISO1328-2。
1. 漸開線圓柱齒輪幾何參數計算相關研究綜述
1.1漸開線圓柱齒輪國內的研究現狀
1.1.1齒輪的簡介
標準齒輪的結構構造圖如圖1。
圖1 齒輪構造圖
齒輪的組成結構一般有輪齒、齒槽、端面、法面、齒頂圓、齒根圓、基圓和分度圓。
輪齒簡稱齒,是齒輪上每一個用于嚙合的凸起部分,這些凸起部分一般呈輻射狀排列,配對齒輪上的輪齒互相接觸,可使齒輪持續(xù)嚙合運轉;基圓是形成漸開線的發(fā)生線作純滾動的圓;分度圓,是在端面內計算齒輪幾何尺寸的基準圓。
漸開線齒輪比較容易制造,且傳動平穩(wěn),傳遞速度穩(wěn)定,傳動比準確,漸開線圓柱齒輪是機械傳動量大而廣的基礎零部件,廣泛在汽車、拖拉機、機床、電力、冶金、礦山、工程、起重運輸、船舶、機車、農機、輕工、建工、建材和軍工等領域中應用。因此現代使用的齒輪中,漸開線齒輪占絕多數,而擺線齒輪和圓弧齒輪應用較小。
1.1.2研究現狀
我國1960 年以前沒有圓柱齒輪精度標準,直接應用蘇聯TOCT 1643—46標準,1958年起原第一機械工業(yè)部組織力量著手研究,經過分析、研究和驗證蘇聯TOCT 1643—56標準,制訂和頒布JB 179—60《圓柱齒輪傳動公差》機械工業(yè)部部標準。對當時機械工業(yè)的發(fā)展起到積極推動作用,很快達到世界五十年代水平,在七十年代末國家機械工業(yè)改革開放,要求迅速趕上世界齒輪發(fā)展步伐,機械工業(yè)部領導下決心,直接以ISO 1328—1975國際基礎修訂JB 179—60標準,以等效采用ISO 1328—1975標準,頒布JB 179—81和JB 179—83漸開線圓柱齒輪精度機械工業(yè)部部標準,大力進行宣貫,促進圓柱齒輪精度質量明顯的提高。同時帶動國內齒輪機床、刀具和量儀的發(fā)展,于1998年由技術監(jiān)督局頒布為GB 10095—88漸開線圓柱齒輪精度國家標準。我國在改革開放,發(fā)展經濟的政策指示下,大量引進德國、日本等西方工業(yè)發(fā)達國家的工業(yè)機械產品,而配件需要國產化,JB 179—83和GB 10095—88標準已不相適應,一方面鼓勵直接采用德國、日本和美國標準,另一方面以宣貫行政文件形式進行補充。提出齒距偏差、齒距累計誤差、齒向誤差四個為必檢項目評定齒輪精度等級。宣貫中發(fā)現達到齒形誤差精度最難。其齒形的齒端部規(guī)定不夠合理,齒形精度達到要求但齒距精度尚有一定的富余而不相協調。部分先進企業(yè)總結國內外技術經驗,采取積極的技術措施,生產出與世界水平相當的齒輪產品。以上這些與ISO1328-1997標準相對照,在很多關鍵地方是不謀而合。當前我國在重大機械裝備中所需漸開線齒輪都可以國產化?,F行GB 10095—88漸開線圓柱齒輪精度國家標準是等效采用ISO 1328—1975國際標準的,現在國際上已將ISO 1328—1975標準作廢由ISO1328-1997標準代替。1997年由國家技術監(jiān)督局下任務對GB 10095—88標準進行修訂,經過對ISO1328-1997標準翻譯、消化和征求各方面意見,絕大多數認為我國齒輪產品應與國際接軌,促進國際和國內齒輪產品的貿易,發(fā)展齒輪生產。修訂GB 10095—88國家標準應等同采用ISO1328-1997國際標準。
目前國家技術監(jiān)督局和國家機械工業(yè)局鼓勵要求技術進步迫切和有條件的齒輪制造企業(yè),直接采用ISO1328-1997國際標準作為企業(yè)標準生產齒輪先行一步,深入、充分發(fā)揮ISO1328-1997國際標準作用,為本企業(yè)真正提高齒輪性能質量、降低制造成本提高經濟效益,走入國際市場
。
我國現有(1)GB/T10095。1-2001漸開線圓柱齒輪精度第一部分:輪齒等效ISO1328-1。(2)GB/T10095。2-2001漸開線圓柱齒輪精度第二部分:徑向綜合等效ISO1328-2。
1.2課題研究的意義
齒輪是機器、儀器中使用最多的傳動零件,尤其是漸開線圓柱齒輪的應用更為廣泛。齒輪是一個較復雜的幾何體,對單個齒輪的齒廓加工誤差國家標準規(guī)定了17種控制參數,根據齒輪使用要求的不同,對以上17個參數控制的要求也不同。如何確定齒輪的精度等級以及依據其精度等級確定相關控制參數的公差值,是齒輪設計的關鍵所在。傳統的設計方法是依據經驗用類比法,結合查表及大量繁雜的公式計算,這樣的方法一是工作量大,二是不可能對各參數進行優(yōu)化及篩選,很難保證齒輪精度設計的合理性。因此,借用了輔助軟件對其進行計算后,對齒輪精度的設計及其相關的數據進行計算機處理,使齒輪的精度設計達到快速、準確、合理,齒輪設計起來就沒那么費時和吃力了。
1.3設計的研究思路與研究的重點
本設計的研究重點是漸開線圓柱齒輪傳動設計的計算。研究外嚙合齒輪和內嚙合齒輪傳動的主要幾何參數計算、齒輪齒厚計算、精度計算和強度計算,幫助實現齒輪的合理設計。
2. 漸開線圓柱齒輪幾何參數計算的輔助軟件的主要研究內容
2.1齒輪傳動設計步驟
齒輪傳動設計步驟:
1、簡化設計:根據齒輪傳動的齒數、嚙合角和模數等,確定中心距等主要參數。
2、幾何設計計算:設計和計算齒輪的基本參數,并進行幾何尺寸計算。如:計算分度圓直徑、齒高、齒頂高、齒根高、基圓直徑等。
3、齒厚測量尺寸計算:根據上步的計算結果和已知參數,計算齒輪的齒厚參數。如:固定弦齒厚、固定弦齒高等參數。
4、精度計算:計算出齒輪的精度測量參數,如:各級精度等級、齒厚上/下偏差、側隙公差、最小/大極限側隙等。
5、強度校核:在基本參數確定后,進行精確的齒面接觸強度和齒根彎曲強度校核。分別將計算出的接觸/彎曲強度允許傳遞功率與已知功率相比較,如果都大于實際功率,則所設計的齒輪強度過關。
6、如果校核不滿足強度要求,可以返回2),修改參數,重新計算。課題研究的主要內容就是設計一個進行齒輪設計的計算軟件,現在課題是幾何尺寸計算,主要應集中在此,精度只是其中一部分。在設計漸開線圓柱齒輪時會計算出其齒數、齒形和齒高等。
2.2漸開線圓柱齒輪幾何參數 2.2.1外嚙合標準圓柱齒輪傳動幾何尺寸計算
外嚙合標準圓柱齒輪傳動參數計算如表1。
表1 外嚙合標準圓柱齒輪傳動參數
2.2.2外嚙合高度變位齒輪傳動的幾何尺寸計算
外嚙合高度變位齒輪傳動的參數計算如表2。
表2 外嚙合高度變位齒輪傳動的參數
2.2.3內嚙合標準齒輪傳動的幾何尺寸計算
內嚙合標準齒輪傳動的參數計算如表3。
表3 內嚙合標準齒輪傳動的參數
2.2.4內嚙合高度變位齒輪傳動的幾何尺寸計算
內嚙合高度變位齒輪傳動的參數計算如表4。
表4 內嚙合高度變位齒輪傳動的參數
2.3本課題研究目標
計算出漸開線齒輪的模數、齒數、齒形、齒高、變位、基準齒形和參數(GB/T1356-1988)、模數系列(GB/T1357-1987)、傳動類型和基本參數、變位系數的選擇、漸開線圓柱齒輪的齒厚測量計算、精度選擇和強度計算。
本課題研究的幾何尺寸計算的適用范圍包括:
1、標準圓柱齒輪(直,螺旋)
2、外嚙合(高度變位)圓柱齒輪(直,螺旋)
3、內嚙合標準齒輪(直齒)
4、內嚙合(高度變位)圓柱齒輪(直,螺旋)
3. 軟件的具體實現 3.1系統實現的環(huán)境
本設計軟件使用C#語言開發(fā),開發(fā)平臺為VS2005軟件,運行環(huán)境是Windows XP
3.2軟件的總流程圖
圖2 程序總流程圖
3.3軟件實現的主界面
圖3 計算外嚙合齒輪副時的界面
圖4 計算外嚙合齒輪副時的界面
圖5 精度計算時的運行界面
3.4 實現的部分代碼 3.4.1實現的主要功能
1、 外嚙合齒輪幾何參數和齒厚計算的功能模塊
private void button1_Click(object sender, EventArgs e) //外嚙合計算
{
if (tBoxα.Text != "20") //判斷輸入是否為標準輸入
str = "請輸入標準齒形角α!n";
else if (Convert.ToInt32(tBoxβ.Text) < 0 || Convert.ToInt32(tBoxβ.Text) > 45)
str += "請選擇合理的螺旋角β!n";
else if (Convert.ToInt32(tBoxha.Text) != 1)
str += "請選擇合理的齒頂高系數!n";
else if (Convert.ToDouble(tBoxc.Text) != 0.25)
str += "徑向間隙系數選擇不正確,請重新填寫!n";
else if (Convert.ToDouble(tBoxr.Text) != 0.38)
str += "齒根圓角半徑系數選擇不夠準確!n";
else if (Convert.ToDouble(Convert.ToInt32(Convert.ToDouble(tBoxZ1.Text))) != Convert.ToDouble(tBoxZ1.Text) || Convert.ToDouble(Convert.ToInt32(Convert.ToDouble(tBoxZ2.Text))) != Convert.ToDouble(tBoxZ2.Text))
str += "齒數請輸入為整數!n";
else //分別把輸入的值賦給各變量
{
α1 = Convert.ToInt32(tBoxα.Text);
β1 = Convert.ToDouble(tBoxβ.Text);
α2 = Math.PI * α1 / 180;
β2 = Math.PI * β1 / 180;
n = Math.Cos(β2);
u = 1;
m = Convert.ToDouble(tBoxm.Text);
ha = Convert.ToInt32(tBoxha.Text);
hat = ha * n;
c = Convert.ToDouble(tBoxc.Text);
ct = c * n;
r = Convert.ToDouble(tBoxr.Text);
rt = r * n;
if (tBoxpa_s.Enabled) //標準齒輪幾何參數計算
{
Z0 = Convert.ToInt32(tBoxZ1.Text);
ha01 = ha * m;
hf0 = 1.25 * m;
h0 = ha01 + hf0;
if (tBoxβ.Text != "0")
{
a0 = Z0 * m / n;
d0 = m * Z0 / n;
}
else
{
a0 = Z0 * m;
d0 = m * Z0;
}
a = a0;
da0 = d0 + 2 * ha01;
df0 = d0 - 2 * hf0;
db0 = d0 + Math.Cos(α2);
pa = Math.PI * m * Math.Cos(α2);
//標準齒輪齒厚計算
sc0 = 0.5 * Math.PI * m * Math.Cos(α2) * Math.Cos(α2);
hc0 = ha01 - Math.PI * m * Math.Sin(2 * α2) / 8;
invαt = Math.Tan(α2) - α2;
if (tBoxβ.Text != "0")
{
s0 = m * Z0 * Math.Sin(Math.PI * n * n * n / (2 * Z0)) / (n * n * n);
ha02 = 0.5 * da0 - (0.5 * m * Z0 / (n * n * n)) * (Math.Cos(Math.PI * n * n * n / (2 * Z0)) - Math.Sin(β2) * Math.Sin(β2));
k0 = (α1 / 180) * Z0 + 1;
W0 = (Math.PI * (k0 - 0.5) + Z0 * invαt) * m * Math.Cos(α2);
}
else
{
s0 = m * Z0 * Math.Sin(Math.PI / (2 * Z0));
ha02 = 0.5 * da0 - 0.5 * m * Z0 * Math.Cos(Math.PI / (2 * Z0));
k0 = (α1 / 180) * Z0 + 1;
W0 = (Math.PI * (k0 - 0.5) + Z0 * invαt) * m * Math.Cos(α2);
}
}
計算外嚙合和內嚙合各種齒輪,原理基本一樣,重點注意的是取值的精確度問題,以及弄清各參數之間的關系,以便于計算,避免數值的混淆。
2、確定部分重要精度參數的取值函數
public static int fpb_value(double x, double y, string z) //基節(jié)極限偏差fpb取值
{…}
public static int Fβ_value(int x, string y) //齒向公差Fβ取值
{…}
public static double fa_value(double x, string y) //中心距極限偏差fa取值
{…}
public static int fpt_value(double x, double y, string z) //齒距極限偏差fpb取值
{…}
public static int Fr_value(double x, double y, string z) //齒圈徑向跳動公差Fr取值
{…}
public static double br_value(string x, double d) //切齒徑向進刀公差br取值
{…}
public static char code_value(double x) //偏差代號
{…}
3.4.2軟件實現和傳統人工計算的比較
對齒輪進行設計時,傳統的人工計算具有很大的局限性,下面就列舉兩個比較突出的例子進行比較說明。
1、在計算幾何參數時,已知參數invα且invα=tanα-α,要番過來求α的值,此設計中我使用的二分法查找的思想來求解(代碼如下),其中取值的精度精確到了10-8。如果如此龐大的計算量進行人工計算,工作量可想而知,而且有存在很大的誤差甚至是錯誤的可能,但借用了此計算機輔助軟件,立刻就可以得到滿意的答案。
private double inv(double x)
{
double f = 0, r = Math.PI / 2, b, fun; //設置變量f,r,b,fun
b = Math.PI / 4; //因為0<α<(π/2),所以取第一個二分時b=π/4
fun = Math.Tan(b) - b; //求出當b=π/4時fun的值
while (Math.Abs(fun - x) > 0.00000001) //當誤差小于10-8時跳出循環(huán)
{
if (fun - x > 0) //若fun大于x,取中間值的左邊區(qū)間進行循環(huán)
{
r = b;
b = (f + r) / 2; //取新區(qū)間的中值
fun = Math.Tan(b) - b;
}
else if (fun - x < 0) //若fun小于x,取中間值的右邊區(qū)
{ 間進行循環(huán)
f = b;
b = (f + r) / 2; //取新區(qū)間的中值
fun = Math.Tan(b) - b;
}
else //若fun與x的值相等,跳出循環(huán)
break;
}
return(b);
}
求解過程流程圖如下圖圖6。
圖6 用二分法求解過程流程圖
2、求內嚙合高度變位齒輪的齒厚尺寸的大輪固定弦齒高和分度圓弦齒高時,公式如下:
1)固定弦齒高:
hc2 = 0.5 * (d2 - da2 - sc2 * Math.Tan(α2)) + 0.5 * da2 * (1 - Math.Cos(δa2));
其中,有需要計算參數δa2:
δa2 = Math.PI / (2 * Z2) - invαt - 2 * Math.Tan(α2) * x2 / Z2 + invαa2;
2)分度圓弦齒高:
ha2L = 0.5 * d2 * (Math.Cos(delta) - Math.Sin(β2) * Math.Sin(β2)) / (n * n) - 0.5 * da2 + 0.5 * da2 * (1 - Math.Cos(δa2));
其中,又需要計算參數delta:
delta = (Math.PI / (2 * Z1) + 2 * x1 * Math.Tan(α2) / Z1) * n * n * n;
如此繁雜、工作量大的計算量,進行人工計算同時也是件很苦難、很難實現的事情。
4.結論
正由于在產品的設計過程中齒輪幾何參數的選擇是影響產品具有良好的嚙合和節(jié)能低耗效果的重要因素,如果齒輪在設計時參數的選擇不夠精確,只是采用人工憑經驗的估算(而且有存在計算錯誤的風險),將直接影響所生產產品的質量,有損企業(yè)的發(fā)展。借助計算機輔助軟件,就可以很大程度上減低了這方面的成本和風險。在加工齒輪時,技術人員經常要進行各種齒輪幾何及嚙合參數的計算。傳統方法用手工、計算器及查表計算、速度慢、精度低,即使是價格較貴的可編程計算器也遠不能滿足高精度復雜計算的要求。而市場上用于齒輪計算的軟件都較貴,且不適合部分中小企業(yè)的設計需要。為此,設計了此漸開線圓柱齒輪的幾何參數計算的計算機輔助軟件。
參考文獻
①江耕華,胡來瑢,陳啟松等.機械傳動設計手冊(上冊)[M].北京:煤炭工業(yè)出版社,1982.
②齒輪精度國家標準宣貫工作組.齒輪精度國家標準應用指南[M].北京:兵器工業(yè)出版社,1990.
③北京業(yè)余機械學院工人班集體.齒輪原理與制造[M].北京:科學出版社,1971.
④馬駿.C#網絡應用編程基礎[M].北京:人民郵電出版社,2008.
, , ⑤羅斌.Visual C#.NET精彩編程實例集錦[M].北京:中國水利水電出版社,2005.
⑥明日科技.C#開發(fā)經驗技巧寶典[M].北京:人民郵電出版社,2008.
更多計算機與外設信息請關注:21ic計算機與外設頻道