CNCコントローラの変更(GRBLをEstlcamに変更)


CNCコントローラをGRBLコントローラからEstlcamに変更した。


CNCを組み立てて実際に加工してみると、XYZ各移動軸の直角度を出すのが難しいことが分かった。Z軸方向にわずかな切込み量を加え、XY軸の各方向に移動すると、切込み量を一定に保てない。X軸Y軸で構成される面が、Z軸と垂直になっていないのが原因だ。アルミホイルを折り重ねたシムで調整し、ある程度は精度を出せるようになったが、完璧に調整するのは困難だろう。CNCを購入した目的は、銅張基板(いわゆる生基板)を0.1~0.2mm程度の切削量で削り出すことだった。小さな基板であれば加工可能なのだが、大きな基板を加工するには精度が心許ない。

CNCコントローラについて調べていたらこんな動画を見つけた。

CNC surface scanning / auto leveling

動画では曲面をプローブで計測し、その曲面に文字を彫っている。この機能を使えばCNCの組立誤差をカバーできると考え、Estlcamを導入することにした。

Estlcamは http://www.estlcam.com からダウンロードできる。フリーウェアではないが、無料で使い続けることもできる。ただしアクティベートしていないと、データファイルを読み込む際、「私をサポートしてください」と購入を促すダイアログが表示され、数秒間待たされる。EstlcamでCNC導入の目的が達成できれば、是非購入したいと思っている。
(2019年3月12日追記:一ヶ月ほど無料で使用した後、2018年5月に購入した)


CNCに付属していた制御ボードは WOODPECKER CNC GRBL 0.9 で、これをEstlcamで使うためにはファームウェアの書き換えが必要である。ファームウェアの書き換えはEstlcamで行うのだが、Arduinoのブートローダーがないと書き換えができない。


avrdude など、AVRのバイナリコードを書き換えできる環境を用意する。書き込むデータは Arduino IDE をインストールしたフォルダの下にあるoptiboot_atmega328.hexである。
場所は、例えば C:¥Program Files (x86)¥Arduino¥hardware¥arduino
¥avr¥bootloaders¥optiboot¥optiboot_atmega328.hex などである。
書き換えを行う前に、GRBLコントロールソフトやターミナルソフトでGRBLのコマンド “$$” で設定されているパラメータを表示し、コピペしたテキストを保存しておくこと。ファームウェアを元のGRBLに戻した時に必要である。



AVRのISPピンは写真のとおりである。MISOを除くピンはAtMega 328Pに直接つながっているが、MISOは抵抗が入っている。そのためか、早い速度で書き込むことができなかった。avrdudeのオプションで書込み速度を1200bpsに設定した。


Estlcamを起動し、メニュー [セットアップ]-[CNCコントローラ] で上図のダイアログが表示される。Controller hardware に GRBL 0.9 – 1.1(latest)compatible を選択し、USB/COMポートに認識されたポートを指定する。”Arduino プログラム” ボタンをクリックするとファームウェアの書き換えが行われる。

ファームウェアを元のGRBLに戻すには、付属のCD-ROMに収録されている
¥¥CNC software¥Restore firmware¥固件(firmware)¥firmware.hex で書き換え、保存しておいたパラメータを設定する。
 


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. まあく より:

    こんにちは。
    薄板用にZ軸の高度を一定にするのは簡単で確実な方法があります。
    Z値一定で、台の表面をすべて削ってしまえばいいのです。
    たとえ、XY軸が直線ではなくても、加工台の表面とZ軸の高さは一定になってしまいます。
    もちろん、できる限り直角がでるように調整した後での話ですが。調整で残ってしまうわずかな歪や加工台のトップの厚みのブレなどをこれで修正できます。

  2. ohkin より:

    コメントありがとうございます。
    ご指摘の方法で面を出せると思います。
    ただ、安価なCNCでフレームの強度は高くないため、テーブル面を切削するのは困難かと思われます。
    曲面をプローブでスキャンする機能は、本来、曲面を切削するために用いるものなのでしょうが、CNCの精度を簡単に補完する方法の一つだと考えます。