0 引言
在擠塑機 、注塑機等塑料機械上 , 螺桿是關鍵零件 。 這類螺桿結構形狀復雜 ,精度要求較高 。 常用的有圓柱形 、圓錐形 、雙圓錐形 、等導程 、變導程 、漸變導程 、等槽深 、變槽深等等 。 當其導程是漸變的時 ,用一般的機床是無法按設計要求完成加工的 。多年來 ,加工這類螺桿的數控機床一直依賴進口 。由于是專用設備 , 價格一直居高不下 ,且對用戶有著種種用途限制 。
為擺脫這種受制于人的局面 , 我廠與國內的數控系統生產廠家合作開發了一種專門用于銑削塑料機械行業中各種異形螺桿的系列數控銑床 。使用的數控系統 , 內裝有一組用于銑削漸變螺旋線的軟件 。由于此軟件較特殊 ,數控系統廠家只此一家 ,故系統的價格多年來一直降不下來 , 嚴重影響了整個機床的性價比 。另外 ,有的客戶由于對某種系統較熟悉 ,要求使用該系統等等 。在這種專用銑床投放市場幾年后 ,種種理由要求我們能選配多種數控系統來完成對它的控制 。
作為技術人員 ,提高產品的性價比 ,努力滿足每一個用戶的要求 ,幫助銷售人員擴大市場占有率是職責所在 。在涉及塑料行業幾年后 ,我們發現 , 在塑料行業中 , 絕大部分異型螺桿是導程線性變化的螺桿 。于是我們克服了種種困難 ,終于編制出一套用于加工導程線性變化的變導程螺旋線的程序 。
1 思路
導程線性變化的變導程螺旋線展開后是一條拋物線 。 任意拋物線經變換后均可寫成如式 ( 1) 的形式 :
Z=a *C 2 ( 1)
其中 : Z—升距 ;
a —拋物線系數 ;
C—轉角值 。
經推導 ,得出拋物線上任意兩點有如下關系式 :
T i +1 -T i=4πa ( C i + 1 -C i)= 4πa ■C ( 2)
L i + 1 -L i=■L *2*a *■C 2 ( 3)
其中 : T i—任一點導程 , T i=2πK i;
K i—展開螺旋線在該點的斜率 ;
L—i定點間的螺距 。
由式 ( 2) 、( 3) 可知 , 假設展開螺旋線上相鄰點的轉角相等 ,那么其上的導程變化就是線性變化的 ,當已知相鄰點間的導程 ,根據式 ( 2) 和式 ( 3) 就可求出展開螺旋線上的任一點的導程 。
我們的思路是 : 在坐標系中 , 根據旋轉軸上的坐標 ,把轉角細分為一度一度的小段 ,計算出直線軸上每一度要移動的距離 , 用每一組相應的尺寸編入聯動指令移動即可 。
線性變化的變導程螺旋線的導程增量在每一圈是相等的 ,每一圈的平均導程依次組成一個等差數列 。長 Z的螺旋線 ,起始點點導程為 R, N圈后導程變為 R+N K( 每一圈的導程的增量為 K) , N=2Z/( R+R+NK) ,旋轉的總的角度 C=360 N , 在這五個變量中 ,只要知道 C 、R、K ,就可計算出 N、Z ; 或知道 Z 、R、K,就可計算出 N、C 。
例如知道 C、R 、K,就可計算出 N、Z :
由于 C有正負 ,計算時取絕對值 。
N=C/360;
L 1 =R+K/2; /第一圈的平均導程。
L 2 =L 1 +( N-1)K; /最后一圈的平均導程。
Z=N( L 1 +L 2)/2; /C對應螺旋線的長度。
■L=K/360; /每一度的導程增量。
R1=(R+R+■L )/2; /第一度平均導程。
L 11 =R1/360; /第一度螺旋線的長度。
■X 1 =X*L 11/L ; /第一度螺旋線的變深。
R 2 =(R+■L+R+■L+■L )/2;/第二度平均導程 R1 +■L 。
L 12 =P 2/360; /第二度螺旋線的長度。
■X 2 =X*L 12/Z ; /第二度螺旋線的變深。
第三度 、第四度 、第五度 … …,依次類推 ,直至移動完 C中所有的整數角度 。
再把三軸所有的余數 ■C 、■Z 、■X在一個三軸聯動的程序段里移動完畢 。
同理 ,知道 Z 、R 、K ,就可計算出 N 、C 。
這樣 ,我們可以在調用程序時賦予六個參數值 :
X 、R 、K 、D 、F 、Z或 C ,就可得出一條很平滑的變深變導程螺旋線或等深變導程螺旋線 。
2 程序
在 F A N U C0i -M C系統的宏程序平臺上 ,我們編出的程序如下 :
C : # 3
Z : # 26
X : # 24
R : # 18
K : # 6
F : # 9 /加工時的刀具移動速度 。
D : # 7 /賦值為 Z時是 C軸的旋轉方向 , 賦值為 C時是Z軸的移動方向 。
I F[ # 3 E Q# 0] G O T O1 /如賦值是 Z , 從 N1開始執行 。
# 15 =A B S [ # 3] /如賦值是 C , 取絕對值 , 開始計算執行 。
# 19 =2*# 18 +# 6/360/720 /計算第一度螺旋線的長度 。
# 1 =# 18 + # 6/2 /第一圈的平均導程 。
# 4 =# 1 +[ [ # 15 -360] *# 6] /360 /最后一圈的平均導程
# 25 =# 15*[ [ # 15 -360] *# 6] /中間值 。
# 26 =# 15*# 1/360 +# 25/[ 720* 360] /C對應螺旋線的長度 。
# 27 =A B S [ # 26] /# 26的絕對值 。
# 18 =# 18 +# 6/720 /第一度平均導程 。
WH I L E [ # 16 L T [ # 15 -1] ] D O 1 /移動完 C中所有的整數角度后 , 結束循環 。
# 23 =# 24*# 19/# 27 /每一步中 X軸上的移動量 。
I F[ # 3 L T0] G O T O10 /如 C小于零 , 則跳轉至 N 10。
I F[ # 7 E Q 0] G O T O 5 /如 D等于零 , 則跳轉至 N5, 此時 C大于零 。
G01 X # 23 Z- # 19 C 1 F # 9 /C大于零 , D不等于零 , 則執GOTO100 行此移動指令 , 然后跳轉至 N 100。
N5G 01 X# 23 Z # 19 C 1 F # 9 /C大于零 , D等于零 , 則執GOTO100 行此移動指令 , 然后跳轉至 N 100。
N10 I F[ # 7 E Q 0] G O T O 15 /如 D等于零 , 則跳轉至N15, 此時 C小于零 。
G 01 X # 23 Z-# 19 C-1 F # 9 /C小于零 , D不等于零 , 則GOTO100 執行此移動指令 , 然后跳轉至 N100。
N15 G01 X # 23 Z # 19 C-1 F # 9 /C小于零 , D等于零 , 則執行此移動指令 。
N100 # 20 =# 20 +# 19 /已移動過的 Z軸距離 。
# 16 =# 16 +1 /已轉過的 C軸角度 。
# 18 =# 18 +# 6/360 /后面一度中的導程 。
# 19 =# 18/360 /后面一度對應的 Z軸要移動的距離 。
# 21 =# 21 +# 23 /后面一度對應的 X軸要移動的距離 。
END1/跳轉至 WH I L E[ # 16 L T[ # 15 -1] ] D O1判斷 ,如條件滿足 , 則繼續循環 , 否則 , 結束循環 。
# 17 =A B S [ # 3] -# 16 /結束循環后 , C軸還需要轉動的角度 。
# 28 =# 27 -# 20 /結束循環后 , Z軸還需要移動的距離 。
# 22 =# 24*# 28/# 27 /結束循環后 , X軸還需要移動的距離 。
I F[ # 3 L T0] G O T O 110 /如 C小于零 , 則跳轉至 N110。
I F[ # 7 E Q 0] G O T O 105 /如 D等于零 , 則跳轉至 N 5,此時 C大于零 。
G 01 X # 22 Z-# 28 C # 17 F # 9 /C大于零 , D不等于零 , 則GOTO200 執行此移動指令 , 然后跳轉至 200。
N105 G 01 X # 22 Z # 28 C # 17 F # 9 /C大于零 , D等于零 ,GOTO200 則執行此移動指令 , 然后跳轉至 N200。
N110 I F[ # 7 E Q 0] G O T O 115 /如 D等于零 , 則跳轉至N115, 此時 C小于零 。
G 01 X # 22 Z-# 28 C- # 17 F # 9 /C小于零 , D不等于零 ,GOTO200 則執行此移動指令 , 然后跳轉至 N200。
N115 G 01 X # 22 Z # 28 C-# 17 F # 9 /C小于零 , D等于
GOTO200 零 , 則執行此移動指令 , 然后跳轉至 N 200。
N1# 27=A B S [ # 26] /如賦值是 Z , 取絕對值 , 開始計算執行 。
# 1 =# 18 +# 6/2 /第一圈的平均導程 。
# 14 =# 6*# 1 -# 1*# 1-2*# 27*# 6 /中間值 。
# 4 = [ -# 6 +S Q R T [ # 6*# 6 -4*# 14] ] /2 /最后一圈的平均導程 。
# 5 =[ 2*# 27] /[ # 1 + # 4] /N 。
# 3 =360*# 5 /Z對應的總的旋轉角度 。
# 19 =[ 2*# 18 +# 6/360] /720 /計算第一度螺旋線的長度 。
# 18 =# 18 +# 6/720 /第一度平均導程 。
WHI L E[ # 20 L T [ # 27 -# 19] ] D O1 /移動完 C中所有的整數度后 , 結束循環 。
# 23 =# 19*# 24/# 27 /每一步中 X軸上的移動量。
I F[ # 26 L T0] GOT O 16 /如 Z小于零, 則跳轉至 N16。
I F[ # 7 E Q 0] GOT O 11 /如 D等于零, 則跳轉至 N11,此時 Z大于零。
G01 X# 23 Z # 19 C-1 F # 9 /Z大于零, D不等于零 , 則執GOTO101 行此移動指令, 然后跳轉至 N 101。
N11 G01 X# 23 Z # 19 C 1 F # 9 /Z大于零, D等于零, 則執GOTO101 行此移動指令, 然后跳轉至 N 101。
N16 I F [ # 7 E Q 0] GOT O 21 /如 D等于零, 則跳轉至N21, 此時, Z小于零。
G01 X# 23 Z-# 19 C-1 F # 9 /Z小于零, D不等于零, 則GOTO101 執行此移動指令, 然后跳轉至 N 101。
N21 G01 X# 23 Z-# 19 C 1 F # 9 /Z小于零, D等于零, 則執行此移動指令。
N101 # 20 =# 20 +# 19 /已移動過的 Z軸距離。
# 16 =# 16 +1 /已轉過的 C軸角度。
# 18 =# 18 +# 6/360 /后面一度中的導程。
# 19 =# 18/360 /后面一度對應的 Z軸要移動的距離。
# 21 =# 21 +# 23 /后面一度對應的 X軸要移動的距離。
END 1 /跳轉至 WHI L E[ # 20 L T [ # 27-# 19] ] DO 1判斷,如條件滿足, 則繼續循環, 否則, 結束循環。
# 17 =A BS [ # 3] -# 16 /結束循環后, C軸還需要轉動的角度。
# 28 =# 27 -# 20 /結束循環后, Z軸還需要移動的距離。
# 22 =# 24*# 28/# 27 /結束循環后, X軸還需要移動的距離。
I F[ # 26 L T 0] G OT O 116 /如 Z小于 零, 則 跳轉至N116。
I F[ # 7 E Q0] G OT O111 /如 D等于零, 則跳轉至 N 111,此時 Z大于零。
G01 X# 22 Z # 28 C-# 17 F # 9 /Z大于零, D不等于零, 則GOTO200 執行此移動指令, 然后跳轉至 N 200。
N111 G01 X# 22 Z # 28 C# 17 F # 9 /Z大于零, D等于零,GOTO200 則執行此移動指令, 然后跳轉至 N 200。
N116 I F[ # 7 E Q 0] G OT O 121 /如 D等于零, 則跳轉至N121, 此時 Z小于零。
G01 X# 22 Z-# 28 C-# 17 F # 9 /Z小于零, D不等于零,GOTO200 則執行此移動指令, 然后跳轉至 N 200。
N121 G01 X# 22 Z-# 28 C# 17 F# 9 /Z小于零, D等于零 , 則執行此移動指令。
N200 M99 /程序結束。
當同時輸入 C、Z時 ,則以 C為準 。編程時必須用相對值 。
3 應用
把此程序存入系統 , 加工螺桿時編程將簡化許多 。
例 如 , 加 工 一 段 長 240 mm, 起 始 點 導 程 是100 mm, 每一 圈的導 程增量 是 20 mm, 走刀 速度是100 mm/mi n ,不變深 。
程序為 : G 91 G 65 X 0 Z 240 R 100 K 20 D 0 F 100,則走出一條 Z軸由床頭到床尾 , C軸逆時針旋轉 , 第一圈導程為 110 mm, 第 二 圈導 程 為 130 mm, 點 導 程從100 mm 變到 140 mm的等深漸變導程左旋螺旋槽 。
程序為 : G 91 G 65 X 0 Z-240 R 100 K 20 D 0 F 100,則走出一條 Z軸由床尾到床頭 , C軸逆時針旋轉 ,第一圈導程為 110 mm, 第二圈導程為 130 mm, 點導程從100 mm變到 140 mm的等深變導程右旋螺旋槽 。
程序為 : G 91 G 65 X 0 Z 240 R 100 K 20 D 1 F 100,則走出一條 Z軸由床頭到床尾 , C軸順時針旋轉 , 第一圈導程為 110 mm, 第 二 圈導 程 為 130 mm, 點 導 程從100 mm 變到 140 mm的等深變導程右旋螺旋槽 。
程序為 : G 91 G 65 X 0 Z-240 R 100 K 20 D 1 F 100,則走出一條 Z軸由床尾到床頭 , C軸順時針旋轉 ,第一圈導程為 110 mm, 第二圈導程為 130 mm, 點導程從100 mm變到 140 mm的等深變導程左旋螺旋槽 。
4 結束語
有了此程序后 , 這種專用銑床就可選用多種數控系統來滿足市場的要求 ,同時 ,降低數控系統成本 ,提高機床的性價比 ,節約售后服務費用 , 控制總的生產成本 ,增強機床自身的市場競爭力 。當然 ,此程序只能加工導程變化是線性的變導程螺桿 ,對于導程變化是非線性的變導程螺桿 ,需要做更進一步的研究 。
(審核編輯: Doris)
分享