3Dプリンターのファームウェアをフラッシュ&アップグレードする方法 - シンプルガイド

Roy Hill 17-05-2023
Roy Hill

3Dプリンターを始めてから、ファームウェア、マーリン、フラッシング、アップグレードなどの言葉が出てきて、最初はかなり混乱しました。 3Dプリンターのファームウェアについて調べてみて、その意味がわかったので、他の人の参考になればと思い、記事にしました。

この記事では、ファームウェアとは何か、3Dプリンターのファームウェアをフラッシュしてアップグレードする方法など、ファームウェアに関するトピックを解説していきますので、お役立ち情報をお楽しみにください。

    3Dプリンティングにおけるファームウェアとは? Marlin、RepRap、Klipper、Repetier

    3Dプリンターにおけるファームウェアとは、スライスされたモデルからGコードの指示を読み取り、3Dプリンターの機能を制御する特定のプログラムのことです。 プリンターのメインボードにあり、MarlinやRepRapなど多くの種類があり、それぞれに特徴や特典があります。

    3Dプリンターの最も基本的な動作であるステッピングモーターの動き、ヒーターのスイッチ、3Dプリンターの印刷速度などは、ファームウェアにしかできない数百万の計算が必要です。

    ファームウェアがなければ、3Dプリンターは何をどうすればいいのかわかりません。 例えば、Gコードのコマンドを考えてみると、" M109 S200 ."

    Gコード端末に入力すると、3Dプリンターのファームウェアがそれを認識し、何をすべきかを判断します。 この場合、ホットエンドの目標温度を200℃に設定することになります。

    これは基本的な説明ですが、実はファームウェアはもっと複雑なGコードコマンドを扱うことができます。 3Dプリンターを動かし、私たちが知っているような魔法のプリントを作るのは、基本的にこの方法なんですね。

    3Dプリンターのファームウェアは数多くありますが、その中でも代表的なものをご紹介します。

    Marlin Firmwareとは?

    Marlinは最も有名な3Dプリンタのファームウェアで、現在コミュニティの大半が自分のユニットで使用しています。 ほとんどの3DプリンタはMarlinをデフォルトのファームウェアとして出荷していますが、時間が経つにつれてアップデートした方がよいかもしれません。

    Marlinが人気なのは、他のファームウェアにはない魅力があるからです。 まず、カスタマイズ性が高いので、独自の機能を簡単に追加することができることです。

    さらに、優れたドキュメントと素晴らしいコミュニティサポートがあります。 つまり、Marlinのセットアップは、オンラインで利用できる多数のガイドとチュートリアルで簡単にできますし、ほとんどの人がMarlinを使っているので、3Dプリントの旅であなたを助けてくれる同じ志の人を見つけるのも苦になりません。

    Marlinは信頼性の高いファームウェアで、使い勝手が良いので、3Dプリントを始めたばかりのすべての人にお勧めします。

    RepRapファームウェアとは

    RepRapファームウェアも3Dプリンティングの世界ではビッグネームで、もともとは32ビットDuetコントロールボード用に出てきたもので、いくつかのプレミアム機能を備えた高度で高価なマザーボードです。

    関連項目: 3Dプリントに最適なPETGフィラメント7選 - お手頃価格とプレミアム感

    マーリンよりもRepRapを好む人が多いのは、設定がとても簡単だからです。 専用のウェブ設定ツールがあり、ファームウェアに接続して非常に簡単に変更できます。 これはマーリンではできないことですね。

    しかし、RepRapはMarlinほど互換性がなく、Marlinが8ビットボードでも使えるのに対して、32ビットボードでしか使えません。

    クリッパーファームウェアとは?

    Klipperは比較的新しい3Dプリンター用ファームウェアで、計算速度が速いことで知られています。 その結果、3Dプリンターの印刷速度が速くなり、70~100mm/sを下回ることはありません。

    このファームウェアは、Raspberry Piなどのシングルボードコンピューターを利用して、高精度なステッピングモーターによる高速・高品質な印刷を実現するために、演算処理をオフロードしています。

    Klipperファームウェアは、RepRapファームウェアとは異なり、ほとんどのCartesianやDelta 3Dプリンターでもサポートされており、8ビットボードでも動作します。 使いやすいですが、Marlinのようなレベルのサポートはありません。

    Repetier Firmwareとは?

    Repetierは、豊富な機能を備えた信頼性の高い高品質のファームウェアを探しているならば、もう一つの素晴らしい選択肢です。 広く互換性があり、世の中のほとんどのボードをサポートしており、あなたの好みに合わせて簡単にカスタマイズすることが可能です。

    RepRap同様、RepetierにもWebベースの設定ツールがあるので、ファームウェアの修正も簡単かつ快適に行えます。 Repetierの開発元からはRepetier-Hostというスライサーも出ていますよ。

    RepetierファームウェアとRepetier-Hostを組み合わせて使用することで、エラーが少なく効率的な印刷を実現します。 また、オープンソースのファームウェアなので、定期的にアップデートされ、常に新しい機能が開発元から提供されています。

    3Dプリンターのファームウェアを変更/フラッシュ/アップグレードする方法

    3Dプリンターのファームウェアをアップグレードするには、まずMarlinの最新リリースをダウンロードし、3DプリンターのファームウェアをアップグレードするためのプラットフォームであるArduinoソフトウェアで開く必要があります。 プリンターをコンピューターと接続したら、いくつかの簡単なステップでファームウェアを確認しアップロードするだけです。

    3Dプリントの初心者にとって、3Dプリンタのファームウェアをフラッシュすることは、最初は難しい作業に思えるかもしれませんが、プリンタの最新機能をすべて手に入れ、より信頼性の高い安定したプリントを行うためには、そうする価値があることは間違いありません。

    以下、3Dプリンターのファームウェアをバージョンアップする方法を解説していきますので、それぞれをしっかりと守ってください。

    ステップ1. GitHubにアクセスして、Marlinの最新リリース(執筆時点では2.0.9.1)をダウンロードしてください。 最新バージョンの確認は、ページ上のドロップダウンメニューをクリックして、一番下のリリースを確認することができます。

    コード」ボタンの矢印をクリックし、「ZIPをダウンロード」を選択すると、ダウンロードが開始されます。

    ステップ2. ファイルはZIP形式で提供されますので、続行するには解凍する必要があります。 完了したら、開いて「config」フォルダをクリックしてください。

    ステップ3. examples "フォルダをクリックし、お使いの3Dプリンターを見つけ、メインボードを選択します。 以下の経路は、このステップをどのように行うべきかの例です。

    Configurations-release-2.0.9.1> config> examples> Creality> Ender-3> CrealityV1

    Configuration」「Configuration_adv」ファイルをコピーして続行します。

    ステップ4. 次に、ファイルを「default」フォルダに貼り付けます。 Windows PCの場合は、現在のファイルをコピーしたファイルに置き換えるよう促されます。 これを実行してください。 これで、3Dプリンター用に設定された最新のMarlinファームウェアバージョンができました。

    ステップ5. さて、3Dプリンターのファームウェアをアップグレードするには、Arduinoのソフトウェアが必要です。 Arduino IDEは公式サイトからダウンロードできるほか、Windows PCであれば、Microsoft Storeから快適にインストールすることもできます。

    ステップ6. 次に、Arduino IDEで、フォルダ内のMarlin.inoファイルを使ってファームウェアを起動します。 Arduinoが開いたら、エラーにならないように、「ツール」のセクションで3Dプリンターの正しいボードを選択することを確認します。

    ステップ7. 次に、左上のダニの形をした「Verify」ボタンをクリックすると、ファームウェアのコンパイルが開始されます。 これまでの作業が正しく行われていれば、エラーメッセージが表示されることはないでしょう。

    ステップ8. ファームウェアのアップデートが完了したら、ブートローダーがある場合はUSB接続で3Dプリンターをパソコンに接続するだけです。 ない場合は、プリンターを接続する方法もありますので、記事の後半でご紹介しています。

    接続が完了したら、「検証」ボタンのすぐ横にある「アップロード」ボタンをクリックします。 その際、プリンターの電源がコンセントから抜かれていることを確認してください。

    3Dプリンターのファームウェアのアップグレードは以上ですが、ベッドレベリングオフセットや加速度制限などの設定がリセットされている可能性があります。

    その場合、3Dプリンターのインターフェイスにある「EEPROMの初期化」オプションを使用すると、設定ファイルのすべてを復元することができます。

    以下の動画で、その手順を徹底的に解説していますので、ぜひご覧ください。

    3DプリンターにMarlinファームウェアを追加・インストールする方法は?

    3DプリンターにMarlinファームウェアをインストールするには、まずパソコンでMarlinをダウンロードし、ダウンロードした設定ファイルを編集し、Arduinoソフトウェアを使ってMarlinプロジェクトを3Dプリンターで読める形にコンパイルします。 それが終わったら、アップロードするだけでMarlinが3Dプリンターに追加されます。

    3DプリンターにMarlinをインストールする手順は、上記の字幕とよく似ています。 3Dプリンターに初めてMarlinを追加する場合でも、基本的に前セクションで強調したすべてのステップを繰り返すことができます。

    3Dプリンターのファームウェアを編集するには、Arduino IDEアプリケーションでファームウェアを開いた直後から使用することになります。

    ただし、ほとんどのコードはすでに定義済みで、何も知らずに何かを変更するとフラッシュができなくなる可能性があるので、エディターで設定ファイルをいじらないことが推奨されます。

    Teaching Techによる以下の動画は、3Dプリンタのファームウェアを編集するための素晴らしいガイドですので、詳細はそちらをご覧ください。

    CuraでEnder 3のファームウェアをアップデートすることは可能ですか?

    はい、Curaを使ってEnder 3のファームウェアを簡単にアップデートできます。 まず、ご希望のファームウェアのコンパイル済みバージョンをHEXフォーマットでダウンロードし、Curaを使って3Dプリンターにアップロードするだけです。

    Curaスライサーを使えば、好みのファームウェアを3Dプリンターに素早く簡単にアップロードできます。 この方法を使うのにブートローダは必要ありません。

    必要なものは、USB、HEX形式で必要なファームウェア、そしてもちろんCuraです。 残りのプロセスは、極めて苦もなく実行できますので、今すぐにでも取りかかりましょう。

    以下、Curaでファームウェアをアップデートする方法を説明します。

    ステップ1. DanBPのMarlin Configurationページで、Filesまでスクロールして、Ender 3の設定に対応するパッケージ化されたHEXファイルを見つけます。 また、オンラインで独自のファームウェアを検索することもできますが、ダウンロードする前に、すでにコンパイルされていることを確認してください。

    その部分をページ上でスクロールするとこんな感じです。

    ステップ2. パソコン/ノートパソコンと3Dプリンターを、機械に合ったUSBコネクターで接続します。

    ステップ3. ダウンロード後、解凍してください。 Curaを起動し、3Dプリンター選択エリアの横にあるドロップダウンエリアをクリックしてください。 その後、「プリンターの管理」をクリックし、続けてください。

    ステップ4. ファームウェアの更新」という項目がありますので、それをクリックして次のステップに進んでください。

    ステップ5. 最後に、「カスタムファームウェアのアップロード」をクリックし、先ほどダウンロードしたHEXファイルを選択し、Curaにファームウェアをエンダー3プリンターにアップロードさせるだけです。

    3Dプリンターのファームウェアのアップデートが完了しました。 ファームウェアを保存するために、3DプリンターのEEPROMを初期化することを忘れないでください。

    以下の動画は、上述したプロセスを視覚的に説明するものです。

    3Dプリンターのファームウェアを知るには?

    3Dプリンターのファームウェアを知るには、Pronterfaceなどのソフトウェアを使って、M115のGコードコマンドをプリンターに送る必要があります。 また、Ender 3を含む一部の3Dプリンターには、液晶メニューに「About」または「Printer Info」の項目があり、どのファームウェアがインストールされているか知ることができます。

    ほとんどの3DプリンターにはMarlinまたはRepRapのファームウェアが同梱されていますが、お使いのマシンにどちらがインストールされているかを確認しておくとよいでしょう。

    のことです。 M115 コマンドは、基本的に「現在のマイコンやメインボードのファームウェアのバージョンや機能を要求する」ためのコマンドです。 3DプリンタのGコードコマンドを送信できるソフトウェアのターミナルウィンドウで入力できます。

    Pronterfaceは、ホットエンドやヒートベッドのPIDチューニングなどの技術で3Dプリンターの制御、調整、キャリブレーションを行うために多くの人が利用している人気商品です。

    当該コマンドを入力すると、次のようなコード列が表示されるはずです。

    FIRMWARE_NAME:Marlin 1.1.0 (Github) SOURCE_CODE_URL://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:RepRap EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

    一方、Makerbot Printスライサーソフトウェアを使用している場合、プリントパネルに向かい、3Dプリンタを選択し、"ユーティリティ "をクリックすれば、使用しているファームウェアバージョンを簡単に確認することができます。

    最後に「ファームウェアの更新」をクリックすると、プリンターが使用している現在のファームウェアのバージョンなど、関連するすべての情報がポップアップ表示されます。

    3Dプリンターからファームウェアを取り出せるか?

    しかし、ファームウェアを設定するための.hexファイルを取得した後は、すでにコンパイルされているため、ファームウェアの編集や設定を行うことができないため、長い目で見ると無意味なものとなってしまいます。

    ファームウェアは、コンパイル前は.hまたは.ino形式、コンパイル後は8ビットボードか32ビットボードかによって、.binまたは.hex形式に変換されます。

    例えば、料理を作る前に、すべての材料がテーブルに並べられていて、それを好きなものに置き換えることができます。 料理を作った後は、材料の段階には戻れません。 ファームウェアもそうなのです。

    あなたの3Dプリンターにはブートローダがありますか?

    ブートローダは、プリンターのメインボードにあるマイクロコントローラに余分な記憶領域を占有するため、Creality Ender 3のような低価格の3Dプリンターには搭載されていませんし、搭載するためのコストもかかります。

    ブートローダを搭載している3Dプリンターを紹介します。

    • QIDI Tech X-Plus
    • Monoprice Maker Select V2
    • MakerBot Replicator 2
    • クレアリティ・エンダーCR10-S
    • Flashforge Creator Pro

    ブートローダーがなくてもファームウェアをフラッシュできるのか?

    マザーボードのICSPにファームウェアを書き込む外部プログラマを使えば、ブートローダなしでファームウェアをフラッシュできます。 ICSPはほとんどのボードに搭載されているので、この方法でブートローダなしでファームウェアをフラッシュしても問題はないでしょう。

    ブートローダーは、USBで簡単にファームウェアをフラッシュできるソフトウェアで、メインボードのマイコン(3Dプリンターのファームウェアに関連するすべてを格納する特定の部品)内で最小限のスペースを占めます。

    関連項目: 3Dプリンター用ホットエンド&オールメタル用ホットエンドの入手方法について

    しかし、ブートローダはマイコンに搭載されるため、ベッドレベリングの自動化など、より重要な機能に利用できる可能性があります。

    このため、多くのメーカーは3Dプリンターのメインボード内にブートローダを入れることを避け、ユーザーがより多くの機能のためにスペースを十分に活用できるようにしています。

    そのため、USB接続ができなくなり、ファームウェアのフラッシュが非常に複雑になりますが、プリンターの機能を向上させるために、そのトレードオフに見合うだけの価値があると考える人もいます。

    Thomas Sanladererによる以下のビデオは、ブートローダなしでファームウェアをフラッシュするための素晴らしいチュートリアルですので、徹底的に調べてみてください。

    RepRapとMarlinとKlipperのファームウェアの比較

    RepRap、Marlin、Klipperは、3Dプリンターのファームウェアを選ぶ際に非常に人気のある選択肢です。 しかし、この3つは互いにかなり異なるので、その違いを掘り下げて、どれがトップになるかを見てみましょう。

    建築

    RepRapです: RepRapのファームウェアはC++プログラミング言語で書かれており、Duetコントローラーボードのような32ビットプロセッサーのみで動作するように厳密に作られています。 そのため、3Dプリンター、CNCマシン、彫刻機、レーザーカッターで使用できます。 RepRapはMarlinもベースにしています。

    マーリンです: Marlinは、C++で書かれたSprinterファームウェアをベースにしていますが、かなり汎用性が高く、8ビットと32ビットの両方のプロセッサで実行できます。 RepRapと同様に、3Dプリンタ自体のコンポーネントを制御する細かいGコード計算のほとんどを処理します。

    クリッパーです: Klipperのファームウェアは、ステッピングモーターやベッドレベリングセンサーなどの重要なコンポーネントに焦点を当て、複雑なGコードの計算は、より高性能な別のボード(ほとんどの場合Raspberry Pi)に任せています。 したがって、Klipperは2つのボードを組み合わせて3Dプリンターを稼働させており、これは他のファームウェアにはないものなんですね。

    部門賞を受賞しました: アーキテクチャに明確なメリットやデメリットはありませんが、Marlinは最も経験豊富なファームウェアであり、他の多くのファームウェアの基礎となる強固な基盤を形成しているため、ここに勝利を収めました。

    特徴

    RepRapです: RepRapは、3Dプリントの上級者向けのハイエンドな機能を満載しています。 その中には、正確なステップタイム生成やダイナミックな加速度調整など、スピーディーで正確、かつ高品質な3Dプリントに役立つ機能があります。

    また、Arduino IDEですべてを編集しなければならないMarlinとは異なり、Web設定ツールによってカスタマイズが簡単にでき、手間がかからないのもRepRapの大きな特徴です。

    マーリンです: また、Marlinは長期にわたる絶え間ないアップデートにより、自動ベッドレベリング、プリンターを再起動すると新しい状態に設定するオートスタート、ノズル内に正しい圧力を発生させて正確な動きを実現し、品質を損なわずにプリント速度を上げるリニアアドバンスなどの機能を備えたファームウェアになっています。

    クリッパーです: クリッパーは、ステッピングモーターの振動がプリント品質に与える影響を軽減するインプットシェーピングなどの高度な機能を備えています。 プリントの波打ち効果を排除することで、より高速なプリントと素晴らしい品質を維持することができます。

    クリッパーは、スムースプレッシャーアドバンスと呼ばれる、にじみや糸引きを軽減し、モデルの角の印刷を改善する機能を誇ります。 また、より安定した堅牢なプロセスを維持し、印刷品質を損なうことはありません。 その他にも多くのエキスパートがいます。

    部門賞を受賞しました: クリッパー

    スピード

    RepRapとMarlinです: RepRapは、Wi-FIまたはEthernet接続でSDカードに約800Kb/sの高速アップロードが可能です。 MarlinまたはRepRapで通常値よりも速度を上げると、印刷品質が低下します。

    クリッパーです: Klipperは、このファームウェアの中で最も高速なファームウェアで、スムーズな圧力前進や入力シェーピングなどの機能により、素晴らしい印刷品質と精度を維持しながら、約80~100mm/sという高速印刷が可能です。

    YouTubeには、Klipperを使って150mm/sのスピードで楽々とプリントしている人の動画もありました。

    部門賞を受賞しました: クリッパー

    使いやすさ

    RepRapです: 今回の比較では、間違いなくRepRapの方が使いやすいファームウェアです。 ファイルの設定は専用のWebベースのインターフェイスで行うことができ、ファームウェアのアップデートにも利用できます。

    オンライン設定ツールはRepRapを際立たせ、多くの3Dプリンタユーザーが望む使いやすさをMarlinに与えています。

    マーリンです: 初心者の方にとって、Marlinはコツをつかむのが簡単ですが、ファームウェアの設定が必要になると、時間がかかって難しくなりますね。

    もし、設定に特定の変更を加える必要がある場合、ファームウェアを再フラッシュしてコンパイルする必要があり、基本的にこのプロセスを何度も繰り返すことになります。 良い面としては、Marlinには素晴らしいドキュメント、巨大なコミュニティ、オンラインで学び、助けを得るための豊富な資料があります。

    クリッパーです: Klipperも使いやすいファームウェアで、Raspberry Piに精通している人なら間違いなく使いやすい。 Marlinと違って再フラッシュする必要はないし、設定ファイルの変更も簡単にできる。

    とはいえ、クリッパーは比較的新しいファームウェアであるため、ドキュメントが不足しており、マーリンのようなレベルのヘルプをオンラインで見つけることはできないでしょう。

    部門賞を受賞しました: レップラップ

    互換性

    RepRapです: RepRapはもともと32bitのDuetボード用に作られたものなので、他の32bitボードではほんの一握りしか機能せず、ファームウェアの多様性という点ではあまり優れているとは言えませんね。

    マーリンです: Marlinは、8ビットボードでも32ビットボードでも動作するように作られた、最も互換性の高いファームウェアです。 そのため、3Dプリンターを自作する際にもMarlinが使われています。

    クリッパーです: RepRapとは異なり、Klipperは8ビットと32ビットのボードもサポートしており、世の中にあるほぼすべてのボードで動作します。 また、Klipperは、DIYで3Dプリンタを作り始め、インストールする機能豊富なファームウェアを必要とする人々にとってより好ましいものになっています。

    部門賞を受賞しました: マーリン

    Roy Hill

    Roy Hill は、3D プリンティングの情熱的な愛好家であり、3D プリンティングに関連するあらゆる事柄について豊富な知識を持つ技術の第一人者です。この分野で 10 年以上の経験を持つロイは、3D デザインとプリンティングの技術を習得し、最新の 3D プリンティングのトレンドとテクノロジーの専門家になりました。ロイは、カリフォルニア大学ロサンゼルス校 (UCLA) で機械工学の学位を取得しており、MakerBot や Formlabs など、3D プリンティングの分野で評判の高い企業数社で働いてきました。また、さまざまな企業や個人と協力して、業界に革命をもたらしたカスタム 3D プリント製品を作成してきました。ロイは、3D プリントへの情熱のほかに、熱心な旅行者であり、アウトドア愛好家でもあります。彼は家族と一緒に自然の中で過ごすこと、ハイキング、キャンプを楽しんでいます。余暇には、若いエンジニアを指導し、人気ブログ「3D Printerly 3D Printing」を含むさまざまなプラットフォームを通じて 3D プリンティングに関する豊富な知識を共有しています。