3Dプリンター「JGAurora A3S」のファームウェアをアップデートする

2018年12月5日3Dプリンター,Ad,社外部品・DIY

現在、3Dプリンターでウイングスタビライザーを作成していますが、車に乗るのは週末のみなので色々部品を作っても、合わせてみたり試してみる事も週末のみの状態です。平日の夜に3Dプリンターを動かしている事もありますが、遥かに止まっている事の方が多いので今回は何か作る代わりに、ファームウェアをアップデートしてみる事にしました。

スポンサーリンク

最初に

この記事内容は実際に私のA3Sで行った結果で書いていますが、A3Sの製品バージョンやPC等の他の環境によっては異なる場合があります。またWikiの記載内容、ファームウェアの内容も変更される可能性があるので、記事内容を参考にしてアップデートを行っても、その結果を保証する事は出来ません。アップデートを行う際は自己判断と自己責任の下で行ってください。私がアップデートを行ったのは2018年11月下旬で、使用しているPCはWindows10 Home 64ビット版です。

注記!(後日追記)

A3Sは本体側面にUSBメモリー用のポート(TypeA)が無く、代わりに正面のパネル側にSDカードスロットの付いた「A3S MkII」とされる機種に更新されている様です。A5でも新たに「A5S」という機種が追加されましたが、そのA5Sと同様に内部のボードやモータードライバー、操作パネルのボードも一新されている様です。従ってA3S MkIIとされる機種では、ファームウェアの内容や仕様自体も異なると思われます。A3SのファームウェアでA3S MkIIのファームウェアアップデートは行わない様、注意して下さい。

「JGAurora A3S」のファームウェア

「JGAurora A3S(以下、A3S)」のアップデート用ファームウェアはメーカーで公式に公開しているものではありません。有志によって作成、公開されているものなので、メーカーによるサポートは受けられません。またファームウェアのアップデート後は同様に、保証の対象外となる事も考えられます。JGAurora製品の非公式Wikiがあり、この中でA5(印刷範囲の広い兄弟機種)と一緒に様々な情報が記載され、ファームウェアに関する情報も公開されています。

ファームウェアの内容

A3Sの製品バージョンによっては、元の製品のファームウェアの内容も異なる可能性がありますが、有志によるファームウェアでは改善項目として以下の内容がWikiに記載されています。以下Google翻訳にて翻訳後、意訳して転載。

まずはメーカーからの工場出荷状態でのファームウェアでは

  • 温度に+10℃の誤差
  • フィラメントフィーダーに14%の誤差(「under-extruding」→14%少ない?)
  • デフォルトの移動速度が速過ぎ(「大きなプリントヘッドでは」→A5の事?)

これに対して有志によるファームウェアでは

  • 印刷品質を向上させる為のスムーズな動き
  • 原点復帰動作の改善(速さ、正確さ)
  • フィラメントフィーダーの押出し量の改善
  • 印刷中にリセットが掛かって止まってしまうバグ等の改善

と記載されています。Wikiでは全体的にA5を主としているのでA3Sでは該当しない個所があるかもしれません。

またこれまでオープンソースである「Marlin 3Dプリンター」のファームウェアを使用しているにも関わらず、メーカーがそれを公開していなかったとありますが、最近になってメーカーHPでもファームウェアが公開されています。ただしこちらは改善を目的としたものではなく、あくまで製品に含まれているファームウェアの様です。

ファームウェアのアップデート手順

アップデート手順もWikiに記載されていますが、日本語に翻訳してもちょっと意味不明な部分があり、ファームウェアのアップデートを躊躇いましたが、なんとか上手く出来た様なので改めてその手順をここで書いてみます。※実際にアップデートを行う場合は、Wiki側の手順も確認して下さい。基本的にはWikiに記載された方法で問題はなく、以下に記載する内容も同様の方法(手順)です。

ファームウェアのダウンロード

Wikiで公開されている、アップデート用のファームウェアはバージョンとして「Rev.C」が最新の様ですが(2018年11月現在)、Rev.Cは8月28日に更新されています。Wikiにファームウェアをダウンロード出来るリンク(Dropbox)が記載されていますが、工場出荷時やRev.B、テスト用ファームウェアなども一緒になっているので、私はこの中から「Custom Marlin Firmware 1.1.8C.zip」を選択しました。ただしこのzipファイル内にも2つのファームウェアが含まれていたので、同じく1.1.8Cとなっている側を使用しています。ファームウェアに含まれる多くのファイルの更新日が2018年1月21日ですが、「Sd2Card.h」というファイルが2018年8月28日になっていたので、Rev.Cの更新版と判断しました。

またA5用のファームウェアは、A3Sとは異なります(ダウンロードのリンク先も)。さらにLCD(表示パネル)用のファームウェアも公開されているので、間違えない様に。

書き込み用ソフトウェア

ファームウェアの他にA3Sへファームウェアを書き込む為のソフト(arduino IDE)も必要です。これもWikiに記載されているので、リンク先からダウンロードしてPCにインストールしておきます。

アップデート作業

ここから実際にPC及びA3Sでの作業となります。A3Sの電源は切ったままとし、PCでは他のソフトやシリアルポート(USB機器)を利用するソフトを終了させておきます。

1.arduino IDEを立ち上げてファームウェアを読み込む

ダウンロードしたファームウェアを解凍し、インストールしたarduino IDEを立ち上げます。「ファイル-開く」で解凍したファームウェアのファイルの中から「Marlin.ino」を選択して開きます。

ファイルを開くと別ウィンドウで新たに開きました(上記右)。立ち上げた際に開いていたウィンドウ(上記左)はこの時に閉じてしまっても問題はありませんでした。新たに開いたウィンドウでは多くのタブが表示されていますが、最初の「Marlin」タブが選択されている事を確認します。

2.A3SのLCDパネルケーブルを抜く

メインボードからLCDパネルに繋がっているケーブルを抜きます。A3Sの底面の開き部分からすぐの位置にコネクターがあるので、A3Sを分解する必要はありませんでした。

3.arduino IDEの設定を行う

PCとA3Sを付属のUSBケーブルで繋ぎ、A3Sの電源を入れます。LCDパネルのケーブルを抜いているので、画面の表示と電源投入時のブザー音はありません。

まずはarduino IDEの「ツール-ボード」から「Arduino / Genuino Mega or Mega 2560」を選択します。さらに「ツール-プロセッサ」で「Atmega 2560(Mega 2560)」を選択します。

次に「ツール-シリアルポート」で「USB-SERIAL CH340」となっているCOMポートを選択します。COMポートの確認はWindows10の場合「設定-デバイス」から確認出来ます。

「USB-SERIAL CH340」が無い場合はドライバーを別途インストールする必要がある様で、WikiにMac用とPC(Win)用のリンクが記載されています。私の場合はドライバーのインストールは必要ありませんでしたが、インストールしても出てこない場合は他のUSBポートに差し替えてみたり、PCを再起動してみると出て来るかもしれません。

4.ライブラリーのインストール

arduino IDEで「スケッチ-ライブラリをインクルード-ライブラリを管理」を選択します。「ライブラリマネージャ」が開くので、検索欄で「u8glib」と入力します。検索結果が絞り込まれるので、一番下の「u8glib」からバージョン「1.19.1」を選択して「インストール」をクリックします。

インストールが完了したら、ライブラリマネージャは閉じます。

スポンサーリンク

5.A3Sへの書き込み

arduino IDEで上部の右矢印のアイコンか、「スケッチ-マイコンボードに書き込む」を選択すると、ファームウェアがA3Sに書き込まれます。

ただし書き込み初めは「スケッチのコンパイル」に時間が掛かりました(3分位?)。その後に実際の書き込みが行われます。書き込み自体はそれほど時間は掛かりませんでした。arduino IDEで「完了しました」と表示されます。

6.LCDパネルのケーブルを繋ぐ

A3Sの電源は入ったままの状態で、抜いていたLCDパネルのケーブルを元の形に繋ぎます。電源が入ったままというのも心配ですが、ファームウェアを変更しているのでこのまま電源を切る事も心配です。Wikiの手順通りに行いました。ケーブルを繋ぐと電源投入時と同じ様にブザー音が鳴り、画面もこれまでと変わらない画面が表示されます。

7.ファームウェアEEPROMの初期化

arduino IDEで「ツール-シリアルモニタ」を選択します。COMポートの通信ウィンドウが表示されるので、ウィンドウ下部の通信速度を「250000bps」、終了を「CRのみ」にします。最初に文字化けしていた内容が正しく読み取れる様になりました。

続いて上部の入力欄に「M502」と入力してエンターキーを押し、さらに「M500」と入力してエンターキーを押します。それぞれの入力後に以下の反応がありました。

これでA3Sのファームウェアアップデートは完了です。A3SからUSBケーブルを抜いて、PCのarduino IDEを閉じます。

注記

A3Sの電源を切ってもUSBケーブルがPCと繋がっていると、PC側から給電されてLCDパネルは表示されたままでした。

ファームウェアアップデート後の様子

この記事を書いている時点ではまだ実際のプリントは行っていませんが、原点復帰を行ってみると明らかにモーターの動作音が静かでスムーズになった印象です。現物に合わせてしっかりチューニングされたという事でしょうか。原点復帰の動作自体もちょっと変わっている気がします(アップデート前を覚えていない・・・)。

LCDパネルのファームウェアアップデートについて

WikiではLCDパネルのファームウェアも公開されていますが、今回行ったファームウェアのアップデートにはプリント開始後のブリムやスカートのプリント中に、Z軸(プリントヘッド)の高さを微調整出来る機能が含まれている様です。その微調整用の操作機能(ボタン)をパネルに追加するのがLCDパネルのファームウェアのアップデートで、特に必要の無い場合はアップデート不要と記載されています。

LCDパネルのファームウェアのアップデートはSDカードのみで簡単に行える様ですが、私は今の所、面倒なので必要無さそうなので見送っています。→後日アップデートしてみました。高さの微調整機能は意外に便利です。

開始・終了のGcode

Wikiではプリント開始、終了時の動きを設定しているGcodeも、デフォルトの状態から変更した物が公開されています。Gcodeはスライスソフト側で設定する内容なので、記載されているGcodeに書き換えるだけです。こちらもまだ試していませんが、現状のA3Sではプリントが終了するとテーブルが後方(原点側)に行ってしまいます。この点も修正されている様なので、いずれLCDパネルと合わせてGcodeも変更してみようと思います。

おまけ

arduino IDEでシリアルモニタを開いたままA3Sを動かすと、都度動作の状態が表示されました。それ以上の事は特に何もありませんけれど。

そう言えばスライスソフト(CURA)ではUSBケーブルでPCとA3Sを繋いだ状態であれば、直接Gcodeファイルを転送してプリントを開始したり、プリント状況のモニターなどが行えるのですね。USBメモリーをいちいち使うのもちょっと面倒ですが、PCの場合もプリントが終了するまで接続したままにする必要があるのであれば、それもまた面倒です。

「3Dプリンター」関連記事

以下は「3Dプリンター」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。