たねやつの木

Photographs, Keyboards and Programming

VORON 2.4 R2 ビルドログ (30(MOD) - カメラモジュールについて)

VORON 2.4 R2 ビルドログ (30(MOD) - カメラモジュールについて)

こんにちは。たねやつです。

今回の記事ではVORONにカメラを搭載して遠隔から状態をチェックできるようにします。ココまではVORON本体の基礎的な部分の組立と調整でしたが今回からは追加部品(MOD)について進めていきます。

前の記事

前回はKlipperScreenについて設定を進めました。前回でSIBOORのキット品としては完成しています。

Raspberry Piにカメラを挿す

まずは動作チェックのために適当なカメラを接続してKlipperから表示できるかトライします。

とりあえず適当な手元のWEBカメラ

Windowsとかで認識できるドライバー不要な奴であれば大抵大丈夫だと思います。

手元にある普通のWEBカメラをとりあえずRaspberry Piに繋いでみます。なんとかコマンドライン上で画像を取得してSFTPとかで取りに行ってチェックすることもできますが面倒なのでいきなりKlipperから表示できるか確かめます。

Klipperの設定でカメラを追加

設定

設定でカメラを追加します。SettingsWebcamsからRaspberry Piに接続されているウェブカメラをKlipper上で表示できるようになります。

Nameには適当な名前を付けます。 とりあえず俯瞰目線からとっているカメラなのでTOPとしています。URL云々の部分はデフォルトのままで問題ないです。外部メディアプレーヤー(VLCとか)から監視したり静止画を撮りたいときに使えそうですがKlipperから監視するにはそのままでOKです。

設定が完了するとダッシュボードの画面にカメラパネルが追加されてそこにカメラから撮影している映像が映し出されているはずです。

小型のカメラモジュールを追加する

以上でカメラの設定終わり!これで簡単に確認できるね!なんですが、やっぱりちゃんとVORON本体に固定して俯瞰とかで全体を見たいと思いませんか?せっかくこんな美しい筐体があるのできれいに統合されたシステムにしたいですよね。

というわけでMOD部品などを使用しつつ、小型のカメラモジュールを庫内に固定していきます。完了すると先ほどの画像のような感じで、いい感じの位置から庫内からで常時監視できます👀

部品調達

MODのケースを使用する

まずは小型カメラモジュールを調達するのですが、次の章で紹介するMODのカメラケースを前提として進めていきます。他にもLogicoolのカメラ用のマウントやRaspberry Pi用のカメラ(リボンで接続するやつ)用のもありますのでそっちの方がいいやという方はいろいろ検索してみてください。

AliExpressで探す

ではカメラモジュールを探すのですが、上記ページではOV5648OV5640というタイプのものが推奨されているので一旦それで探します。

ケースの作成ページにあるようなのと同じものが出てきました。ちなみにOV5640のほうのページではレビューにてこのカメラケースで装着している人が投稿してくれているので間違いなさそうです。

こっちのほうがちょっと安いですね。

ちなみに自分はコレを使っています。寸法に収まって画素数が極端に少なくなければなんでもOKです。画角は76°ですがビルドプレート付近で撮影する場合はもっと広いタイプのほうがいいかもしれません。

俯瞰で使う場合はAFでもいいかも?

オートフォーカス機能の有無についてですが、カメラを設置する場所ごとに考えたほうがいいかもしれません。

というかAliExpressの商品説明部分からではよくわからんことが多いのですよね。Fixed Focus(固定フォーカス)となっていても実はフォーカスが調整可能(レンズ部分をちょっと捻ると調整できる)なのか、本当に1フォーカスで固定なのかわからない感じなのです。今回のように俯瞰から撮影する場合はオートフォーカスでもそこまで問題がないです。むしろ固定フォーカスの場合は購入時にちゃんと考えないとダメで、一つ購入したのですがちょっとボケているので購入しなおした次第です。

一方でビルドプレート付近などにオートフォーカスカメラを設置するとツールヘッドの移動にフォーカスを合わせようとしてしまい造形物にピントが合わない可能性があります。

この辺のv4l2コマンドを使用すればAFを制御できそうですが現状で満足しているので試せていませんがご参考までに。

カメラケースを印刷する

ケースを印刷します。カメラ本体を収めるケースと表と裏の蓋の3つのモデルが必要となります。俯瞰で撮影するためAngry_CAM_Top_Mount.stlを使用します。蓋のモデルに120+とある方は画角が広いレンズが大きいタイプのものに対応するもののはずです。

使用するフィラメントはABSにします。庫内に設置するためABS印刷などで高温になった場合にPLAは軟化してしまい歪んだりカメラの画角が変わってしまったりします。というか自分が現在PLAで運用しているのですがバックパネルふにゃふにゃになってきています(笑)。まあ別に支障がないので放置でタイミングあればABSで印刷という感じですね。

いわゆるPrint-in-Placeな構成となっているので印刷時の各モデルのクリアランスには注意してください。z_offsetが小さすぎてモデルが太る場合カメラの首振り部分がうまく動かないかもしれません。また蓋も結構ギリギリを攻めた寸法なので閉まらないかも?ABSならヤスリとかで削りやすいので後加工してもOKです。

加工する前に動作チェック

手元にカメラが届いたらとりあえずKlipper上で動作チェックするよりも前にPCに接続して動作チェックを行ってください。AliExpressで買う謎ベンダーの商品なのでちゃんとチェックして不良品であればOpen Disputeをしましょう👀

カメラケースに配線を通す

造形物内部の見えない狭い道に線を通すためちょっとコツが要ります。

手順を確認

ちょっと凝った作りになっていますがカメラマウントのネジ止めする部分はこんな感じで中が空洞になっています。ここにカメラの線を通していきます。

コネクタを外す

ケーブルのコネクタが付いたままでは通すことができないので一旦外します。外す前に必ず配線の色の順番をメモしておくか写真に撮っておいてください。戻すときに順番を間違えると動作しなくなります。

めちゃくちゃ細い線で小さいコネクタですが構造は他のJSTコネクタとかと同じでコネクタ側に付いている返しを持ち上げることで外すことができます。外すには裁縫針のような細いものを使用します。コネクタ側の返しも小さいので破損しないように注意します。

なんとか通す

コネクタを外すことができたら一旦配線全部をマスキングテープなどでまとめて1本にします。1本ずつ通したり4本一気に通そうとしても中でこんがらがって失敗します。断線したらこんな小さい線の被膜剥がしてピンつけて...なんて考えたくもないので慎重に作業します。

まとめたマスキングテープの先端は十分な長さにしておきます。

マスキングテープでまとめた先端を突っ込んでとりあえずケース内部から顔を出させて、それをゆっくり捻ったりしながら引っ張っていきます。無事通すことができたら余分目に引っ張っておきます。

コネクタを戻してフィッティング

最後にコネクタを元の色の順番で戻してカメラに装着、カメラ本体をケースにセットします。セットする際は裏蓋を予め装着しておき、余分目に引っ張っておいたケーブルをもとに戻しながらセットします。

最後に表の蓋を閉じて完成です。中で少しカタカタ動く(固定用のネジ穴が余裕を持った設計になっていることが多いです)ので気になるようであればなにか燃えにくいもので詰め物をしておきます。

動作チェック

最初に動作チェックはしましたが、一旦コネクタを分解したので再度今のケースに収まっている状態で動作チェックをします。配線が間違っていないことを再三確認してPCに繋ぎチェックします。

配線を這わす

設置位置を確認する

配線を始める前にまずはカメラ位置を仮固定してしまいます。今回の場合は庫内の上部に設置します。

ここからだとビルドプレート全面を見ることができます。造形物の細かい部分を見ることはできませんが剥がれたりもじゃったりしている場合は確認できます。

長さチェック

ココから配線の長さがRaspberry PiのUSBポートまで届くかを確認します。基本的な流れはZコーナー → Z軸を通って下へ → Zベルトの穴から裏へ → Raspberry Piという流れになるかと思います。

私が購入したものの線の長さは1mであまり余裕はありませんでした。加えてUSB延長ケーブルを使用すると映像が映らなくなる機械的問題が発生する可能性もあるので長さが届かない場合はもっと近い位置に移動する必要があります。

Raspberry Piの位置を変更するのも手かもしれません。幸い電源とOctopus ProとモニターへのHDMIやUSB接続という扱いやすい配線しかないので最寄りのZベルト入り口に近づけてしまうのもアリです。

試してはないのですが、延長ケーブルを介する時に大きくノイズが乗ってしまうのであれば、配線をぶった切ってはんだ付けして延長した場合はどうなるんですかね...?だれか結果報告お願いいします!

Zコーナーをなんとか回避

長さが十分にあることが確認できたら配線していきます。カメラ固定位置を出てZベルトの上の方まで来たら以下のMOD部品を使用してコーナーの配線をいい感じに仕上げます。

見にくいですが、コーナー部分に配線を留めるパーツを追加しています。LEDの線もあとから追加するのでちょっと手狭ですが何とか収めることができます。

フレーム内に配線を入れ込む

Zコーナーを回避できたら下までアルミフレームの凹み部分を利用して落としていきます。配線隠しとしてこのカバーを使用するときれいに仕上がり配線がバタついたりもしません。

以前も挙げましたが今後もいっぱい使うかもしれないので長めにいっぱい印刷しておいてもいいかもしれません。長すぎる場合はニッパーとかで切ります。ABSで印刷すると先端が細かすぎて逆に脆くなるのでPLAやPETGで出力します。

Zベルトから裏に回してRaspberry Piに接続

Zベルトの穴を利用して裏側にケーブルを落とします。ココもMOD部品を使用するとアルミフレーム内部から直接カバー裏に出せるのできれいに仕上がります。

ケーブルを下に落とした後は、Zベルトに接触しない方向にケーブルを避けつつRaspberry Piまでの配線を固定します。

完成

Raspberry PiのUSBに挿してKlipper上でカメラの設定をして完成です!これでPCから状態を簡単にチェックすることができるようになりました。ちなみにKlipperでは(Fluiddでも)2台以上設置できるそうなので、もう一台をビルドプレート付近に設置しようかと思っています。最初に固定フォーカスのを買ったのですが画角が広すぎたのでちょうどいいかもしれません。

BTT Piを使用している場合はRAMやCPUがRaspberry Pi 4よりも貧弱だそうので動画のフレームレートが下がるかKlipper自体の動作が不安定になるかもしれません。

問題点

カメラから確認することができるようにはなったのですが以下の問題点があります。

  • 家の外からは依然として確認できない。
  • 夜間や部屋が暗いときにはカメラから確認できない。

次からはそれらを解決するための環境構築を進めていきます。

次の記事

次回は自宅LAN外からVORON(Klipper)を監視するためのソフト(Obico)についてです。