高雪強(qiáng), 石建玲, 崔振勇
(河北科技大學(xué),河北 石家莊 050018)
非圓齒輪傳動機(jī)構(gòu)能實(shí)現(xiàn)非勻速比傳動,即當(dāng)主動齒輪作勻速轉(zhuǎn)動時,被動齒輪作變速運(yùn)動,常被用來傳遞某些特定的運(yùn)動。由于非圓齒輪的節(jié)曲線為非圓形,致使設(shè)計(jì)和制造要比圓形齒輪復(fù)雜的多。為了節(jié)約設(shè)計(jì)時間,降低制造成本,可利用現(xiàn)代計(jì)算機(jī)技術(shù),編程實(shí)現(xiàn)非圓齒輪的計(jì)算機(jī)輔助設(shè)計(jì)。本文通過對三維軟件 Solid Edge的二次開發(fā),實(shí)現(xiàn)了齒輪傳動的運(yùn)動仿真,直觀的觀測到輪齒的嚙合情況,可驗(yàn)證設(shè)計(jì)結(jié)果。
目前市場上比較成熟的三維機(jī)械CAD軟件有UG、Pro/Engineer、Solid Works、Solid Edge等,雖然這些軟件具有良好的三維實(shí)體造型功能,但還無法實(shí)現(xiàn)非圓齒輪實(shí)體建模及運(yùn)動仿真。本系統(tǒng)以三維軟件Solid Edge為平臺,通過二次開發(fā)實(shí)現(xiàn)非圓齒輪傳動的運(yùn)動仿真。
Solid Edge由Microsoft Windows操作系統(tǒng)平臺開發(fā)而成,是基于參數(shù)和特征實(shí)體造型的新一代機(jī)械設(shè)計(jì)CAD系統(tǒng)。Solid Edge提供了多種開發(fā)軟件集成方案,可以方便地開發(fā)出自己的應(yīng)用程序來擴(kuò)展Solid Edge的功能,或?qū)olid Edge集成到自己的應(yīng)用程序中來。Solid Edge二次開發(fā)基于ActiveX Automation技術(shù),通過編寫應(yīng)用程序,調(diào)用Solid Edge API函數(shù),來控制和操縱Solid Edge,使其將設(shè)計(jì)計(jì)算、數(shù)據(jù)處理和圖形繪制等進(jìn)行綜合處理,實(shí)現(xiàn)軟件的參數(shù)化、自動化、智能化,準(zhǔn)確、高效地完成設(shè)計(jì)目的。
Solid Edge提供了完整的API接口, C、C++、Visual Basic等眾多語言都可以對其進(jìn)行二次開發(fā),得到功能強(qiáng)大的應(yīng)用軟件。本系統(tǒng)采用Visual Basic語言做為開發(fā)工具,編制應(yīng)用程序界面,錄入設(shè)計(jì)參數(shù),進(jìn)行非圓齒輪設(shè)計(jì)的相關(guān)計(jì)算及圖形處理,編譯程序并生成可執(zhí)行程序供Solid Edge程序調(diào)用。
采用Visual Basic開發(fā)時,需調(diào)用Solid Edge特有的對象和方法,這些特有的對象和方法要由Solid Edge自帶的類型庫文件提供。因此,使用VB進(jìn)行二次開發(fā)時,首先要在工程中引用Solid Edge類型庫,才能通過ActiveX Automation訪問Solid Edge提供的所有對象[1]。
Visual Basic對Solid Edge進(jìn)行二次開發(fā)的基本步驟為:在Visual Basic中新建一個標(biāo)準(zhǔn)的工程項(xiàng)目;引用Solid Edge的類型庫;在Visual Basic窗體相應(yīng)的對象的事件過程添加相應(yīng)的程序代碼;運(yùn)行工程項(xiàng)目。圖1表示Visual Basic語言、ActiveX對象與Solid Edge程序的關(guān)系。

圖1 VB語言、ActiveX對象與Solid Edge程序的關(guān)系
由于非圓齒輪主、從動輪節(jié)曲線的切點(diǎn)位置是一一對應(yīng)的,因此輪齒在節(jié)曲線上的位置不能隨意定。如圖2所示,主動輪節(jié)曲線上的I1、I2點(diǎn),分別與從動輪節(jié)曲線上的Ⅱ1、Ⅱ2點(diǎn)相切。若 I1I2是主動輪的一個輪齒齒厚的話,Ⅱ1Ⅱ2必須是從動輪的一個齒槽寬度[2]。
相互嚙合的兩輪齒在各自節(jié)曲線上的位置由下面的方法得到:在齒輪1節(jié)曲線上確定一個點(diǎn)I1作為起點(diǎn),通過計(jì)算弧長,按節(jié)距p及弧齒厚s依次確定輪齒的左右兩側(cè)及各個輪齒在節(jié)曲線上的位置 I1、I2、I3、…。齒輪 2節(jié)曲線上的Ⅱ1應(yīng)是和 I1相切的點(diǎn),同樣通過計(jì)算弧長,依次確定Ⅱ1、Ⅱ2、Ⅱ3、…等點(diǎn)。
當(dāng)非圓齒輪主動輪勻速轉(zhuǎn)動時,從動輪做非勻速轉(zhuǎn)動,兩齒輪轉(zhuǎn)角傳動關(guān)系為

圖2 輪齒在節(jié)曲線上的位置
當(dāng)一對非圓齒輪的傳動比函數(shù) i12及中心距A確定后,就可唯一確定兩非圓齒輪的節(jié)曲線,從而進(jìn)行齒形的設(shè)計(jì)計(jì)算及三維建模,過程如下:
(1)根據(jù)設(shè)計(jì)要求,給出傳動比函數(shù)i12;確定非圓齒輪的模數(shù)m 和齒數(shù)z;
(2)根據(jù)齒輪節(jié)曲線的周長S應(yīng)等于齒距的整數(shù)倍,即S=πmz,通過數(shù)值積分求得兩齒輪中心距A;
(3)由i12和A,求得符合設(shè)計(jì)要求的節(jié)曲線方程;
(4)根據(jù)齒距p=πm,通過數(shù)值積分確定出各輪齒在節(jié)曲線上的位置;
(5)由齒頂線、齒根線及齒廓線方程,計(jì)算出各輪齒坐標(biāo);
(6)在Solid Edge零件環(huán)境中創(chuàng)建齒輪三維實(shí)體,進(jìn)行根切校驗(yàn)、凸性校驗(yàn)、壓力角計(jì)算等;
(7)在Solid Edge裝配環(huán)境中實(shí)現(xiàn)齒輪傳動模擬。
系統(tǒng)程序設(shè)計(jì)流程如圖3所示。

圖3 程序流程圖
當(dāng)兩個相互嚙合的非圓齒輪三維實(shí)體制作完成后,首先要創(chuàng)建一個新的裝配文檔。在新建的裝配環(huán)境下設(shè)置兩齒輪的初始位置,指定主動輪的轉(zhuǎn)動中心,計(jì)算確定從動輪的轉(zhuǎn)動中心,然后將制作好的主動和被動齒輪調(diào)入新建的裝配環(huán)境,部分程序代碼如下:

將相互嚙合的兩齒輪調(diào)入后,通過時間控件及轉(zhuǎn)角關(guān)系實(shí)現(xiàn)嚙合傳動,部分程序代碼如下:

本文以工程中應(yīng)用最為廣泛的橢圓齒輪為例,通過編程實(shí)現(xiàn)其運(yùn)動仿真。本模塊設(shè)計(jì)界面如圖4所示,通過對話框輸入齒輪設(shè)計(jì)參數(shù)、選擇傳動形成,并可對所要設(shè)計(jì)的非圓齒輪進(jìn)行根切校驗(yàn)、凸性校驗(yàn)及壓力角計(jì)算等。圖5為一對一階橢圓齒輪在不同位置的嚙合傳動實(shí)例,圖6為一階橢圓齒輪嚙合三階橢圓齒輪在不同位置的嚙合傳動實(shí)例。為了便于觀察和研究,程序的設(shè)計(jì)既可實(shí)現(xiàn)連續(xù)運(yùn)動,也可保留瞬時狀態(tài)。

圖4 齒輪參數(shù)輸入及傳動選擇界面

圖5 一階橢圓齒輪嚙合傳動仿真

圖6 三階橢圓齒輪嚙合傳動仿真
本文研究了基于三維軟件Solid Edge的二次程序開發(fā)方法,實(shí)現(xiàn)了非圓齒輪三維建模及嚙合傳動的運(yùn)動仿真,為非圓齒輪的設(shè)計(jì)提供了一種既經(jīng)濟(jì)又有效的途徑。系統(tǒng)運(yùn)行效果良好,嚙合傳動過程直觀、準(zhǔn)確。
[1]曾 紅, 等. Solid Edge高級應(yīng)用教程[M]. 北京: 機(jī)械工業(yè)出版社, 2008. 22-23.
[2]吳序堂, 等. 非圓齒輪及非勻速比傳動[M]. 北京:機(jī)械工業(yè)出版社, 1997. 40-41.