CNC制作

FABOOL Laser MiniのGRBL化

投稿日:

FABOOL Laser MiniをGRBL化したい。
と言うことで、只今色々と試行錯誤しております。

で、現在のところ、2軸の移動はできるようになりましたので、とりあえずそこまでの事を書いておこうと思います。

レーザーモジュールの接続や設定はまた次回・・・

配線

GRBLは、ArduinoUNOベースで数年前に買ったGRBLシールドを使って配線を行います。

モーターの配線

CNC Shield(GRBLシールド)

GRBLシールドのモーター接続ピン

GRBLシールドのステッピングモーターの接続ピンはステッピングモータードライバーの差し込み口の直ぐ横にあります。
写真上側の左がX軸、右がY軸。
ここでは便宜上、上から1,2,3,4と振っておきます。

 

FLMのコントロール基板

FLMコントロール基板のモーター接続ピン

上の写真は、FLMのコントロール基板のステッピングモーターの接続ピンです。
XHコネクターになっていて逆差しが出来なくなっています。
Y軸はモーターが2個あるので、端子が2つ並んでいます。
Y軸の2つの端子は並列に接続されています。
ここでは便宜上、左から1,2,3,4と振っておきます。

 

X軸の配線

X軸のモーターの配線は、FLMコントロール基板の1234を、そのままGRBLシールドの1234に接続しました。
ただし、FLMのケーブルの先端はXHコネクターになっていて、GRBLシールドの狭い隙間には差し込めません。
なので余ってたケーブルを使って接続しました。

X軸のステッピングモーター接続 GRBLシールド側 X軸のステッピングモーター接続 ケーブル側

 

Y軸の配線

Y軸のモーターの配線は、FLMコントロール基板の1234を、GRBLシールドの4321と逆に接続しました。
また、2つのモーターが接続できるように、2つに分岐させる端子を作りました。

自作したY軸モーター分岐端子1 自作したY軸モーター分岐端子2 Y軸のステッピングモーター接続 GRBLシールド側 Y軸のステッピングモーター接続 ケーブル側

 

リミットスイッチの配線

CNC Shield(GRBLシールド)

GRBLシールドのリミットピン

写真右端のEND STOPSと書かれたピンがGRBLシールドのリミットピン。
X+、X-と言うように、+と-に分かれていますが縦に繋ぐのでは無く、横(白と黒)に繋ぎます。
+-はどちらに繋いでもかまいません。
GRBLでは始点と終点にリミットスイッチを取り付けることができるので、+と-の二つに分かれています。

 

FLMのコントロール基板

FLMコントロール基板のリミットピン

FLMのコントロール基板のリミットピン。
2ピンのXHコネクターになっていますが、極性は関係無い。

 

配線

FLMのリミットセンサーは、マイクロスイッチが使われていてケーブルの先端は、2ピンのXHコネクターになっています。
極性は関係無いので、それぞれのケーブルの、片側をGRBLシールドの白い方、もう片方を黒い方に接続します。

リミットスイッチの接続 GRBLシールド側

ちなみに、ノイズが酷いので、0.1uFのコンデンサーを取り付けています。
詳しくはこちら→リミットスイッチのノイズ対策(GRBL)

 

ステッピングモータードライバー

ステッピングモータードライバは偽DRV8825を使いました。

DRV8825 

DRV8825ステッピングモータードライバー

 

電流設定

FLMで使われているステッピングモーターは、JKONGMOTOR JK42HS34-1334ACと言うモーターで、定格電流は1.33A。
なので、DRV8825の電流設定のボリュームは、電圧0.6V程度に設定しておきました。

 

マイクロステップ

GRBLシールドでは、ステッピングモータードライバーの下にヘッダーピンが出ているので、そのヘッダーピンをショートさせてマイクロステップを設定します。

GRBLシールドのマイクロステップ設定ピン

DRV8825の最大マイクロステップは1/32ですが、今回は1/16に設定しておきました。

マイクロステップ設定のジャンパーピン

一番右側にジャンパーピンを取り付けてショートさせています。

DRV8825についてはこちらに詳しく書きました。
DRV8825について調べてみた

 

GRBL設定

今回、ArduinoUNOのプログラムとして、GRBLのバージョンv1.1hを使いました。
インストール方法は割愛しますが、インストールする前にソースの書き換えが必要です。

grbl 1.1のページ
https://github.com/gnea/grbl

CONFIGファイル書き換え

FLMはX軸とY軸しか無くて、Z軸は有りません。
なので、ホーミング時にZ軸のホーミングを停止しておく為にGRBLのconfig.hファイルを書き換える必要があります。

GRBL config.h デフォルト

上はデフォルト。
105行で最初にZ軸のホーミング、106行で次にX軸とY軸が同時にホーミングすると言う設定。
これを下のように修正する。

GRBL config.h 修正後

105行と106行をコメントアウトして、112行と113行をアンコメントする。
112行では最初にX軸をホーミング、113行で次にY軸のホーミングをすると言う設定に変更。

112,113行の代わりに、110行だけアンコメントしても良い。
これだと、X軸とY軸が同時にホーミングされるようになります。

 

コマンドでの設定

GRBLの現時点での設定

デフォルト設定から変更した部分を記載しておきます。

 

$21=1

ハードリミットの設定。
リミットスイッチにヘッドが触れた時に、動作を止める設定。

$22=1

ホーミングを有効化する。
デフォルトでは無効になっていて、ホーミングが使えない。

$23=1

ホーミングする時、X軸の方向を-方向へ向かうようにする。
デフォルトでは、各軸+側のリミットスイッチを探しに行く。
ちなみに、FLMとGRBLでY軸の方向が逆になっている。
FLMは手前側に移動するのが+方向ですが、GRBLでは奥へ移動するのが+方向となる。

$24=100
$25=1500

ホーミングのスピードの設定

$32=1

レーザーモード有効化
レーザーに関してはまだ搭載していないので、動作が良く分かっていません。

$100=53.333
$101=53.333

$100と$101には、X軸とY軸の1mm移動する際の、ステッピングモーターのステップ数を設定する
FLMだと以下のように計算される。

ベルトGT2(2mmピッチ)
ギア 30歯
モーター 1回転で200ステップ
モータードライバのマイクロステップ設定 1/16
(200ステップ×16マイクロステップ) ÷ (2mmピッチ×30歯) = 53.333

$110=2000
$111=2000

X軸Y軸の移動の最大速度をそれぞれ2000に設定
もっと早くできるっぽいけど、とりあえず2000に設定しておきました。
デフォルト値は500

$120=1000
$121=1000

X軸Y軸の加速度の設定をそれぞれ1000に設定
FLMは加速減速は無いと思います。レーザー加工にはマイナスな気がするのでオフにしたいところですが、方法が分からないので、大きめの数値に設定しておきました。
デフォルト値は10

$130=300
$131=230

$130と$131は。加工できる大きさを指定する。
標準のFLMの加工サイズは、横300mm縦230mm

 

動作確認

今回は、GRBLをコントロールするプログラムとして、CNCjsと言うソフトを使ってみました。

CNCjs

https://cnc.js.org/

ブラウザでアクセスするのでは無く、DesktopApp版を使いました。
バージョンは、v1.9.23

ダウンロードはここから
https://github.com/cncjs/cncjs/releases

 

ホーミング

ホーミングのGRBLのコマンドは $H

CNCjsの右上ボタン

CNCjsでは、右上にカラフルなボタンが並んでいるのですが、青いホーミングと書かれた所をクリックすると、ホーミングが開始されます。

実行すると、X軸が左方向に移動します。
リミットスイッチに接触すると少し戻って再びリミットスイッチを探し見つけるとまた少し戻ります。
X軸が終わると、次にY軸が奥方向に移動しはじめます。
リミットスイッチを探す動作はX軸と同じです。

※X軸とY軸を同時にホーミングしたい場合は、config.hの設定を変更しましょう。

CNCjs ホーミング終了後の座標

ホーミングが終わると、機械位置の座標がX-299.008、Y-0.994になっています。

 

ワーク位置の修正

私はまだいまいちよく分かっていない事なのですが、GRBLでは機械位置とワーク位置とが別々で処理されているようです。

ArduinoUNOベースのGRBLでは機械位置が変更できないようなので、一先ずワーク位置のオフセットを設定してみます。

GRBLとFLMではY軸の移動方向が逆なので、ホーミング時のワーク座標はXは0に、Yは230になるように設定しました。

GCodeでは以下のコマンド

G10 L20 P1 X0 Y230

CNCjsでは、座標の下のボタンをクリックすると数値を入力できるようになっています。

CNCjs ワーク位置オフセット指定ボタン

設定すると、ワーク位置の表示が変わります。

CNCjs ワーク位置の表示

 

以上、現時点のGRBL化の進み具合は以上です。
そして、下の動画は、実際のGRBL化した時の動きの様子です。

 

-CNC制作
-,

執筆者:

関連記事

自作CNC1号

自作CNC1号の作成

少し前から取り組んでいた自作CNC(レーザー加工機)の作成。 ぼちぼち形になってきて、一応レーザー加工出来るところまで来ました。   自作CNCの側は、MDFをレーザーカットして作りました。 …

grblシールド

コンデンサ逝く

自分の不注意ですが、GRBLシールドのコンデンサをパンクさせてしまいました。 原因は、モーター用の電源(12V)の+と-を逆に繋いでしまったことなんですが、逆接続に気づかず暫くしてコンデンサーが電解液 …

FABOOL Laser Miniに取り付けたプロッターヘッド

FABOOL Laser Miniをカッティングプロッター化

タイトルの通り、FABOOL Laser Miniをカッティングプロッター化しました。 FLMのコントロール基板をGRBLにした理由の一つはこれで 「カッティングプロッターが欲しい」と言うことでしで、 …

出来上がったステッカー

FABOOL Laser Miniをカッティングプロッター化 その2

前回は、FABOOL Laser Miniのヘッドの改造を書きました。 FABOOL Laser Miniをカッティングプロッター化 今回は、その続きで、カッティングシートをカットする手順を書きたいと …

grblシールド

GRBLシールドとステッピングモータードライバー

先日、GRBLシールドとステッピングモータードライバーを購入してみました。 BS01+(3Dプリンター)やFABOOL Laser Mini(レーザー加工機)に触れているうちに、自分で一からCNCを作 …