見出し画像

【備忘録】Anycubic MEGA Proのファーム書き込み失敗してブートローダが逝ってしまい、PCから接続できなくなったのを復活させた

 初めにお断りしますが、聞きながら勉強しながら成功させたので自分用のメモ。間違いがあるかしれませんが、素人でもなんとかなった事例という事で許して下さい。

1.ファームウェアを更新しようとして失敗

OctoPrintのPluginでFirmwareUpdaterを使って更新中に誤ってブラウザを閉じてしまったところOctoPrintでプリンタを認識しない。
 PCとUSB接続もできない
3Dプリンタの液晶画面の温度表示は0/0度(現在の温度/ターゲット温度)。通常ならば24/0 という具合に分子側は室温にちかい温度になってるはず。
液晶画面を操作して「About」の画面を見ると

画像1

ファームウェアの欄がブランクになってて明らかにおかしい。
試行錯誤するも全く埒があかずお手上げ状態。

2.Arduinoというやつ

とにかく状況が呑み込めないのでTwitterで情報を求めると
「ブートローダが飛んだ可能性あり」という話。またそのブートローダを書き直せばなんとかなるかもしれない。でもそのブートローダを書き込むにはArduino というマイコンボードが必要。どうせ一回しか使わないだろうからとメルカリで探したら800円弱で売ってた。(安っ!)Arduino 互換と書いてあるけど、まぁ失敗しても800円なので買いました。
(終わってから感動したのでArduinoを真剣に勉強したくなりました)

画像2


3.Arduinoを書き込み装置にする

Arduino IDEという、ファームウェアをコンパイルするヤツを使って買ってきたArduinoのボードに何かを書き込む必要がある

まずは、USBケーブルを使ってArduinoとPCを接続し、ツールメニューからボードの種類を選択。今回はArduino UNOを買ったのせそれに設定。

画像4

Arduinoが接続されているCOMポートを選択、今回はCOM5

画像5

IDEのメニューから、「ファイル」→「スケッチ例」とたどり、「ArduinoISP」を選択。

画像3


スケッチーマイコンボードに書き込む、または上部の「→」アイコンを選択すると、勝手にコンパイルし書き込みが始まりすぐに終わる。

画像7


画像6

これでArduino UNOが「書込み装置」になった。

4.Trigorillaとの接続

このTrigorillaという3DプリンタのボードもArduinoベースなので、Arduinoのブートローダを書き込む事で復活する。

6P使って2つのボードを接続。
右側は小さいけど、3Dプリンタのボードに「ISP」と書かれたピンが3x2列で並んでいる部分を見つけて下の図を参考に接続。
(この時は、3Dプリンタ電源オフ、ArduinoUNOはUSBケーブルを抜いておく)

確実に差し込む、抜けないように注意する。(途中で抜けたりすると最悪再起不能になる)

ArduinoUNO  -  Trigorilla ISP 
12    -   1
5V   -    2
13   -    3
11   -    4
10   -    5
GND  -  6(GND)


画像8

接続が間違いないか3回ぐらい確認して、Arduino UNO にUSBケーブルを接続。(下の写真、なんか光る。3Dプリンタ側のボードも電源入れてないのに一部光る)

画像9

5.ブートローダの書き込み

ArduinoUNOは「書込み装置」になっているので、ArduinoIDEの設定を変更する。
ボード Arduino Mega or Mega 2560
プロセッサ  ATmega2560(Mega2560)
書込み装置 "Arduino as ISP"   ※ArduinoISPと間違えないように。

↑↑↑Arduino ISP という書込み装置を使ってATmega2560に書き込むという設定になっている。

画像10


再度結線状態を確認してから ツール - ブートローダを書き込む で書込み」開始

画像10

6.書込み完了

書込みが正常に終了したら、Arduino UNO を外して、3Dプリンタの電源を入れ、USB接続で認識出来たら完了。

↑通常はここまでで終わるという事らしい↑

7.ファームウェアをArduinoUNO経由で書込み

実は、ブートローダを書き込んでもPCやOctoprintから認識できず、ファームウェアの書き込みが出来なかったので引き続きArduino UNO を書き込み装置として使い、ArduinoIDE - Arduino UNO - Trigorillaへ直接ファームウェアを書き込む。

8、再結線

結線方法は上と同じ様に、Arduino UNOとISPを6Pで接続。


9.ファームウェアの書き込み

Arduio IDEでファームウェアを書き込むにはhexファイルだけではできないのでソースファイルを入手する必要がある。

 Anycubic MEGA Pro の純正ソースは、サポートに送ってもらったのがこちらにあります。その他の機種の場合サポートに依頼するなり、ネット上で公開されているのを探して入手する。

ファームウェアのソースをArduinoIDEで開いて
ボード Arduino Mega or Mega 2560
プロセッサ  ATmega2560(Mega2560)
書込み装置 "Arduino as ISP"   
に設定を変更

「スケッチ」-「書込装置を使って書き込む」を選ぶとコンパイルしてエラーがなければ書込みが始まり、数分で完了。(長く感じるけど途中で絶対に止めたりしないで待つ)

画像12

10.無事完了

 ArduinoUNOを外して、3Dプリンタの電源を入れると無事に起動、About画面にもファームウェアのバージョンが表示され、PCやOctoprintからも素直に接続できる様になった。


もし気に入って頂けたのであればサポートお願いします。 今後の励みになります!