トロコイド切削マクロその4 パス修正
送りねじのボールねじ化に伴い、制御パラメータの見直しを行い、加速を上げたり、コントローラのバックラッシ補正を外したりしている。このことで、トロコイド切削のような、小さくごちょごちょと向きを変える切削パスの速度が大幅に上がった。それはよいのだが、主軸が過負荷エラーで時々止まるようになった。表示される平均回転数ではまだ余裕がありそうなのに、急に止まる。ビデオで見ると、G01で切り込むところで止まっているように見える。(ピンぼけ失礼)加工条件は、材質:S50C エンドミル:OSG AE-VML6 主軸回転数:2500rpm パス半径R0.4 円弧ピッチP0.5 軸方向切り込みAp4.45 送りF180
切り込み部分がそっと入るように若干パスを修正してみた。
修正後のパスかこれ。
修正前はこちら。
修正したGコードは以下。
O5(***trochoid G01_A2***) #1301=SQRT[[#3103-#3101]**2+[#3104-#3102]**2](L) #1302=[FUP[#1301/#3002]](n ) #1303=[[#3102-#3104]/#1301](RCX) #1304=[[#3103-#3101]/#1301](RCY) #1107=[#1303*#3001](It) #1108=[#1304*#3001](Jt) #1505=0(counter Old:1 RevA2) G01 X#3101 Y#3102 F#2011 (add at A2) M98P6L[#1302+1](+1 AddAtA2) G01 X#3103 Y#3104 F9999 (add at A2) M99 O6(****trochoid-G01-path_A2****) #1101=[#3101+[[#3103-#3101]/#1302*#1505]](Xi) #1102=[#3102+[[#3104-#3102]/#1302*#1505]](Yi) #1103=[#1101-#1303*#3001](Xsi) #1104=[#1102-#1304*#3001](Ysi) #1105=[#1101+#1303*#3001](Xei) #1106=[#1102+#1304*#3001](Yei) G01 X#1103 Y#1104 F#2011 G03 X#1105 Y#1106 I#1107 J#1108 F#2012 G01 X#1103Y#1104 F9999 (add at A2) #1505=[#1505+1] M99 O7(***trochoid-G02G03_A2***) #1206=SQRT[[#3105]**2+[#3106]**2](Rc) #1207=FUP[[0-#3105]/10000.](Xaflag +:1 0,-:0) #1208=FUP[[0-#3106]/10000.](Yaflag +:1 0,-:0) #1211=[ASIN[ROUND[[0-#3106]/#1206*1000]/1000]*#1207*#1208](ThetaA1) #1212=[[180-ASIN[ROUND[[0-#3106]/#1206*1000]/1000]]*[1-#1207]](ThetaA23) #1213=[[360+ASIN[ROUND[[0-#3106]/#1206*1000]/1000]]*#1207*[1-#1208]](ThetaA4) #1201=[#1211+#1212+#1213](ThetaA) #1220=ASIN[ROUND[[#3104-#3102-#3106]/#1206*1000]/1000] (ThetaB_BASE) #1209=FUP[[#3103-#3101-#3105]/10000.](Xbflag +:1 0,-:0) #1210=FUP[[#3104-#3102-#3106]/10000.](Ybflag +:1 0,-:0) #1221=[#1220*#1209*#1210](ThetaB1) #1222=[[180-#1220]*[1-#1209]](ThetaB23) #1223=[[360+#1220]*#1209*[1-#1210]](ThetaB4) #1202=[#1221+#1222+#1223](ThetaB) #1214=FUP[[#1206-#3002/2]/10000] (P/2<Rc:1 P/2>=Rc:0) #1203=[2*ASIN[ROUND[#3002*#1214/2/#1206*1000]/1000]+[180*ABS[#1214-1]]](ThetaPkari) #1215=[[#1202-#1201]/ABS[#1202-#1201]](a-b_DIRECTION a<b:+1 a>b:-1) #1216=[[ABS[#1202-#1201]*[#3107*#1215/2+0.5]]+[360-ABS[#1202-#1201]]*[#3107*#1215/-2+0.5]](ThetaAB) #1204=[FUP[ABS[#1216]/#1203]](n) #1205=[ABS[#1216]/#1204*#3107](STEP-ThetaP) #1505=[#1201](Theta-start Old:#1201+#1205 RevA2) G01 X#3101 Y#3102 F#2011 (add at A2) M98P8L[#1204+1] (+1 AddAtA2) G01 X#3103 Y#3104 F9999 (add at A2) M99 O8(****trochoid-G02G03-path_A2****) #1231=[#3101+#3105+#1206*COS[#1505]](Xi) #1232=[#3102+#3106+#1206*SIN[#1505]](Yi) #1303=[[#1231-#3101-#3105]/#1206] (RCX) #1304=[[#1232-#3102-#3106]/#1206] (RCY) #1107=[#1303*#3001*#3107*-1] (It) #1108=[#1304*#3001*#3107*-1] (Jt) #1103=[#1231+#3107*#1303*#3001](Xsi) #1104=[#1232+#3107*#1304*#3001](Ysi) #1105=[#1231-#3107*#1303*#3001](Xei) #1106=[#1232-#3107*#1304*#3001](Yei) G01 X#1103 Y#1104 F#2011 G03 X#1105 Y#1106 I#1107 J#1108 F#2012 G01 X#1103Y#1104 F9999 (add at A2) #1505=[#1505+#1205] M99 %
青マーカ部の G01 X#1103Y#1104 F9999 で、その前のG03のスタート座標に最速で戻している。
そうすることで、その2行上のG01 X#1103 Y#1104 F#2011が、円弧の接線上で停止したところから削り始めることになり、負荷変動が小さくなるだろう、という目論見。合わせて、削り始めと削り終わりをそれぞれ円弧の中心座標に移動する処理を追加した。(赤マーカ部)
修正後のパスでパラメータを振りながらテスト。まあこんなもんかな、という状態の動画が以下。
加工条件は、材質:S50C エンドミル:OSG AE-VML6 主軸回転数:2500rpm パス半径R0.5 円弧ピッチP0.5 軸方向切り込みAp4.94 送りF300
F値を様子みながら自分の中の標準レベルまで上げて、今回の部品は最後まで機嫌よく削りきった。切り込みはもっと上げても大丈夫そう。