wiki:epics/bbb/debian/thermometer

Version 5 (modified by michkawa, 7 years ago) (diff)

--

温度モニター

BBBを使った温度モニターの作成についての情報収集。

経緯

PF-ARのBPMラック内の温度を計測して、BPMデータと温度の相関を調べるために多(?)チャンネルの温度計を複数箇所に置きたいらしい。
多チャンネル温度モニターはいろいろなメーカーから出ているが、価格とEPICSの問題(?)からBBBかラズパイでやりたいらしい。

構成案

絶対値よりも相関の方が重要なので、温度を測定するセンサーはデジタル出力がお手軽でいい。
だが、BBB本体につけてしまうとBBBの発する熱で、何を測っているのかわからない状態になるので、何らかの方法で本体から離す必要がある。
デジタル出力のセンサーはほとんどがI2Cで出力するので、今回はI2C<->BBB間のデータ送受信をどうするか考える。

温度センサー

センサー部分は作成済みのものを繋いだ方が、センサー部だけ壊れても交換できるのでいい気がする。

I2C extender

BBBには本体にI2Cマスターポートが2つあるので、それに直接接続する方法。
一般的に使われてるI2C bus extenderは P82B715 I2C バス・エクステンダ

それを使った製品もある。
Active I2C Long Cable Extender P82B715 Module

それ以外でも、こんなものもある。
Pololu I2C 長距離差動式エクステンダー

  • メリット
    • 接続に必要なソフトウェアは、OS標準のI2Cデバイスドライバのみ
    • EPICS用のdriver supportは作成済みなので、IOCは asyn + streamdeviceで作成可能
  • デメリット
    • 専用のケーブルを作成する必要がある。(RJ45で代用(?))
    • ケーブルのノイズ対策が必要になる可能性がある。
    • センサーICを複数繋いだ時に、I2Cアドレスが重複する可能性が高い。

USB<->I2Cコンバータ

BBBとはUSBで接続し、USBデバイスのI2Cコンバート機能を使う方法。

  • メリット
    • 接続はUSBケーブルのみ
    • デバイスドライバはLinux版もある。(open source版も)
    • asyn + streamdeviceでIOCを作成
    • CPUの場合には複数接続可能
  • デメリット
    • 基板作成が必須
    • 複数のプログラムを作成する必要がある。(CPUを使う場合)

以前、温湿度/大気圧を計測する基板を作成するときも、電源と信号線が一体化できてケーブルも標準化されているからUSB+CPUで作成したはず。
今回は、BBB上のI2CやUSB-HIDを使うための環境がある程度整えられているので、別の選択肢でも実現は可能。