3Dプリンタのホームポジション再校正:詳細手順ガイド
はじめに
3Dプリント経験を積むにつれ、ハードウェア改造、ファームウェア更新、スタート/エンドGコードのカスタマイズに挑戦したくなるものです。自分の改良が造形品質向上に繋がるのを実感できるのは大きな喜びであり、膨大な知識が身につきます。
主要コンポーネント(ホットエンド等)を交換すると、新旧パーツの寸法差によりホームポジションの再設定が必要になることがよくあります。筆者もオールメタルホットエンドへの換装で約14mmのオフセットが発生し、対応を迫られました。
本記事では、ほぼすべての3Dプリンタで適用可能なホームポジション再校正手順をステップバイステップで解説します。
再校正には、ファームウェアを開き、物理的変更を反映した設定に変更し、再コンパイルして.hexファイルを生成、プリンタに書き込むという工程が必要です。
3Dプリンタのホームポジション再校正手順
ステップ1:使用ファームウェアの特定

まず、お使いのプリンタがどのファームウェアを使用しているかを特定します。幸い、主要メーカーの多くはMarlinまたはそのカスタム派生版を採用しています。
対応メーカー例:LulzBot、Anet、Artillery3D、Anycubic、Alphawise、Bibo、BQ、BCN3D、Creality、FLSun、FolgerTech、Geeetech、JGAurora、LMYSTAR、Makerbase、Mingda、Printrbot、Prusa Research、Tevo、TronXY、Ultimaker、Wanhao、Zonestar等。
以下、Marlin系ファームウェア前提で解説します(ほぼ全ケースをカバー)。筆者のプリンタ(Createbot製、有名なCreatbotとは別メーカー)もMarlin系です。
オプション1:既存の完成版ファームウェアを入手(最も簡単)
「改造を元に戻したい」「純正ファームウェアに戻したい」場合に最適です。
1.1 プリンタ専用ファームウェアをダウンロード
主要メーカーのダウンロードリンク:
- Prusa:https://www.prusa3d.com/drivers/
- Creality:https://www.creality.com/en/download
- Anet:https://shop.anet3d.com/blogs/download
- Ultimaker:https://ultimaker.com/software/firmware
- 汎用Marlin:https://marlinfw.org/meta/download/(要コンパイル)
上記にない機種は「機種名 + firmware」で検索すれば見つかります。
1.2 プリンタとPCを接続
USB-Bケーブルでの接続が最も確実です。付属していることが多いですが、なければ一般的なプリンタ(紙用)のケーブルが流用できます。
1.3 ファームウェアをプリンタに書き込み
Curaを使用した手順(他スライサーもほぼ同様):
- 「設定」→「プリンタ」→「プリンタの管理」を開く
- 対象プリンタを選択し「ファームウェアの更新」をクリック
- PCとプリンタの接続が確立されていれば「カスタムファームウェアのアップロード」が選択可能
- ダウンロードした.hexファイルを選択してアップロード(1分程度かかる場合あり、完了まで接続を切らないこと)

完後すれば、最新ファームウェアでプリンタが稼働します。
オプション2:Marlinファームウェアを自前でコンパイル(上級者向け)
難しく見えますが、失敗してもオプション1で戻せます。完遂すれば上級者の仲間入りです。
事前準備:Arduino IDEをインストール(公式サイトから無料DL可能)。
2.1 ファームウェアソースコードをダウンロード
Marlin公式からソースコードを取得。プログラミング経験は不要です。
CubeAnet8、Anycubic 4MAX、TronXY X5s、Anet AM8をお持ちの場合は、設定済みファームウェア配布サイト(ドイツ語)から入手可能です。
2.2 Marlinファームウェア設定の変更

Arduino IDEでMarlin.ino(Marlinフォルダ内)を開き、Configuration.hタブで以下の行を探します。
※出荷時のカスタム設定ファイルを使っている可能性が高いため、メーカー/販売元から入手してそれを編集するのがベストプラクティスです。
目的の位置になるまで設定値を調整します。試行錯誤だと手間なので、ノギスで実測するか、Repetier Hostを使ってスムーズに調整することをお勧めします。
2.3 ファームウェアのコンパイル
修正完了後、「スケッチ」→「検証/コンパイル」を実行。
Ender 3等(ATmega1284P搭載機)の場合
デフォルトではサポートされていないため、以下の追加作業が必要:
- SanguinoをDLし、Arduino IDEの
hardwareフォルダに展開 - ツール→ボード:Sanguino、プロセッサ:ATmega1284 or ATmega1284P (16 MHz)を選択
- U8GlibをDLし、スケッチ→ライブラリをインクルード→.ZIP形式のライブラリを追加
コンパイル済みファームウェアのエクスポートとアップロード
「スケッチ」→「コンパイル済みバイナリをエクスポート」を実行。Marlin.ino.sanguino.hexとMarlin.ino.with_bootloader.sanguino.hexの2ファイルが生成されます。前者が書き込み対象です。ブートローダーやフラッシュメモリの知識は不要で、オプション1と同様にスライサー経由でアップロード可能です。
プリント中にホームポジションがズレることはあるか?
「ランダムな層でX/Y軸がシフトし、以降全層がズレる」現象は珍しくありません。ファームウェアのせいでホームポジションを忘れたと思いがちですが、真因はハードウェアにあります。
ホーム再校正ではなく、ベルト、モータープーリー、ロッド、Xキャリッジ等の緩み・ズレ・位置決め不良をチェックすべきです。
理由:プリント開始時、プリンタはホームルーチンを実行して原点復帰します。以降、Gコードの指示に従うだけで、初期位置の記憶はありません。「正しくホームした」「以降の移動も正しく実行された」と仮定して動作し続けます。ベルトが緩んでいれば層ズレが発生しますが、プリンタにはその異常を検知する手段がありません。
ホームポジションが正しいか確認する方法
以下3つの簡単な方法で確認可能です。
ベッドレベリングルーチンで確認
最近のプリンタはオートベッドレベリングを搭載し、四隅と中央でノズル-ベッド間隔を測定します。ルーチン開始時、エンドストップ寄りのコーナーに移動するはずです。そこが大まかに正しい位置か目視確認できます。
ビルドプレート形状の長方形をプリント
スライサーでビルドプレートサイズの長方形を作成。フィラメントを外し、初期温度を極端に低く設定すれば、加熱待ちなしで即座に動作確認できます。
独自Gコードでホーム動作をテスト
最も直接的な方法。以下の2行Gコードファイルを作成し、実行します。
G28 ; 全軸ホーム(エンドストップまで移動)
G1 X0 Y0 Z15 F3000 ; X/Yゼロ位置へ移動(Zは安全のため15mm上げる)
おすすめ製品セクション

プリンタ、フィラメント、アップグレード選びの迷いを解消し、リサーチ時間を短縮する厳選おすすめ製品を掲載。初心者からエキスパートまで対応可能な機種、実地テスト済みのフィラメント・パーツのみを紹介しています。
3Dプリント
- Arduinoで大型3Dプリンターを自作するステップバイステップガイド
- 3Dプリンター押出機のメンテナンス:最適パフォーマンスのためのベストプラクティス
- CADimensions 3Dプリンターラボ建設:実践的な設計の旅
- 過去から現在へ:Stratasys 3Dプリント25年の進化
- 3Dプリンティング向け主要CADソフトウェア:プロフェッショナルガイド
- 3Dプリンターレジンは再利用できる?保管・廃棄・寿命の完全ガイド
- 3Dプリンターの騒音レベル:静かな機種選びと騒音対策
- 絡まった3Dプリンターフィラメントスプールを解くクイックガイド
- UV 3Dプリント: SLAレジンがより速く高品質なプリントを実現する仕組み
- 家庭用3Dプリントのコスト内訳: 電力、材料、節約
- 3Dプリンターステッピングモーター完全ガイド:高品質プリントのために