CNCがやっと完成の域に

 

長い間放っていたCNCがやっと完成の域に達しました。ProxxonのマイクロXYテーブルとドリルスタンドを利用し、3Dプリンタで打ち出したパーツを多用しました。

YテーブルがDefaultでは非常に短く、実用に耐えないので、Yテーブルの延長も3Dプリンタで打ち出しました。本来ならアルミの切り出しで新たに作り直すべきですが、ツールもないので、Webで検索したらアルミブロックで延長部分だけを追加している方がいた。これだ!と思いアルミではなく3d プリンタできれいに打ち出せば同じものが作れると思い、やってみた。この人はy軸のモーター側のベアリングホルダー兼ストッパーを延長yテーブルに変更し、ストッパを無くしているが、いい考えだ。自分はモーターの反対側にyテーブルを約30mm延長した。4回ぐらいカット&トライで作り直したが、うまくいった。メーカ側の設計図を見つけられなかったので、実体をカリパーで測定したが、どうも測定して3Dプリントすると、測定誤差とプリント誤差とが重なり、かなり違うものができてしまう。したがって、カット&トライがどうしても必要になる。可動部分が54㎜から70㎜となり、何とか実用に耐えるようになった。本来なら100㎜×100㎜くらいは欲しいところだが・・。今回はY軸の向こう側に延長したが、必要なら反対側にも同様に増設すれば、100mmにはなりそうだ。その際にはまた6Φの全ねじロッドが必要になるが。

Y軸の拡張部分
Y軸の拡張部分

白のPLAで出力したので、非常に目立つ。逆ねじのM6の送りロッドは長さが足りなくなったので、順ねじのM6に交換し、それに伴い内部の送りナットも順ねじに交換。(12Φの丸棒にM5 の下穴をあけM6でタップを切った。)

Y軸拡張2
Y軸拡張2

Z軸はずいぶん無様な形状をしているが、スピンドルモータの重量や切削時の横ブレに打ち勝つ強度を保つためにはこの程度の厚みと構造が必要だと思い、こんな箱状になってしまった。

Z軸
Z軸

一番苦労したのはZ軸。20Φの柱を何とか利用したかったので、LMF20UUを中国サイトから入手。異常に大きいのでかなりびっくりしたが、上下に2個つけた。入手してから気が付いたが、鍔のないLM20 を使って、ストッパーを3Dプリントしてもよかった。摺動部分はこれだけでは心もとないので、3Dプリンタのあまりの部品で6Φのリニアベアリングとスムースロッドで補助。

Z軸モーター
Z軸ステッピングモーター

すべての軸のステッピングモーターは秋月で一番安い¥800のギア付き。42㎜角ではこれが一番トルクが大きい。このモーターの性能/価格は中国のサイトでもかなわない。ただ、ギア付きなのでこれをうまく外す必要がある。そのためにギア抜きツール(AMAZONで入手)を使用した。このツールは強力で、ギアがきれいに抜ける。

撮ったビデオの容量が大きくUpladできないのでビデオをコンバージョンしたら映像と音声が同期しない現象が起きた。

まだ、穴あけしかテストしてないが、同じ基板に2度穴あけをしてみると全く同じところに、ドリルが通るので、バックラッシュも無いようだ。次はエンドミルを入手し基板パターンの切削をトライしよう。エンドミルは中国サイトに注文中。今は切削用モーターにはProxxonのハンドルータを使っているが、最高の20000rpmで連続で稼働させると音が非常にうるさい。 ブラシレススピンドルモーターが欲しいが、中国のサイトでも5000円から10000円くらいでなかなか踏ん切りがつかない。自作という手もあるがネオジムローターの入手が難しそうだが。さらにエンドミル用のコレットチャックをうまくつけられるかが難しそう。20000rpm以上で回そうとするとほんの少しの偏芯でも気になる。

やはり音と映像が同期していません。

今のところ、FirmwareはArduinoUNO互換のAitendo製にGRBL0.9j。ステッピングモータのドライバーはTB6650(全軸同じで1.2A  STOP50% 1/8駆動 減衰0%としたがこれが最適かどうかは不明) 3dprinterだと1/16稼働で十分のトルクが得られたが、1/16では音は静かだが脱調が激しい。コントローラーはgrbl controller3.6.1もしくは grblcontrol0.84(https://github.com/Denvi/grblControl/)(これは3Dで軌跡が表示されるので、見ていて面白い。)  最近grbl controller3.6.1T4(クリックでリンクに飛びます)が出て、同様に3Dが表示されるらしい。(テスト中)

grbl EEPROM の内容 ($$でコンソールより出力される)

Grbl 0.9j [‘$’ for help]
[‘$H’|’$X’ to unlock]
$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=1 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=1 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=44 (homing dir invert mask:00101100)
$24=300.000 (homing feed, mm/min)
$25=5.000 (homing seek, mm/min)
$26=5 (homing debounce, msec)
$27=5.000 (homing pull-off, mm)
$100=1600.000 (x, step/mm)
$101=1600.000 (y, step/mm)
$102=1600.000 (z, step/mm)
$110=400.000 (x max rate, mm/min)
$111=400.000 (y max rate, mm/min)
$112=400.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=120.000 (x max travel, mm)
$131=80.000 (y max travel, mm)
$132=70.000 (z max travel, mm)