3DプリンターAnet A8の活用


はじめに

Anet A8という安価($150)な組み立てキットの3Dプリンターを2017年の夏に購入しました.印刷精度は,きちんと調節すれば以前試用したもっと高価な製品にも見劣りしないので満足していますが,いくつか改造などが必要だったためメモを残しておこうと思います.

基本設定

通常はFreeCADでモデルを作成してSTLで出力し,Slic3r (Prusa Edition)でG-codeに変換しています.STLファイルの加工にMeshmixerを使うこともあります(エラーのあるデータの自動修正,ポリゴン数の削減,サポートの追加,分割印刷のためのオブジェクト切断,自動回転させて平面を底にする等).

標準のアルミ製ベッドを使用していますが,ベッドへの定着を良くするためにダイソーのスティックのりを塗っています.掃除が少し面倒ですがPLAであればほぼ確実に定着します.

通常は0.2mmの積層ピッチと60mm/sの速度で出力しますが,大きめの物体の場合は0.32mmの積層ピッチと100mm/sの速度で出力します.

改良

購入時のままでは色々と問題があったり使いにくかったのでいくつかの改造を行いました.

1. ヒートベッドのコネクタ交換と固定(必須)

Anet A8のヒートベッドのコネクターには欠陥があることが知られていて,最悪の場合は火事を起こすのでこの改造は必須だと思います.このヒートベッドのコネクターは大きな電流が流れるにも関わらず定格ギリギリの部品が使われており,テーブルがY方向に動くたびにケーブルが動いて力が加わるため接触不良を引き起こして燃える可能性があります.自分も使い始めて1年ほどたった頃にベッドの温度が上がりにくくなり,コネクタを調べたところ焦げていました.対策として,(1)購入時のコネクタはヒーターの電源をプラスとマイナス1本ずつのケーブルで接続しているので,2本ずつにして流れる電流を1/2にする,(2)コネクタから出たケーブルをベッドに固定することで,ベッドが動いてもコネクタに力が加わらないようにする,という改造を行いました.(2)を行うパーツはThingiverseなどにいくつか公開されていますが,このパーツはテーブルを分解しなくても簡単に取り付けられるので利用させてもらいました.

ケーブルのベッドへの固定

2. ファームウェアの更新(thermal runaway protectionの有効化)とヒーターの固定の確認(必須)

Anet A8が燃えたという話はネット上でしばしば見つかりますが,このケースではヒーターブロックからヒーターが脱落したため,温度を正常に検知できなくなったホットエンドを加熱しすぎたことが原因だったようです.このようにセンサーの不具合等によりホットエンドやホットベッドが異常加熱することを防ぐ機能がthermal runaway protectionですが,残念ながらAnet A8に元から搭載されているファームウェアにはこの機能がありません.そこで,ファームウェアをMarlin 1.1.9に書き換えました.この改良はお金もかからずに簡単にできる安全対策なのでやっておくべきだと思います.

なお,ファームウェアをAnet A8用のデフォルトの設定でビルドしたところSDカードが認識されなかったので,

  #if ENABLED(SDSUPPORT)
    if (!card.cardOK) card.initsd();
  #endif

というブロックをMarlin_main.cppのSetUp()の最後の方にある"#if ENABLED(SDSUPPORT) && DISABLED(ULTRA_LCD)"の直前に入れました.また,コンパイル時に警告が多数出ますが,hardware/anet/avr/variants/sanguino/pins_arduino.hのTIMER0AからSCKまでの定義をコメントアウトすれば消えました.

ファームウェアの更新をした際にヒーターがちゃんと固定されているかを念のため確認したところ,手で簡単に抜ける状態だったので急いでヒーターブロックの底面からイモネジを締めて固定しました.これまで一度も確認したことがなかったので,購入時から既に緩かったのか使っているうちに緩んできたのか分かりませんが,かなり危険な状態だったようです.

3. Z軸ガイドロッドのがたつき防止(必須)

Z軸のガイドロッド(ねじ山がついていない方の棒)が固定されている穴はあまりきつくないため,がたついて印刷精度を悪化させます.ネジ部のシールなどに使われるPTFEテープをガイドロッドの両端に巻いてから穴に差し込むことでがたつきを無くした結果,印刷精度が大きく改善しました.もちろんロッドにはグリスも塗っておきます.

ところでZ軸の精度を決めているのはこのガイドロッドで,送りねじではありません.送りねじが回転する時にブレるのは,送りねじとステッピングモーターの軸のズレをカップラーが吸収しているためで正常な動作であり,ねじの上部を支える改造をしても精度は上がりません.送りねじの上部がフレームに届かない場合があるようですが,それは組み立て方法(カップラーの使い方)を間違えているのが原因のようです.この3DPrint.Wikiには様々な情報があり便利なサイトだと思います.

Z軸ガイドロッドの固定

4. FlashAir + ESP3D

購入当初は印刷するG-codeファイルをマイクロSDカードにコピーしてAnet A8に挿入していましたが,さすがに面倒なので改良を試みました.

最初はRaspberry PiにOctoPrintを入れて使いましたが,3Dプリンターを使うたびにRaspberry Piの起動を待ったり最後にshutdownするのが面倒でした.さらにUSBケーブルを経由したAnet A8へのデータ転送に失敗して印刷が途中で止まるという問題が時々起きました.3Dプリンターは激しく振動するので,ネジによる固定等ができないUSBコネクタを使って信号転送するのは信頼性の点で問題があるようです.

次に試したのは,ESP8266をAnet A8の制御ボードに接続してWebブラウザからファイルの転送や3Dプリンターの操作を可能にするESP3Dを使う方法です.これによりPCからWi-Fi経由で3Dプリンターを制御できます.Anet A8の制御ボードでシリアル入出力を有効にするために若干の改造が必要ですが,ESP8266の通信ボードはかなりシンプルな回路構成です.この方法でデータを転送した場合,Anet A8のシリアル入出力を経由してG-codeの拡張命令を使ってデータをマイクロSDカードに保存します.そのため実用的な転送速度が得られませんでした.

最終的にSDカードをマイクロSDカードに変換するアダプターを使ってFlashAirを使う方法に落ち着きました.これならばWi-Fi経由でストレス無くデータ転送が行えます.なお,ESP3Dは指定したファイルを印刷したりG-codeを手で入れて実行するなど遠隔で操作を行うために併用しています.

ESP3D用無線モジュール(表)
ESP3D用無線モジュール(裏)

5. 振動ダンパー

Anet A8はリビングの隣の部屋に設置して動かしていますが,騒音が大きく床からも振動が伝わってきます.そのため連続運転しているとマンションの隣人の迷惑にならないか心配でした.防音対策として大きな箱に3Dプリンターを入れる方法がありますが,部屋のスペース的に困難でした.簡単な騒音対策として,これこれの振動ダンパーを6つ印刷してAnet A8の下に置いたところ振動がかなり減少しました.現在は軸の駆動音よりも冷却ファンの音の方が気になります.

6. T字コーナー

Anet A8のフレームはアクリル板でできているため剛性が十分にあるとは言えず,フレームを強化する部品が多数存在します.どこまで効果があるのか分からない部品も多いのですが,このT字コーナーは小さいにも関わらずフレームの剛性アップに効果があったので利用しています.

7. スプールホルダーの固定とフィラメントガイド

Anet A8にはスプールホルダーが付属しますが,3Dプリンターの隣に置くと邪魔なので上部に固定できるようにして(STLファイル),さらにフィラメントガイド(STLファイル)も作って取り付けました.またフィラメントスプールがスムーズに回転するように,スプールホルダーの軸にボールベアリングを2つ入れました.

プリンター上部に固定したスプールホルダーとフィラメントガイド

8. Z軸の調整

テーブルの高さの調整は面倒ですが,一度調整すればめったに再調整は必要になりません.ただし時々リミットスイッチのずれによるのかわずかにZ軸原点がずれたり,また左右の送りねじの高さが微妙にずれることがあるので,ずれているかどうかを確認できるようにインディケーターを作成して取り付けました(STLファイル).

なお,Z軸の原点(ホーム位置)が常に+0.1mmずれるような場合は,ファームウェアにMarlinを使っている場合は"M206 Z0.1"のようにGコードを送ることで修正できます.X軸とY軸のホーム位置のオフセットも同様に調整できます.その後"M500"を送ることで設定をEEPROMに保存できます.

カップラーに取り付けたインディケーター

9. エクストルーダー用ノブとディスプレイモジュール用スペーサー

この2つの部品は3Dプリンターで最初に作った部品です.フィラメントを交換するときに押すエクストルーダーのボタンが押しにくいのでノブを作成しました(STLファイル).またAnet A8のディスプレイモジュールを固定するのに使うスペーサーがやや長めで操作用ボタンが押しづらかったので,短めのスペーサーを作ってボタンがパネルから十分に飛び出すようにしました(STLファイル).


[戻る]
2019-04-17 ページ作成
2019-12-01 ページ更新
T. Nakagawa