










摘 要:基于工控機(jī)和運(yùn)動控制卡相結(jié)合的軟硬件插補(bǔ),提出一種新的實(shí)時刷新數(shù)據(jù)的方法。 根據(jù)非圓齒輪的設(shè)計(jì)理論,以橢圓齒輪為例,利用 MATLAB GUI 界面設(shè)計(jì)功能,設(shè)計(jì)出速度和傳動比的圖形界面,給出設(shè)計(jì)過程。 應(yīng)用實(shí)例表明,這一系統(tǒng)界面友好,設(shè)計(jì)正確。
關(guān)鍵詞:軟硬件插補(bǔ) 實(shí)時刷新 橢圓齒輪 MATLAB GUI
橢圓齒輪是目前應(yīng)用最廣泛的非圓齒輪。 筆者基于具有視窗操作系統(tǒng),利用 MATLAB 軟件作為開發(fā)工具,就有效滾切加工橢圓齒輪提出一種新的方案。
1 、非圓齒輪數(shù)學(xué)模型的建立
數(shù)控滾齒機(jī)加工直齒非圓齒輪必須具有以下 5 種控制運(yùn)動才可以構(gòu)成齒形滾切聯(lián)動關(guān)系。① 滾刀自身的回轉(zhuǎn)運(yùn)動 ωb(主 運(yùn)動 );② 滾 刀與工件中心距離的相對運(yùn)動(沿 X 軸);③ 滾刀的竄刀運(yùn)動(沿 Y 軸);④ 滾刀沿齒坯軸線方向的軸向運(yùn)動(沿Z 軸);⑤ 工作臺自身的回轉(zhuǎn)運(yùn)動 ωc。
直齒非圓齒輪數(shù)控滾切加工過程的運(yùn)動關(guān)系如圖1 所示,其中,Z 軸不參與聯(lián)動。設(shè)工件節(jié)曲線的極坐標(biāo)方程為 r=f(θ),r 的模記為|r|,切線與極徑的夾角 μ 為:


由文獻(xiàn)[1]可知,直齒非圓齒輪數(shù)控滾切加工的位移運(yùn)動模型參數(shù)可以通過如下表述。

工件角速度:

為保證滾刀和齒坯作純滾動,滾刀和工件在 Y 軸方向的速度要一致, 故以竄刀位移補(bǔ)償為例來計(jì)算滾刀 Y 軸方向的速度,即:

2 、橢圓齒輪數(shù)學(xué)模型的建立
根據(jù)直齒非圓齒輪的運(yùn)動模型, 以橢圓齒輪為例建立滾切加工的運(yùn)動模型。 鑒于本文需要得出變傳動比、各軸速度,在此只介紹速度運(yùn)動模型。橢圓齒輪節(jié)曲線方程為:
由文獻(xiàn)[1]可知,橢圓齒輪節(jié)曲線的周長計(jì)算公式為:



設(shè)計(jì)時,初步選定橢圓齒輪偏心率 e、模數(shù) m、齒數(shù) z,再根據(jù)橢圓齒輪節(jié)曲線封閉性要求(L=πmz),可以計(jì)算出節(jié)曲線的長半軸 a。
橢圓齒輪的速度運(yùn)動模型為:

當(dāng)然,在橢圓齒輪設(shè)計(jì)過程中,還需要進(jìn)行凹凸性校驗(yàn)、壓力角校驗(yàn)、根切校驗(yàn)等[3],在此就不再贅述。
3 、滾齒數(shù)控系統(tǒng)的軟件結(jié)構(gòu)
計(jì)算機(jī)數(shù)控系統(tǒng)是一種位置控制系統(tǒng),即對輸入的 NC 代碼數(shù)據(jù)進(jìn)行相應(yīng)的處理, 然后將數(shù)據(jù)段插補(bǔ)出理想的刀具運(yùn)動軌跡, 并將插補(bǔ)結(jié)果輸出到執(zhí)行部件。該系統(tǒng)的工作流程主要包括零件加工程序譯碼、數(shù)據(jù)處理、插補(bǔ)、速度和位置控制、伺服系統(tǒng)控制、檢測等,如圖 2 所示。

在 PC 內(nèi)嵌 CNC 型開放式數(shù)控系統(tǒng)結(jié)構(gòu)中,工控機(jī)利用其本身豐富的軟件資源,完成非實(shí)時和弱實(shí)時任務(wù),運(yùn)動控制卡則用于實(shí)現(xiàn)實(shí)時性較強(qiáng)的任務(wù),如速度控制、位置控制等。在插補(bǔ)計(jì)算功能的實(shí)現(xiàn)上,可以采用二次插補(bǔ)的方法,即上位工控機(jī)完成數(shù)據(jù)的粗插補(bǔ), 下位運(yùn)動控制卡完成數(shù)據(jù)的精插補(bǔ),這樣可以避免主機(jī) CPU 在進(jìn)行運(yùn)算操作時造成計(jì)算延遲和通信延遲,在伺服更新率、執(zhí)行速率、伺服算法的項(xiàng)數(shù)方面,都可以獲得相當(dāng)大的提高[5]。
加工圓柱齒輪與橢圓齒輪的不同之處是, 在滾切過程中,橢圓齒輪加工時需要實(shí)時獲得刷新的數(shù)據(jù),而圓柱齒輪是定比傳動, 只要按照設(shè)定的參數(shù)加工齒輪即可。 黨華甫[6]
對數(shù)控滾齒運(yùn)動控制卡進(jìn)行了研究,將變速比參數(shù)放在控制器中實(shí)時刷新,這樣,增加了下位機(jī)進(jìn)行大量數(shù)據(jù)計(jì)算時的負(fù)擔(dān), 從而導(dǎo)致響應(yīng)速度變慢。
對此,筆者將工件和滾刀的速度及變速比等實(shí)時數(shù)據(jù)先在上位機(jī)上用函數(shù)曲線的形式表達(dá)出來, 然后通過總線將數(shù)據(jù)傳輸給下位機(jī), 下位機(jī)控制卡在控制各軸運(yùn)動之前, 便獲取所要加工非圓齒輪的所有相關(guān)數(shù)據(jù),不需要在控制卡內(nèi)實(shí)時刷新數(shù)據(jù),從而減輕了控制卡的負(fù)擔(dān),實(shí)現(xiàn)橢圓齒輪的滾切加工。
4 、人機(jī)界面設(shè)計(jì)及通信
在人機(jī)界面的設(shè)計(jì)中, 應(yīng)用程序的實(shí)現(xiàn)需要數(shù)控系統(tǒng)幾個基本界面 (如狀態(tài)顯示界面、 故障診斷界面等)的配合,除此之外,還需要增加一個子模塊,即速度和變傳動比的圖形界面模塊。
由于篇幅有限,本文只介紹圖形界面模塊。確 定 齒 輪 與 工 件 運(yùn) 動 關(guān) 系 各 種 參 數(shù) 后 , 采 用MATLAB GUI 軟件進(jìn)行圖形界面設(shè)計(jì)。 人機(jī)界面是人機(jī)交互的聯(lián)系紐帶, 應(yīng)當(dāng)體現(xiàn)出人機(jī)交互的友好性和操作的簡便性。
在界面設(shè)計(jì)中,主要涉及內(nèi)容包括輸入?yún)?shù)(橢圓齒輪參數(shù)和滾刀參數(shù))、輸出參數(shù),以及輸出曲線圖形,如圖 3 所示。

在建立好便于用戶操作的人機(jī)界面后 , 在MATLAB 中調(diào)用函數(shù)以實(shí)現(xiàn)各按鈕的功能。實(shí)現(xiàn)計(jì)算功能的代碼如下:
function [ans]=fun(n,e,m,z)

在 MATLAB 端進(jìn)行實(shí)時串行通信, 完成對運(yùn)動控制卡的控制及管理功能。
為了滿足控制卡的 實(shí) 時 通 信 要 求 ,達(dá)到實(shí)時處理下位機(jī)傳輸數(shù)據(jù)的目的, 筆者采用一種將事件中斷函數(shù)寫入 GUI 組 件 函 數(shù) 的 方式。
此方法編程簡單,數(shù)據(jù)處理方便, 開發(fā)效率相對得到很大提高。
5、 應(yīng)用實(shí)例
加 工 一 橢 圓 齒 輪 ,其參數(shù)為: 階數(shù) n=3,模數(shù) m=10 mm,偏心率 e=0.1, 齒 數(shù) z =30, 滾 刀 頭數(shù) K=4, 滾 刀轉(zhuǎn)速 ωb=180 rad/s。打 開 MATLAB 軟件,運(yùn)行程序后,輸入設(shè)計(jì)參數(shù),點(diǎn)擊計(jì)算按鈕,得到輸出參數(shù), 點(diǎn)擊繪圖按鈕, 得到相應(yīng)的坐標(biāo)函數(shù)曲線, 如圖 4 所示。

點(diǎn)擊清除按鈕,重新輸 入 參 數(shù) : n =4,m =10mm,e =0.05,z =30,K =4,ωb=180 rad/s, 所 得如圖5 所示

6 、結(jié)束語
位置控制系統(tǒng)的好壞與插補(bǔ)有很大的關(guān)系, 軟硬件相結(jié)合的插補(bǔ)是目前最好的方案。 筆者在工控機(jī)上設(shè)計(jì)一個功能模塊來實(shí)現(xiàn)橢圓齒輪滾切加工所需的數(shù)據(jù),可編程專用硬件插補(bǔ)芯片(FPGA)獲取上位機(jī)的數(shù)據(jù)信息來完成精插補(bǔ), 此方案類似于圓柱齒輪定傳動比滾切加工,而且由上述實(shí)例可知,功能模塊設(shè)計(jì)是可行的。
來源:蘭州理工大學(xué) 機(jī)電工程學(xué)院 作者:姚鳳偉 鄔再新 鄢誠摯 毅
