GRBL 完全マスター:Arduino 搭載 CNC マシンのセットアップと制御ステップバイステップガイド
自作 CNC マシンを作ろうと考えている、または作成中なら、GRBL という用語に出会う可能性が高いです。このチュートリアルでは、GRBL が何であるか、インストール方法、Arduino ベースの CNC マシンの制御に使用する方法を学びます。 また、人気のオープンソース GRBL コントローラーソフトウェアである Universal G-code Sender の使い方も学びます。 GRBL は、CNC マシンのモーション制御を可能にするオープンソースのソフトウェアまたはファームウェアです。GRBL ファームウェアを Arduino に簡単にインストールすることで、低コストで高性能な CNC コントローラーを瞬時に入手できます。GRBL は Gコードを入力として受け取り、Arduino 経由でモーション制御を出力します。 理解を深めるために、以下の図を見てみましょう: 図から、CNC マシンの動作原理の「全体像」における GRBL の位置がわかります。これは Arduino にインストールまたはアップロードする必要があるファームウェアであり、CNC マシンのステッピングモーターを制御できるようにします。つまり、GRBL ファームウェアの機能は、Gコードをモーターの動きに変換することです。 これらは CNC マシンの仕組みを理解するために必要な基本的な電子部品に過ぎないことに注意してください。 実際、すべてをどのように接続するかの例として、私の DIY CNC フォームカッティングマシンを見てみましょう。 この CNC マシンの構築に必要な主要電子部品はこちらでチェック・入手できます: この CNC マシンの主工具はホットワイヤーで、発泡スチロールを簡単に溶かしたり切断したりして、望みの形状を作れます。マシンの作り方と仕組みの詳細については、専用チュートリアルをご覧ください。 同じ動作原理がフライス盤やレーザーなど、あらゆる種類の CNC マシンに適用されるため、このマシンを例としてこの記事全体で使用します。 まず、GRBL を Arduino にインストールまたはアップロードするために Arduino IDE が必要です。 次に、github.com から GRBL ファームウェアをダウンロードします。 .ZIP ファイルとしてダウンロードし、以下の手順に従ってください: この時点で、GRBL を私たちのマシンに合わせて設定または調整する必要があります。これは Arduino IDE のシリアルモニターを通じて行えます。シリアルモニターを開くと、「Grbl 1.1h ['$' for help]」のようなメッセージが表示されます。このメッセージが見えない場合は、ボーレートを 115200 に変更してください。 「$$」と入力すると、コマンドまたは現在の設定のリストが取得でき、以下のように表示されます: これらのコマンドはすべて、私たちの CNC マシンに合わせて調整できます。例えば最初のコマンド $100=250.000 (x, step/mm) では、マシンのステップ/mm を調整できます。つまり、X 軸を 1mm 動かすためにモーターが何ステップ動くべきかを指定できます。 ただし、これらの設定はそのままにしておくことをお勧めします。コントローラーソフトウェアを使用して、マシンに合わせて調整するより簡単な方法があります。これは次のセクションで説明します。 GRBL ファームウェアをインストールしたら、Arduino は Gコードを読み取り、それに従って CNC マシンを制御する方法を知っています。しかし、Gコードを Arduino に送信するには、Arduino に何をすべきかを指示する何らかのインターフェースまたはコントローラーソフトウェアが必要です。実際、その目的のためにオープンソースと商用の両方で多くのプログラムがあります。もちろん、オープンソースにこだわるため、例として Universal G-code Sender を使用します。 この例では 2.0 Platform バージョンを使用します。ダウンロードしたら、zip ファイルを展開し、「bin」フォルダーに移動して実行可能ファイル「ugsplatform」のいずれかを開きます。これは実際には JAVA プログラムなので、このプログラムを実行するにはまず JAVA Runtime Environment をインストールする必要があります。 Universal G-code Sender を開いたら、まずマシンを設定する、つまり前述の GRBL パラメータを設定する必要があります。そのために UGS セットアップウィザードを使用します。これは Arduino IDE のシリアルモニターで手動でコマンドを入力するよりもはるかに便利です。 最初のステップはボーレートの選択で、115200 に設定し、Arduino が接続されているポートを選択します。Universal G-code Sender を Arduino と接続したら、次のステップでモーターの移動方向を確認できます。 必要に応じて、ウィザードで方向を反転させるか、Arduino CNC シールド上のモーター接続を手動で反転させることができます。 次のステップで、前述の steps/mm パラメータを調整できます。ここでは、セットアップウィザードが計算してどの値にパラメータを更新すべきか教えてくれるため、理解しやすくなっています。 デフォルト値は 250 steps/mm です。これは「x+」移動ボタンをクリックすると、モーターが 250 ステップ動くことを意味します。モーターの物理ステップ数、選択したステッピング分解能、伝達方式に応じて、マシンは何らかの距離を移動します。定規を使用してマシンが実際に移動した距離を測定し、その値を「Actual movement」フィールドに入力します。これに基づいて、ウィザードが steps/mm パラメータをどの値に変更すべきか計算して教えてくれます。 私の場合、DIY CNC マシンでは 3mm 移動しました。これに基づき、ウィザードは steps/mm パラメータを 83 に更新することを提案しました。 この値を更新すると、マシンは正しく動作するようになり、ソフトウェア上の 1mm が CNC マシンの 1mm を意味するようになります。 UGS コンソールでは、各アクションで実行されるコマンドを見ることができます。steps/mm パラメータを更新することで、UGS プログラムが実際に Arduino、つまり GRBL ファームウェアに前述のコマンドを送信したことがわかります。デフォルト値は $100=250.000 (x, step/mm) で、これを 83 steps/mm に更新しました:$100=83。 次のステップでリミットスイッチを有効化し、正しく動作するかテストできます。 ノーマルオープンまたはノーマルクローズド接続かによって、ここで反転させることもできます。 ここで注目すべき点は、Z 軸リミットスイッチを無効化する必要がある場合があることです。私の DIY CNC フォームカッティングマシンでは Z 軸リミットスイッチが不要で、マシンを適切にホーミングするために無効化する必要がありました。これを行うには、Arduino ライブラリフォルダー(または Documents\Arduino\libraries)にある config.h ファイルを編集する必要があります。 ここではホーミングサイクルの行を見つけ、3 軸 CNC マシンのデフォルト設定をコメントアウトし、2 軸マシンの設定をコメント解除します。変更を有効にするには、ファイルを保存し、grblUpload スケッチを Arduino ボードに再アップロードする必要があります。 それでも、次のステップで CNC マシンのホーミングを有効または無効にできます。 「Try homing」ボタンを使用すると、マシンがリミットエンドスイッチに向かって移動を開始します。反対方向に動く場合は簡単に方向を反転させられます。 最後に、セットアップウィザードの最終ステップで CNC マシンのソフトリミットを有効化できます。 ソフトリミットは、マシンが設定された作業領域を超えて移動することを防ぎます。 GRBL ファームウェアと Arduino のおかげで、DIY CNC マシンを簡単にセットアップして稼働させることができます。もちろん、このチュートリアルでは基本だけをカバーしましたが、仕組みを理解し、最初の CNC マシンを稼働させるには十分だったと思います。 もちろん、他にも多くの設定と機能があり、GRBL は非常に高性能な CNC コントローラーファームウェアです。GRBL のドキュメントでそれらすべてが詳細に説明されているので、github.com のウィキページでいつでも確認できます。 また、Universal G-code Sender 以外にも多くのオープンソース GRBL コントローラープログラムがあり、いくつか紹介します:GRBLweb(Web ブラウザー)、GrblPanel(Windows GUI)、grblControl(Windows/Linux GUI)、Easel(ブラウザーベース)など。それらを探索して、自分に最適なものを見つけてください。GRBL とは?

必要なハードウェア


GRBL のインストール方法



GRBL の設定
$100=250.000 (x, step/mm)
$101=250.000 (y, step/mm)
$102=3200.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.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)GRBL コントローラー

Universal G-code Sender の使い方










まとめ

製造プロセス
- スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- CNCスイス型旋盤が精密旋削でリードする理由
- CNCジュエリー加工の完全ガイド:マスターメイキング
- 中古CNC工作機械の探し方:包括的ガイド
- 中古CNC工作機械の清掃法:長寿命化と再販価値向上のエキスパート tips
- ArtCAMでCNC Gコード生成:ステップバイステップ実践ガイド
- 中古CNC工作機械購入で陥りがちな落とし穴と回避策
- 失敗しないCNC工作機械選び|実務に役立つ8つの選定基準
- CNC工作機械の自動化:スループットと効率を高める実証済み戦略
- Millport SmartLathez 1740 CNC旋盤 – 精度とパワー