【Ender-3改造】3Dプリンターのファームウェアを書き換えた(Marlin1.1.9)

 84,986 total views,  20 views today

ここでは、Ender-3のファームウェアを書き換える方法を紹介する。

【Ender-3改造】Ender-3に32bitのメインボードを導入した(Marlin2.0.x)
【Ender-3改造】3Dプリンターのメインボードとモータードライバを取り替えて静音化した(TMC2208)
【Ender-3改造】3Dプリンターにオートレベリングを追加した(BLTouch互換品)

ファームウェアを書き換えること自体には、最新のファームウェアになるという以上の意味は特にないが、オートレベリングの追加やモータードライバの入れ替えにあたり、必須となるので紹介しておく。

なお、何らかの不具合が生じる可能性もあるため、 ファームウェアの書き換えを行う際は、すべて自己責任で

Ender-3のファームウェア書き換え手順は、ざっくり言うと以下のとおりである。

  1. Arduino Uno(互換機)をAVRライタ化する
  2. Ender-3のメインボードにブートローダを書き込む
  3. Ender-3に新たなファームウェアを書き込む
  4. 動作を確認する

ファームウェア書き換えのための準備

Ender-3の場合、ファームウェアの書き換えが一筋縄ではいかず、手間がかかる。 具体的には、 Ender-3のメインボード(以下、ボード)にブートローダを書き込むところから始めなければならない。

ブートローダを書き込むためには、AVRライタというものが必要になるが、これはArduino Uno等で代用が可能となっている。

Arduino Unoは互換品がワンコインで売られており、電子工作に使えるので、これを機に1つぐらい持っておいても良いのではないかと思う。

Arduino IDEの導入

Arduino UnoをAVRライタ化する際にも、Ender-3のファームウェアを書き換える際にもArduino IDEが必要になる。

すでにArduino IDEが使える環境なら、この手順は飛ばしてしまっても構わない。

まずは、Arduinoの公式ページから自分の環境(OS)にあったArduino IDEをダウンロードしてくる。

ダウンロードするには、「CONTRIBUTE A DOWNLOAD」(寄付あり)か、「JUST DOWNLOAD」(寄付なし)を選ぶ。

ダウンロードが完了したら、Arduino IDEのインストールを行う。

ArduinoをAVRライタ化する

Arduino UnoをPCと接続する。

このときArduino Unoがどのポートに接続されているかを確認しておく。

どのポートに接続されているのかは、Windowsの場合、「デバイスマネージャー

」から確認できる。

ここでのポート番号は「7」

Arduino IDEを起動したら、「ファイル」→「スケッチ例」→「11.ArduinoISP」→「ArduinoISP」の順に選択する。

後は、「ツール」から該当する「ボード」と

シリアルポート」を選択し、

画面左上にある➡のマークをクリックして、プログラムの書き込みを行う。

少し待つと書き込みが完了する。

Ender-3のボードにブートローダを書き込む

Arduino UnoをAVRライタ化することで、Ender-3のボードにブートローダを書き込むための準備ができた。

次は、Sanguinoのボード定義をArduino IDEに追加する必要がある。

Sanguinoのボード定義をArduino IDEに追加する

SsnguinoのREADME

READMEをみると、Arduino IDEのボードマネージャに以下のURLを追加するように書かれている。

https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json

URLの追加は、Arduino IDEで「ファイル」→「環境設定」の順に選択し、

「追加のボードマネージャのURL」に先ほど示したURL

https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json

を記述することで行える。

その後、「ツール」→「ボード」→「ボードマネージャ」の順に選択し、

ボードマネージャ」から「Sanguino」を探して、 インストールを行う。

AVRライタ化したArduino UnoとEnder-3のボードを接続する

Ender-3のボードにブートローダを書き込むためには、AVRライタ化したArduino UnoとEnder-3のボードをつなぐ必要がある。

このときEnder-3のボードは、できる限り接続されているケーブル(LCDディスプレイ等)を抜いた状態にしておく必要がある。そうしておかないと書き込みを行う際、高確率で失敗してしまう。

まずは、AVRライタ化したArduino UnoとEnder-3のボードをつなぐ。

使用するピンはそれぞれ下の画像の通りで、同じ色の矢印で示されたピン同士をジャンパーワイヤーでつなぐ。

次に、AVRライタ化したArduino UnoとEnder-3のボードとをそれぞれPCのUSBポートに接続する。

スポンサーリンク

ブートローダを書き込む

※ブートローダを書き込むことで、Ender-3のボードに元々書き込まれていたファームウェアは消えてしまうので、あくまでも自己責任で。

ブートローダの書き込みを行うには、「ツール」メニュー内の各項目について、以下の通りに設定する。

  • ボード:Sanguino
  • プロセッサ:ATmega 1284 or ATmega 1284P (16MHz)
  • シリアルポート:Arduino Unoをつないだポート(※Ender-3のボードをつないだポートではない)
  • 書込装置:Arduino as ISP

ここまでできたら、あとは「ツール」メニュー内にある「ブートローダを書き込む」をクリックして、Ender-3のボードにブートローダを書き込む。

しばらく待つと、書き込みが完了する。

ファームウェアの書き換え

ファームウェア書き換えのために必要だった準備に比べると、書き換え自体は驚くほどあっけなく終わってしまう。

Marlin1.1.9の導入

ここでは、Marlinというファームウェアを導入する。

まずは、Marlinの公式ページから最新のファームウェア(Latest releaseと書かれているもの)をダウンロードしてくる。

次に、ダウンロードが完了したらzipファイルを任意の場所に解凍し、解凍してできた「Marlin」フォルダを開く。

Marlin」フォルダを開いたら、今度はその中にある「example_configurations」というフォルダを開く。

その次に、「Creality」というフォルダを開く。

今度は「Ender-3」というフォルダを開く。

Ender-3」フォルダ内にあるファイルをすべて選択し、右クリックメニューからコピーを選択する。

そうしたら「Marlin」フォルダまで戻り、コピーしたファイルを右クリックメニューから貼り付ける。

この時、上書きの確認ダイアログが出るが、上書きしてしまって問題ない。

コピーしたファイルの貼り付けが終わったら、同じ「Marlin」フォルダ内にある「Marlin.ino」という名前のファイルを開く。

自動的にArduino IDEが立ち上がるはずなので、そうしたら「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」の順に選択し、「ライブラリマネージャ」を起動する。

ライブラリマネージャ」が起動したら「U8glib」というライブラリを探し、インストールする。

なお、「U8glib」はEnder-3のディスプレイ表示のために必要となるライブラリである。

ここまでできたらEnder-3のボードをPCに接続し、「ツール」から以下の通りに設定して、

  • ボード:Sanguino
  • プロセッサ:ATmega 1284 or ATmega 1284P (16MHz)
  • シリアルポート:Ender-3のボードをつないだポート
  • 書込装置:AVRISP mkII

左上にある➡マークをクリックし、Ender-3のボードにファームウェアの書き込みを行う。

しばらく待つと、書き込みが完了する。

これで、ファームウェアの書き換えができた。

さきほど言ったとおり、書き換え自体は実にあっけなく終わったのではないかと思う。

動作確認

ボードの配線をもとの状態に戻し、Ender-3の動作に問題がないか確認を行う。

まずは、電源を入れてディスプレイの表示に問題がないかを確認してみる。

ノズル温度やベッド温度が正しく表示されていない場合には、配線が間違っているかもしれない 。

次に、オートホームを実行してみて各軸のモーターの動作方向や、エンドストップが正常に機能しているかどうかを確認してみる。

ここで問題があれば、やはり配線が間違っているかもしれない。また、モーターの動作方向が逆ならば、ファームウェアの該当箇所を修正する必要がある。

具体的には、「Invert the stepper direciton」の項目で動作方向が逆になっているモーターの行がtrueになっているならそれをfalseにfalseになっているならそれをtrueに変える

そのほか、特に問題がなければ、これでファームウェアの書き換え作業は終了である。

次の記事では、Ender-3にオートレベリングを追加する方法を紹介する。

まとめ

  • Ender-3のファームウェアを書き換る方法を紹介した。
  • Ender-3のファームウェア書き換えは、下準備が手間である。
  • 次回は、Ender-3のオートレベリング導入方法を紹介する。