我が家の3DプリンターEasyThreed X1をOctoPrint経由で制御できるようにしました。
更にタイムラプスのプラグインを導入しました。
ただし、3Dプリンターを設置している場所は普段使っていない部屋なので夜は基本明かりが有りません。
そういう理由でタイムラプスの撮影は昼間以外できない状況になっています。
今回はこの問題を解決するためにOctolapse用に照明を設置しようと思います。
照明の選定
基本はお金をかけない事を目指しているので安価な照明を探します。
そうするとみんな大好き100円ショップになります。
そこで光量も申し分ない単四乾電池1本で動作するLEDライトを見つけました。(今回はキャン★ドゥの物を使いましたが似た製品がダイソーにもありました)
今回設置する照明をこれに決めました。
改造を検討
照明については問題無いのですがこのLEDライト、電源を入れるとずっと点きっぱなしになってしまいます。(当たり前の事を言ってます)
これでは早々に乾電池が空になってしまい、ランニングコストを考えると頭が痛くなりそうです。
この照明はOctolapse用の照明なので撮影する間だけ明るくなり、撮影が終われば消えてくれるようにしたいところです。
そこでOctolapseの撮影をホームポジションにしているため、必ず撮影時にはリミットスイッチを押してくれます。
このリミットスイッチを照明のスイッチと相乗りさせてやれば良いのでは?ってな感じで考えました。
現時点での懸念点と対策検討
ここまで考えたところで現時点での懸念点を洗い出します。
- ・スイッチを相乗りして大丈夫?
- ・印刷終了時はホームポジションへ戻る
スイッチを相乗りして大丈夫?
電子回路については素人同然なのでスイッチを相乗りした時に出てくる問題を理解できていません。
そのため、こんな事をしてLED照明に使う電流が3Dプリンターの制御基板まで流れてしまい問題を起こす可能性があるのでは?と考えました。
そこでツイッターに質問を投げかけたところ、ホール素子を使う方法を提案いただきました。
これなら3Dプリンターの制御基板とは回路が分断されるので気にする必要が無くなりました。
印刷終了時はホームポジションへ戻る
EasyTreed X1(3Dプリンター全般同じと思いますが)は印刷が終了するとホームポジションへ戻ります。
Octolapseの撮影タイミングをホームポジションにしているため、ホームポジションをLED照明の点灯条件にしてしまうと印刷終了以降はずっとLED照明が点灯しっぱなしになってしまいます。
そこで印刷終了後はホームポジション以外で待機してもらう方法を考えました。
そもそも3DプリンターはGコードで制御されています。
なので、Gコードの最後にホームポジション以外に移動するようにGコードを書き換えてしまえば解決しそうです。
Gコードの種類について調べてみたところ、ヘッドの移動(フィラメント出力無し)は「G0」なのでこのコードを印刷終了時のホームポジション移動後に指定してやる事でLED照明が点きっぱなしになる事が防げそうです。
ただし、スライサーソフトにてGコードを生成するたびにGコードの改変を行っているのは流石にダルいし忘れてしまう可能性が有ります。
この対応として、僕が今使っているCureにはプリンターの設定に「End G-code」なる項目が存在し、ここに書かれているコードが生成するGコードの最後に出力されるようなのでこの項目の最後にG0でX軸とY軸を少し移動してやる事で実現できそうです。
まとめ
今回は準備編として実現させるための検討を行ってきました。
次回以降にて実際に実験を行い実装できたら良いなと思っています。
折角やり始めた事なので結果ダメだったとしてもどうダメだったのかを紹介したいと思います。
LABISTS製3Dプリンター(EasyThreed X1) Octolapse用の照明設置(試行編)を公開したので追加します。
コメント