2019年6月25日火曜日

CNCコントローラー

 今の所こんな感じ。



 位置の表示、JOG操作、移動速度のオーバーライド、MDI、NCプログラム転送、あたりがかろうじて使える。
 相手側はG0, G1, G92, Fのみ対応。直線だけで構成されたプログラムなら対応できるけど、ちょっと多機能なポストプロセッサが吐くプログラムは対応できない。せめてG17,18,19とG2,3に対応する必要がある。
 Fusion360でポケット加工を出すと、まずG3で螺旋状に彫り込んでいって、その後G1やG3で広げている。平面の切削でも、G18とG3を組み合わせて垂直と水平を接続している。螺旋の彫り込みの場合はXYZIJKが指定された、3次元的な動きになる。XYZRの指示だと平面での円弧になるので、エンドミルで彫り込んでいく際はXYZIJKで指示することになる。Fusion360の、少なくとも今選択しているポストプロセッサでは、R指示は出ないようだ。

 オーバーライドは0%から200%まで20%ステップでボタンを並べてある。ボタンが多いので面積を食う。ツマミみたいなUIなら10分の1の面積で済むけど、何らかの要因(制御基板側のリセットとか)でオーバーライド値が変わった場合に、それをどうやってPC側に反映するかという問題がある。定期的に相手から値を出してもらえばいいけど、実装するのが面倒。
 あと、気が向いたら制御基板側にコントロールパネルを追加したいけど、その際にオーバーライドをどう実装するかも頭の痛い問題。一番使いやすいのはボリュームで絶対値を指定することだけど、この場合はPC側からの変更ができなくなる。ロータリーエンコーダだと現在値を表示する手段が必要になる。スイッチを並べても現在値を表示する手段が必要なのは変わらないから、それならロータリーエンコーダで良いか、とも思ってるのだが。


 そういえば、Fusion360(の、ポストプロセッサのどれか)が吐き出すNCコードって、XYZ指令にピリオドが含まれていない値がある。Z5とか、X10とか、そういうふうに出てきてる。Gコードの位置指定ってピリオド有りだとミリメートル、ピリオド無しだとマイクロメートル、だったと思ってたけど、機械によってはミリメートルで統一、というものもあるようだ。ラッキー、ピリオド処理面倒だと思ってやってなかったんだよね。やらなくていいぞ!!!


 ポストプロセッサのコンフィグで、”最小弦の長さ”と”最小円形半径”をいじると、G2/G3が出力されなくなった。どちらも「これ以上大きければG1で近似する」といったパラメーターなので、とりあえず「ありえない大きな数字」に設定しておくことでG1に近似させられる。G0/G1だけで通せるならG17/G18/G19もたぶん不要なので、今の制御ソフトでも処理できるはず。イエイ!!!
 Fusion360だとパス間の移動をG2/G3で速度変化を最小にするモードがあるが、これもコンフィグで無効化できる。
 Vカッターで0.25mmくらい切り込む設定で走らせてみたら、ちゃんとそれっぽい軌跡で動いてる気がする。Fusion360で吐いたプログラムをそのまま処理できるようになったのはデカイな。木を切り刻んでやるぜ!!!エンドミルが届いたらな!!!覚悟しておけ!!!

0 件のコメント:

コメントを投稿