2017年3月12日日曜日

3Dプリンタを温度監視する

以前書いた、Raspberry Pi で3Dプリンタを無線化する方法の続きです。
Web カメラでリモートから監視できるようになったので、クローゼットの棚を3Dプリンタ専用にしてみました。


クローゼットに押し込んで静かになったのは良いのですが、
ちょっと怖いので遠隔監視を強化します。

材料

フィラメントホルダーは amazon で売っていたこれです。 家具の転倒防止用に縦に使うための突っ張り棒を横にして使いました。 通常の突っ張り棒の場合、細すぎてリールの回転が引っかかってしまいます。


カメラは中国製の怪しい暗視カメラです。
リンク先のカメラが私が購入した時のものから変わっているようです。
中華暗視カメラは結構トラブルが多いようなので、購入の際は失敗覚悟で。
赤外線LEDが点灯しないとか、普通のLEDだったとか。
私が購入したものも、ボリュームダイヤルが光量調整ではなくてON/OFFのみでした。
ダイヤル回したら ON というオシャレなユーザインターフェイス。

OctoPrint で映像監視する方法は以前に書いた記事をご参照ください。


温度監視のために温度センサ DS18B20 モジュールを使います。
実はもらいもののセンサー20種セットに偶然入っていました。

DS18B20 センサ単体でも良いのですが、
モジュールにはプルアップ抵抗が内蔵されていて接続が楽です。
ただし、センサ単体とモジュールではピン配列が異なるので要注意。


当然ですが Raspberry Pi。


Raspberry Pi を温度監視

熱暴走を避けるため、Raspberry Pi のCPU温度を監視します。
と言っても、OctoPrint の Plugin を有効にするだけです。
OctoPrint の画面で「Settings」から「Plugin Manager」を開きます。
「Navbar Temperature Plugin」を有効にして再起動すればOK。


室温を温度監視

M3D The Micro はヒートベッドが無いので室温が下がりすぎると造形物が歪みます。
かと言って上げすぎると Raspberry Pi が熱暴走します。
そこで、画面上に室温を表示するようにしました。
(適当な理由を付けていますが、ただ単にやってみたかっただけ。)

まず、OctoPrint の Plugin Manager で「Room Temperature Plugin」を有効にします。
Room Temperature Plugin の説明には
  「with a DS18b20 sensor connected on Pin n°4」
  (4番ピンにつないだDS18b20センサ)
と書かれているのですが、4番ピンってどこなのかと。

正解はRaspberry Pi の公式サイトに書いてあります
ピン番号は端から連番ではありません。
4番はたまたま4番目にありますが。

DS18B20 モジュールは DS18B20 センサ本体とはピン配置が異なります。
この写真のモジュールの場合は「S」がセンサピンです。
DS18B20 センサ単体の場合は真ん中のピンがセンサピン。
これをRaspberry Piの4番に繋ぎます。

写真の「-」は GND ピンのようです。
センサ単体の場合は平らな面(ラベルの面)を自分側に向けて左側が GND。
これを Raspberry Pi の Ground ピンに繋ぎます。

消去法で残る、真ん中のピンが VCC です。
DS18B20 の仕様は 3.0〜5.5V なので 3.3V でも 5.0V でもどちらでも良さそうですが、
大抵の説明では 3.3V に繋いでいるようです。

接続してから Raspberry Pi を起動すると、数秒おきにモジュールの LED が点滅します。
おそらく点滅のタイミングで温度測定しているんだと思います。
OctPrint への表示は測定後に反映されるので、あまり頻繁に温度が更新されるわけではなさそうです。

最終的に OctPrint のヘッダ部分はこんな感じになります。


これで、クローゼットをわざわざ見に行かなくても、
外からタブレット等で温度とプリント状態を見ることができます。
とは言え、監視だけ(制御なし)なのでプリント成功率が上がる訳ではないですが。

0 件のコメント:

コメントを投稿