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
 ナビバーに温度を表示します。自分で追加した温度計を追加で表示することができます。エンクロージャーの温度表示に使用してます。