PR

GRBLホーミング失敗「ALARM:8」の原因と対策|4ステップ動作(ON-OFF-ON-OFF)とプルオフ設定【自作CNC第6回】

CNC自作
スポンサーリンク

はじめに

自作CNCシリーズ 第6回

スポンサーリンク

はじめに:$H を実行すると ALARM:8 で止まる

こんにちは、にんじんです🥕

CNCjsのコンソールで $H(ホーミング)を実行すると ALARM:8 (Homing fail) で止まる——。前回(第5回)で中華製CNCシールドのD11/D12ピン入れ替わりを突き止めましたが、それを直してホーミングに進んだ途端、今度はこのエラーに阻まれました。

結論から言うと、原因はGRBLのホーミングがリミットスイッチの「ON → OFF → ON → OFF」という4ステップの動きを要求していることでした。この記事では、Z軸の実機がないプロトタイプ機でホーミングを通す方法、$27(プルオフ距離)の調整、そして加工用レーザーに向けたPWM出力の設定($32=1 / $30 / $31)とLED調光テストまでをまとめます。これで自作CNCの要素設計は完了です。

この記事で分かること

  • CNCシールドの配線ミスを踏まえたZ軸リミットスイッチの仮接続(「SpnEN」端子へ)
  • ALARM:8 (Homing fail) が出る仕組みと、GRBLのホーミングが求める4ステップ動作
  • Z軸の実機がなくても、手でスイッチを「カチカチカチカチ」と4回押してホーミングを成功させる方法
  • $132(Z移動距離)と $27(プルオフ距離)でホーミング動作を見やすくする設定
  • レーザー用PWM($32=1 レーザーモード / $30 最大出力 / $31 最小出力)とLEDでの調光テスト

スポンサーリンク

CNCシールドの配線修正とZ軸リミットスイッチの仮実装

CNCシールド上でZ軸リミットの配線をSpnEN端子側へ差し替えた写真

前回特定した基板のコピーミスを修正します。安価な海外製基板では、シルク印刷よりテスターの導通確認を信じるのが確実です。

  • 対策:Z軸のリミットスイッチを、基板上の「SpnEN」(本来D12が割り当てられるべき場所)に接続する

Z軸リミットスイッチの接続とステータス確認

GRBL・CNCjsの仕様上、Z軸が実装されていないとホーミング全体を完了できません。ニンジンの環境はXYテーブル流用でZ軸を筐体に固定できないため、単独のステッピングモーターとリミットスイッチを仮配線して検証します。

XYテーブルに加えてZ軸用の単独モーターとリミットスイッチを仮配線した結線図

XYテーブルとは別に、Z軸用のステッピングモーターとリミットスイッチを一時的に配線します。

CNCjsのコンソールで ? を実行し Pn:Z が消えたステータス表示

CNCjsのコンソールで ?(ステータスレポート要求)を実行して確認します。

> ?
<Alarm|MPos:0.000,0.000,0.000|FS:0,0>
ok

Pn:Z(Z軸リミットON状態)の表示が消えました。ようやくホーミングのスタートラインです。


スポンサーリンク

ホーミング実行で「ALARM:8(Homing fail)」が発生する

リミットスイッチが認識されたので、CNCjsのコンソールに $H を打ち込んでホーミングを実行します。

CNCjsのコンソールに ALARM:8 (Homing fail) と表示された画面

コマンド:$H

> $H
ALARM:8 (Homing fail)
ok
Grbl 1.1h ['$' for help] [MSG:'$H'|'$X' to unlock]

ダメでした。ただしZ軸のモーターは確かに回りました。

Z軸が仮組みだと何が問題になるのか

現在の環境はXYテーブル流用中で、Z軸はユニット構成外のためスイッチと連動していません。GRBL(CNCjs)の仕様は次の通りです。

  • ホーミングは 「Z軸」⇒「X軸・Y軸」の順で実施される
  • Z軸のホーミング中にエラーが発生すると、ホーミング全体が中断(ALARM:8)される

そこで、Z軸モーターの動きに合わせてリミットスイッチを手動でON⇒OFF⇒ON⇒…とすれば、GRBLはZ軸がホーミングしたと認識すると仮定して進めます。

作戦変更:動作を遅くしてタイミングを合わせる

モーターの回転に合わせて手でスイッチを叩くのは至難の業なので、動作を遅くして視認しやすくします。

  • $132=200:Zの移動距離を確保する
  • $27=3.000:プルオフ(スイッチから離れる距離)を大きくする

これでもう一度 $H。……しかし結果はまた ALARM:8。


スポンサーリンク

解明:GRBLのホーミング成功に必要な「4ステップ動作」

八方塞がりかと思いながら何度もスイッチを叩いていたそのとき、ホーミングに成功しました。試行錯誤の結果、CNCjs(GRBL)が求めている挙動が見えてきました。

  1. 高速アプローチ:モーターが移動しスイッチに当たる(スイッチON)
  2. 一時退避:少し逆回転して離れる(スイッチOFF)
  3. 精密アプローチ:低速でもう一度当たる(スイッチON)
  4. 最終退避:少し離れて停止する(スイッチOFF)

つまりスイッチの動きは ON ⇒ OFF ⇒ ON ⇒ OFF でした。当初想定していた「ON ⇒ OFF ⇒ ON」では最後の「離れる」動作を確認できず、エラー扱いになっていたのが原因です。

動作原理が分かれば対策は簡単です。モーターの回転音とタイミングに合わせて、手元で「カチ、カチ、カチ、カチ」と4回リズムよくスイッチを押せば、確実にホーミングを成功させられます。

ホーミング後にワーク座標を 0,0,0 に初期化する

CNCjsのワークオフセットP1をゼロにするメニューを開いた画面

ホーミング後にワーク位置が「0,0,0」になっていない場合、そのままでも正常ですが、揃えたいときは次の操作をします。

  • 座標表示の ▼ 印をクリック
  • 「ワークオフセットP1をゼロにする(G10 L20 P1 X0 Y0 Z0)」をクリック
CNCjsのワーク位置が X0 Y0 Z0 に初期化された画面

ワーク位置が「0,0,0」になります。


スポンサーリンク

加工用レーザーを想定したPWM出力の制御確認($32・$30・$31)

ホーミングの課題をクリアしたので、最終段階として加工工具(レーザーモジュール)の制御を検証します。

使用ピンとGRBLパラメータ

信号出力には ArduinoのD11ピン(Spindle PWM)を使います。このピンのPWMデューティ比を変えることで、レーザー出力を0〜100%まで無段階に調整できます。

  • $32=1:レーザーモードを有効化。移動コマンド(G0)中はレーザーが自動消灯し、切削送り(G1/G2/G3)のときだけ照射される仕様に切り替わる
  • $30=1000:最大出力(S値)を設定
  • $31=0:最小出力を設定。これで S1000 が出力100%、S500 が50%として扱われる

LED調光による「Lチカ」検証

CNCjsでホーミング完了後にLED調光テスト用Gコードを実行している画面

レーザーモジュールを接続する前に、LEDで出力信号をテストします。

  • 配線:シールドの配線ミスがあるため、接続先は「Z-」ピン(実体はD11)。「D11 → 抵抗 → LED → GND」で回路を組む
  • CNCjs設定:軸が停止していてもLEDを点けたいので一時的に $32=0(レーザーモードOFF)にし、$30=1000 を確認

test04_LED.nc(ひし形を描きながら S250 → S500 → S750 → S1000 と出力を上げる)

G21          ; 単位をmmに設定
G90          ; 絶対座標モード
F1000        ; 速度を少し早めに設定(変化を見やすくするため)

; --- スタート地点へ移動 ---
G0 X110 Y110 ; 円の開始点へ移動

; --- 出力テスト開始(4分割で強さを変える) ---
M3 S250      ; レーザーON(25%出力)
G2 X160 Y160 I50 J0   ; 1/4円

S500         ; 出力アップ(50%)
G2 X110 Y210 I0 J50   ; 1/4円

S750         ; 出力アップ(75%)
G2 X60 Y160 I-50 J0   ; 1/4円

S1000        ; 出力最大(100%)
G2 X110 Y110 I0 J-50  ; 1/4円(元の位置に戻る)

M5           ; レーザー停止
G0 X0 Y0     ; 原点復帰
⬇ test04_LED.nc をダウンロード(ZIP)

実行すると、ひし形(円運動)を描く過程で「S250 → S500 → S750 → S1000」の切り替わりに同期してLEDの輝度が段階的に明るくなり、M3 での点灯・M5 での消灯も正常に機能しました。


スポンサーリンク

まとめと次回予告:本番用アルミフレーム筐体の組み立てへ

XYテーブルの流用から始まった各要素の検証は、今回で完了です。ここまでの成果は次の通りです。

  • 2軸の同期走行テスト
  • コピー基板の配線ミスの特定と物理的な回路修正
  • GRBLのホーミング動作(4ステップ)の仕様解明
  • PWM信号によるレーザー出力制御の視覚的確認

次回・第7回では、いよいよ本番用の「アルミフレーム式筐体」の組み立てに着手します。

次に読む記事

🏗️ 次回はこちら(第7回) GRBLで「Check Door」が誤発生する原因|Gコードの日本語コメント(UTF-8)の罠 アルミ筐体へ移行してペンプロッター化。step/mm・$3の再計算と、謎の [MSG:Check Door] の真犯人を解説します。 → ⚙️ 前回はこちら(第5回) CNCシールドでリミットが常時ON(Pn:Z)になる原因|GRBLのD11・D12ピン反転の罠 今回の配線修正の前提。D11/D12入れ替わりの原因究明はこちら。 → 🗺️ シリーズ全体像 ゼロから自作するCNCの全手順ロードマップ|Arduino・GRBL・CNCjsでレーザー刻印機を作る 第1回〜第10回の全工程をまとめたロードマップ。 →

スポンサーリンク

よくある質問(FAQ)

Q$H を実行すると ALARM:8 (Homing fail) で止まります。

AGRBLのホーミングは、各軸で「スイッチにON→少し離れてOFF→低速で再度ON→最後に離れてOFF」の4ステップを完了する必要があります。最後の「離れる」動作が検出されないとALARM:8になります。プルオフ距離 $27 を大きめ(例:3mm)にし、リミットスイッチが確実にON/OFFを切り替えているか確認してください。

QGRBLのホーミングはどの軸から動きますか?

AZ軸 → X軸・Y軸 の順です。そのためZ軸のホーミングでつまずくと、XYが正常でもホーミング全体が中断します。Z軸ユニットが未完成の場合は、単独のモーターとスイッチを仮配線して検証できます。

QZ軸の実機がなくてもホーミングを通せますか?

A通せます。Z軸用に単独のステッピングモーターとリミットスイッチを仮配線し、モーターの動きに合わせて手でスイッチをON→OFF→ON→OFFと4回操作すれば、GRBLはZ軸がホーミング完了したと認識します。

Q$27(プルオフ)は何を設定する値ですか?

Aホーミングでスイッチに触れた後、スイッチから離れる距離(mm)です。小さすぎるとスイッチがOFFに戻りきらず4ステップが完了しません。動作確認しやすいよう、まず3mm程度に大きくして挙動を見ると分かりやすいです。

Qレーザーを使うとき $32 は必ず 1 にしますか?

Aはい。$32=1(レーザーモード)にすると、G0移動中は自動消灯し、G1/G2/G3の送り中だけ移動速度に合わせて出力が調整されます。LEDでの静止テストなど「止まっていても点灯させたい」場合だけ一時的に $32=0 にします。

QD11ピンからPWMが出ません。

A本記事のCNCシールドはD11/D12が入れ替わっているため、実際にPWMが出るのは基板上の「Z-」端子(実体D11)です。まずテスターでArduinoのD11とシールド端子の対応を確認してください。$30 が0のままだと出力が出ない点にも注意します。



ニンジン🥕アイコン

Follow me on X

本ブログの中の人「ニンジン🥕」はXやってます。新着記事はいち早くポストでお知らせしているので、見逃したくない方は @ninjin_py_vba をフォローしてみてください🥕

@ninjin_py_vba をフォロー

この記事が役に立ったら、シェアしてもらえると嬉しいです🥕

Xでポスト はてブ LINE Pocket

PROJECT LOG — SERIES INDEX
スポンサーリンク

シリーズ記事一覧

電子工作・自動化ツールの製作記録をシリーズごとにまとめています。気になるテーマからお読みください。


GPSロガーのCSVを地図に表示する方法|Pico 2 WでGT-502MGG-NとATGM336Hを車に積んで走行・トンネル比較【Python・folium】
GPSロガーで記録したCSVを、Pythonのfoliumと地理院タイルで地図に表示する方法。GT-502MGG-NとATGM336Hを車に積んで4回走り、再起動の原因やトンネルでの違いも比べました。
今週の注目ガジェット〜10/19週〜|電子工作・自作向け新製品まとめ(Romu/W1700K SDR ほか)
大手が拾わないニッチな新製品を毎週チェック。今週はe-Paper開発キット、超小型USBボード、自作SDRなど5本立て。
GT-502MGG-NとATGM336Hの使い方|Raspberry Pi Pico 2 WとMicroPythonでGPSを受信して2台を比較
GT-502MGG-NとATGM336Hの使い方を、Pico 2 W×MicroPythonで解説。北斗で衛星数が多いATGM336H、信号が強いGT-502MGG-N。単精度floatで緯度経度が約1.4m刻みになる落とし穴も紹介します。
今週の注目ガジェット〜10/12週〜|電子工作・自作向け新製品まとめ(Q8botOne/Sipeed SLogic32U3 ほか)
大手が拾わないニッチな新製品を毎週チェック。今週は四足歩行ロボット、ロジックアナライザー、広告ブロッカーなど5本立て。
MOSFETはPicoの3.3Vで足りる?DCソレノイド駆動でゲート電圧不足を実測【Pico 2 W】
Pico 2 WとMOSFET(IRLU3410)で12VのDCソレノイドを駆動。ゲート3.3Vでは発振し、オン抵抗も約2.4倍に。レベル変換で5V駆動にした比較と、電流が8割止まりだった本当の原因を実測で紹介します。
まとめハブ
CNC自作
スポンサーリンク

コメント