85,299 total views, 28 views today
ここでは、Ender-3のファームウェアを書き換える方法を紹介する。
【Ender-3改造】Ender-3に32bitのメインボードを導入した(Marlin2.0.x)
【Ender-3改造】3Dプリンターのメインボードとモータードライバを取り替えて静音化した(TMC2208)
【Ender-3改造】3Dプリンターにオートレベリングを追加した(BLTouch互換品)
ファームウェアを書き換えること自体には、最新のファームウェアになるという以上の意味は特にないが、オートレベリングの追加やモータードライバの入れ替えにあたり、必須となるので紹介しておく。
なお、何らかの不具合が生じる可能性もあるため、 ファームウェアの書き換えを行う際は、すべて自己責任で。
Ender-3のファームウェア書き換え手順は、ざっくり言うと以下のとおりである。
- Arduino Uno(互換機)をAVRライタ化する
- Ender-3のメインボードにブートローダを書き込む
- Ender-3に新たなファームウェアを書き込む
- 動作を確認する
目次
ファームウェア書き換えのための準備
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の場合、「デバイスマネージャー
」から確認できる。
Arduino IDEを起動したら、「ファイル」→「スケッチ例」→「11.ArduinoISP」→「ArduinoISP」の順に選択する。
後は、「ツール」から該当する「ボード」と
「シリアルポート」を選択し、
画面左上にある➡のマークをクリックして、プログラムの書き込みを行う。
少し待つと書き込みが完了する。
Ender-3のボードにブートローダを書き込む
Arduino UnoをAVRライタ化することで、Ender-3のボードにブートローダを書き込むための準備ができた。
次は、Sanguinoのボード定義をArduino IDEに追加する必要がある。
Sanguinoのボード定義をArduino IDEに追加する
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のオートレベリング導入方法を紹介する。