3dプリンタファームをつくる

ここのところ、むやみに3Dプリンターが増えましたので、やはりこれらを24時間稼働させられるようにしたいと思いました。そのためには、リモートからプリントするデータを送りこんだり、プリント中の状態を見たり、プリンターを操作したりできることが必要です。

そのため、あれこれしばらくやってましたが、かなりうまくいかないことがありましたので、下記にまとめておきます。

1.プリンターのサーバー

プリントjob を外部から送り込むために、家にVPNを張っています。まあ、それはよいのですが、当然ながら3DプリンターがLANに繋がっていませんとネットからは操作できません。2種類のアプローチを試しました。

1a. Windows のPCにプリンターをUSB接続して、Repetier Serverを使う。

結論から言うとこれが一番よさげ。Pro のライセンスを購入しました。機能も豊富だし、Windowsで動いているけど安定度もそれなりに高い。ただし、USBカメラサーバー機能がすぐに動くようになってはいないので、ここで試行錯誤が必要でした(後述)。

1b. Raspberry Pi にプリンターをUSB接続して、octoprint を使う。

プリンターを手持ちのRaspberry Pi のUSBコネクターにつなぎ、octoprint の配布しているイメージをmicrosd に書いて起動すれば、いきなりネットプリントサーバーの出来上がり。ということで動かし始めるのは楽です。

ただし、問題は安定性。何度もプリンターとの通信が途中でトラブルを起こして止まってしまいました。これにはいくつかの原因があるようですが、大別して、ア)USBポートの電源容量不足。イ)CPU負荷が重い。によるようです。

電源容量不足は、普段OKでも、何かの拍子でプリンターなどが電力を食うことがたまにあり、そこでトラブルを起こすので、厄介です。私が困ったのは、後述のLED照明のためUSBポートに接続して電源を取っていたのですが、このために、USBポートの電源容量の余裕が小さかった様で、LED照明を繋ぐと頻繁に止まりました。また、3Dプリンターでz-probeのためにサーボを動かしたときもトラブル発生。raspberry pi のほうでusb への電源供給は多少調節が効くようですが、控えめにすることが吉のようで、最終的にはLEDライトはRaspberry Piとは別のダイソーUSB-ACアダプターを使って点灯しています。

CPU負荷は、最新のRaspberry Pi 3b+ なら問題ないようですが、それ以外のRaspberry pi だと何かと止まります。3B+を使っても、2台のプリンターを繋いで同時に動かそうとしたり(ここを参考に)すると、たまに止まりますのでずいぶん無駄な時間を使ってしまいました。

実用するには、Raspberry Pi 3B+, USB カメラ1台、3Dプリンター1台の組み合わせがいいところではないかと思います。

また、プラグインを入れたりカスタマイズしたらよいと思うのですが、出来合いのWebインターフェースはRepetier Serverの方が一歩上手かなと思いました。

2. リモート監視のためにWeb カメラを繋ぐ

Octoprint にしてもRepetier Server にしても、Web カメラを接続してtime lapse を撮ったりできるようになっています。また、実際にカメラで見るのは精神面からも必要と思います。

Octoprint はRaspberry Pi にUSBカメラを繋ぐと、mpeg_streamerが設定されているため、ほとんど何もいじらずに使えるようになります。

自作3Dプリンターで出力中・・・

Repetier Serverの方は、Repetierの方で紹介されているWindowsで動くカメラサーバーソフトを使ったりしてみましたが、なかなかうまくいかず、最終的には、Raspberry Pi につないだUSBカメラをWebカメラとして(Octoprint を動かしているRaspberry Pi をそのまま使う)動かし、Raspberry Pi のIPアドレスをRepetier Server で参照するようにしました。

9/18補足) これも、まだPi camera を使ってみるとか、raspberry piの負荷を下げようとしたり、いろいろと試行錯誤中。カメラは絶対に要ると思うけどいいソリューションがなかなかないのが現実。

Raspberry pi に複数USBカメラを繋ぐこともできますが、カメラのIDが入れ替わったりしないように設定が多少めんどくさい。

USBカメラは、一番無難なLogitech C270とかをプリンタ1台に1台取り付けるようにしました。取り付けのアームはthingiverseなどで検索するといろいろでてきますので、適当に選んだのをCADでカスタマイズして、3Dプリンターで出力して取り付けています。取り付けアームのデータは、ばっちりOK!というようなのが実はほとんどないので、多少自分でいじくることが必要でしょう。

3. LEDライトを夜間プリントのために

夜間寝ている間にもプリント作業を行いたいので、プリンターにLEDライトをつけました。これは、USB端子につなぐLEDテープライトがamazonとかで売っていますのでそれをカメラと同様にthingiverseで取り付け用の冶具データを探し、3Dプリントしてつけました。Raspberry Pi でこのUSB電源を制御したいところなのですが、そこまではまだです。LEDテープライトは少しでもWebカメラの絵を撮るには十分です。

安物のLEDテープライトの実装を見ましたが、抵抗で電流制限しているだけなので、ちょっと心もとないですね。

9/18 補足)

seeed から発売されているRaspberry pi 用のrelay board を使い、LEDライトを制御するようにしました。LEDテープライトの電源をダイソーで300円で売っているAC-USBアダプターから取っていますので、USB のオス・メスの間にリレーと0.5A のポリフューズを挟むアダプターを作っていれました。

制御は、seeedのwikiに書いてあるpython からi2cを制御するライブラリを使ってライトをON/OFFするスクリプトを書きました。

複数3Dプリンタが繋がっていますので、ライトの電源の分配はUSBハブを間に入れてみました。自分で作ろうかと思ったけど、USBハブが一番安あがり。

夜間だけLEDライトを入れる、ないしは、プリントをするときだけライトを点灯する、ような制御もこれでできます。good!



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)