Ender-3を遠隔操作する OctoPrint導入

OctoPrint

OctPrintは3dプリンタとRaspberryPiを繋げて、3Dプリンタを遠隔操作&カメラで監視できるようにするソフトウェアです。 RaspberryPiをOctoprint専用として使用するならば、SDにイメージ焼くだけで使えるOctoPiが用意されているのでそれ使うと導入が楽。mjpg-streamerも一緒に入っているので、カメラモシュールを繋ぐだけでカメラ監視機能もすぐ使えます。

Ocotprintの使用にはRaspberryPi3以上が推奨されています。2000円程度で買えるRaspberryPi Zeroも一応使えますが、パフォーマンスの問題があり公式では推奨されてません。負荷がかかると3Dプリンタへのgcode送信が滞ったり、wifiの問題でUIにアクセスできなくなったりします。複雑な形状を印刷するときもgcode送信が滞るときがあるので公式で推奨されているRaspberry Pi3を使うのが一番良いです。実際にZeroも使ってみましたが曲線を描くときなど印刷が滅茶苦茶遅くなる時があったので使用非推奨です。

Ender-3へ実装

Z軸アームにRaspberryPi Zero、カメラ、LEDライトを設置。 カメラマウントはこちらのモデルを使用。

Win32DiskImager等でSDカードにOctoPiのイメージを焼いてRaspberryPiに差し込んで起動するだけです。ホストネームが最初から設定されているのでoctopi.localにアクセスして初期設定を指示通り行うだけ。Wifi使うときはsdカード内のoctopiwpa-supplicant.txtに設定を書き込んで起動。

あとはEnder-3とUSBで接続しOctoPiメイン画面から

[Connection]
Serial Port → AUTO
baudrate → 115200
PrinterProfile → creality Ender 3

と設定し、Connectボタンを押し無事繋がればOctoPi画面から操作できるようになります。

ホットエンド、ベッド温度、印刷したいデータファイル(gcode)、XYZ、エクストルーダモーター操作など、本体でできることは一通りOctoPiから操作できます。温度の推移グラフを表示したり、GcodeViewerからプリント中現在どのレイヤーを印刷しているか視覚的に確認できる機能もあります。

印刷データはOctoPrint画面からgcodeファイルをアップロードし印刷することが可能ですが、スライサーソフトCuraにOctoPrint用プラグインを導入すればCuraソフト上からOctoprintへgcodeを直接アップロードすることができます。下の画像のように1クリックで印刷がスタートします。
Curaプラグインはソフト左上のマーケットプレス画面からインストールできます。設定時にOctiprintのAPIkeyが必要なのでOctopirnt設定画面->APIからコピーしてきてください。

動作確認


ipadのブラウザ上ではこんな感じ。 RaspberryPiZeroの性能の問題から低FPSでカメラを使っているが、Pi3であればもっとぬるぬるの映像が見れる。 

 

↑raspberrypi3 ベッドに固定したカメラ


↑timelapse機能を使うとこんな動画も作れます。

外部プラグイン

外部プラグインを追加することで機能を拡張することができます。OctoPrint設定画面のPluginManagerから管理できます。プラグインはここから探せます。https://plugins.octoprint.org

自分が使ってるプラグイン

OctoPod
 iOSアプリ上からOctoprintを操作できます。進捗率などを通知で知らせてくれます。

BedVisualizer
 オートベッド実装済みの人用。ベッドの傾きを視覚的に表示してくれます。

Navbar Temp
 ナビバーに温度を表示します。自分で追加した温度計を追加で表示することができます。エンクロージャーの温度表示に使用してます。

3Dプリンター スライサーソフトCuraの設定

3Dプリンター Ender-3で印刷する際に使用しているスライサーソフト「Cura」のよく使いそうな設定項目について記載します。
寸法誤差(公差)について

組み立てて使うパーツを印刷すると、プリンターの性能やフィラメントの材質によって寸法の誤差が生じてしまうため、パーツがかみ合わなかったりネジ穴にネジが入らないといった問題が出る。

この場合はCuraの設定で外郭->水平展開(Horizontal Expansion)の値を調整することで寸法を微調整できる。
適用範囲は水平方向(X,Y)のみ
値を大きくし過ぎたり、小さくし過ぎると、造形物の形が変わってしまうので設定値はほどほどに。

Thingverseとかで拾ってきたものを印刷する時は公差考慮して作ってないものがあるので、ネジ穴などが狭い場合は-0.1mmとかに設定して印刷している。

コーミングモード(conbing mode)

オンにすると印刷物内をフィラメント引き戻し無しでノズルが移動するようになるので印刷時間が短縮される。 ただ、引き戻し動作が行われないことで、糸引きが発生しやすくなり、薄い壁など肉薄のモデルでは糸引きが目立つ場合がある。
Curaの印刷プレビューで見てみる。青線はコーミングON時の軌道、薄い青はOFF時の軌道を表している。

ON時のプレビューを見ると外壁部分を通っているのがわかる。引き戻しを行っていないためノズルから若干お漏らししながら移動しているわけだが、漏れ出たフィラメントがうまく接着しないため、ノズルがカーブを曲がる際に造形物内部に付着できず、コーミング開始点からノズル移動方向にかけて直線に糸引きが発生してしまう。

PETGを使用する場合など、糸引きに困っている場合はコーミングをOFFにするか、インフィル内だけ有効にするのが良いと思う。インフィル内だけコーミングすると、外壁付近でのコーミングは発生しないので糸引きはなくなり、インフィル内での引戻・押出時間も省略できるのでオススメ。ちなみにこのモデルの予想印刷時間はコーミングOFFで40分、コーミングONで33分、インフィルのみで35分。

コーミングOFFの時。
インフィルのみON。印刷時間短縮

また、移動距離が長い場合は引戻・押出にする設定も可能。距離の閾値が設定できる。
写真の通り、ノズルの移動軌跡が結構変化するので、結構重要な設定だと思う。
プレビューでノズルの軌跡を確認するのはとっても大事です。

3Dプリンター Ender-3 購入記録

Ender-3 到着

2018年6月、初3Dプリンター Ender-3をbanggood購入。
初回登録で$200以上購入時20%OFFのクーポンが貰えたので本体$199.99+$1未満の商品を合わせてカートに入れ$180で購入。
本体に付属のPLAフィラメントは量が少ないので、別途SUNLUのPETG 1kg(2700円)を購入。(PETGは糸引きが多いので初心者にはお勧めしない。PLAがオススメ)あと印刷物を定着させるガラスプレートも購入した。(シートタイプと比べて汚れても洗って綺麗にして再利用でき便利らしいので。)

注文後1週間で到着。ダンボールには無造作に電源変換アダプタが貼り付けられていた…

ベースは最初から組み立ててあるので、基本的には水平位置の調整は不要。

追記(2021年現在では初代Ender-3はAliexpress等のセールで買うと150ドル程度で購入可能です。)

組立&準備

図だけの簡単なマニュアルを見ながら組み立て。
ガラスプレートの厚みの関係でZ軸原点検出スイッチの位置を2-3mm高めに取り付けてある。

通電後まず初めに必ずベッドレベリング(ノズルとベッドの隙間調整こと。)を行う。
Ender-3メニューPrepare->Auto Homeを選択し、Z軸の原点まで移動させる。その後Prepare->DisableSteppersを選択し、Z軸は動かさずに、ノズルとベッドを手で動かして、ノズルとベッドに紙1枚分の隙間ができるように調整する。(紙がスムーズに動かせる程度の隙間)これをベッド4隅分行う。

次にフィラメントをエクストルーダー(フィラメントを送り込むモータがある所)からPTFEチューブを通してノズルにぶつかるところまで差し込む。その後Control->Temperature->Nozzleからノズル温度を180度に設定して温度を上げる。温度が上がってきたらPrepare->MoveAxis->Extruderでエクストルーダを動かすか、手動でフィラメントを少しづつ送り出して、ノズルから溶けたフィラメントが出てくるか確認する。

正しくできれば印刷準備完了。

印刷テスト

SDに入っていたワンちゃんのテストモデル。PETGで試しに印刷してみたら6時間かかったので、お試し印刷には使わないほうが良いと思う
初めての印刷だが綺麗に印刷できた。

テスト用のモデルはThingiverseから使いやすいのを拾ってくると良い。
モデルデータ(stlファイルなど)を拾ってきたらスライサーソフトを使ってgcodeファイルに変換してから3dプリンタに読み込ませます。
スライサーソフトはCuraをお勧めします。
SDカードの中にインストーラが入っているが、バージョンが古いので公式サイトからダウンロードしよう。
⇒追記 Cura バージョン3.5.1からEnder-3の初期設定が追加された。使用推奨。
3Dプリンターの設定はここからが本番で、スライサーソフトで印刷設定を変えては印刷し…を繰り返して印刷精度を上げていく。
かなり大変です。

購入後調整した事

・X、Yの動きに引っ掛かりがある
 →ローラーのネジを少し緩めて締めなおしたら直った。固まってたみたい。
・ノズル、ヒートベッドの加熱に時間が掛かる、印刷中にノズルが230度以上を維持できない
 →電源の電圧切り替えスイッチを115V⇒230V⇒115Vに切り替えたら問題解決。うまく切り替わってなくて電圧が不安定だったようだ。
・エクストルーダーが脱調する(コンコン音がして空回りしフィラメントが送れない状態)
 →横付けのフィラメントホルダーを使用したら脱調問題解決。フィラメントのねじれにより力が掛かり脱調していたのかな?
※エクストルーダ脱調はノズルの詰まり、PTFEチューブ内の抵抗増、モーター電圧不足、ノズル温度不足などなど様々な原因がある為、簡単には解決できません。

Ender-3おすすめ

コスパが高く、ネットの情報量が多いので3Dプリンター初心者にオススメできます。
また、拡張パーツのモデルがThingiverseなどにたくさん投稿されているので、それを印刷してENDER-3の改造も楽しむことができます。

あと、Octoprintの導入を強くオススメします。PCやスマホから3Dプリンターを遠隔操作できます。ウェブUIを使って操作できるので、3Dプリンターのメニューをちまちま操作するより格段に作業効率が上がります。WebUIやスライサーソフトから印刷データをアップロードすることができ、sdカードを抜き差しする必要もなくなります。
カメラでの監視、プリンター電源のオンオフ、印刷の進捗をスマホで通知する等、やろうと思えば何でもできます。

Ender-3を遠隔操作する OctoPrint導入