DS18B20 デジタル温度センサが便利。1-wire で複数のデバイスを同時に扱える。Klipper も対応している。

Raspberry Pi の場合 1-wire を有効にして GPIO4 (PIN7) に信号線を接続する。3.3Vから 4.7kΩ (信号線の長さで調整する)) でプルアップする。

  • 庫内温度(上) フレームあたり
  • 庫内温度(下) 高さはベッド付近
  • 室温(ファン近く)

あたりをモニタリングする。庫内温度は上と下で10℃ぐらい差があるのでどっちも見たい。

Raspberry Pi 上で

以下のように見える。22312 は1000倍した℃なのでこの場合は22.3℃

$ ls /sys/bus/w1/devices/
28-03039794629e  28-0306979425a5  28-030f979445fd  w1_bus_master1

$ cat /sys/bus/w1/devices/28-03039794629e/w1_slave
65 01 55 05 7f a5 a5 66 c5 : crc=c5 YES
65 01 55 05 7f a5 a5 66 c5 t=22312

Klipper での設定

以下のように設定する。

[temperature_sensor temp1]
sensor_type: DS18B20
serial_no: 28-03039794629e
sensor_mcu: host_mcu
min_temp: 0
max_temp: 100

ただし、以下のように host_mcu が定義されていないとエラーになる。

Unknown config object 'mcu host_mcu'

rpi 自身をセカンダリーmcuとしてセットアップする必要がある

上記ページの指示に従って host_mcu のサービスを起動する。そして printer.cfg に設定を追加する

[mcu host_mcu]
serial: /tmp/klipper_host_mcu

これで動くようになる

1-wire

しょうがないけど 1-wire は遅い。

OS起動直後、なんらかの原因で一部の 1-wire デバイスと通信できずに serial_no が認識されないと Klipper が起動に失敗する。

また 1-wire の通信に失敗すると Kilipper がエラーを吐いて止まることがある (1度あった)。のであまり大量に繋げたりしないほうが安全そう。念のためフェライトコアを噛ませている。

  1. トップ
  2. tech
  3. Voron 2.4 に温度センサーを追加
▲ この日のエントリ