温度センサーユニットを作る(2008/12/13頃) Last update:2010/11/20 Build:2008/12/20
2010/11/20追加 温度センサーS8100Bがうまく使えた。下へジャンプ
データロガーで温度が計測できるようになって、今度はセンサーの違いに気づいた。 LM35DZとS8100Bの温度センサーで差がある。 そこで、温度センサー基盤を作り、センサーの差を測ってみようと言うことにした。 データロガーの入力は最大4チャンネル使えるので、センサーを比較できるようにした。 回路図兼配置図はこのようにした。 実物の写真です。
LM35DZを2ヶとS8100Bを1ヶ付けた。
チャンネル1:S8100Bセンサー出力を直接出力する チャンネル2:1個目のLM35DZのセンサー出力を直接出力かオペアンプを通して増幅するか切り替え。 チャンネル3:2個目のLM35DZのセンサー出力をオペアンプを通して11倍に増幅して出力する チャンネル4:2個目のLM35DZのセンサー出力を直接出力する センサーは簡単に交換できるようにすべてソケット方式にした。 LM35DZは適切な値を示す。ただし、AD変換値が「1」違うと0.5度程度変わる。 オペアンプを通したものは当然ながらより精度が高く、0.1度程度の差となる。 S−8100Bは出力抵抗が大きいので出力が下がる場合は1MΩ以上の抵抗でプルアップしてくれとある。 S−8100Bセンサーはプルアップ抵抗を変えたり、コンデンサーを変えたりしたが、 適切な値が表示されない。LM35DZより5度程度低く表示される。 オペアンプを通さないとだめかもしれない。 EXCELの温度取得表を載せておきます。 (2008/12/21)追記 ブレッドボードにオペアンプをセットして、S−8100Bの出力にvoltage follower(1倍のオペアンプ)を 入れて実験してみました。 1MΩの抵抗を入れたまま、抵抗を外すと少し値が上がりました。 コンデンサーを外すと値が不安定(発振??)で使い物になりません。 コンデンサーを付けても、適正な値より4〜5度低くうまく行きません。 インターネットで調べても、原因不明です。個体差とは思えない差なので?? どうもS−8100Bはうまく使いこなせません。 実験結果を載せておきます。 (2008/12/21)追記 (2010/11/20)追記 ページ上部に移動します オペアンプを利用して、 温湿度センサー付データロガーを作った。その後、温度センサーS8100Bのことを 思い出した。出力インピーダンスが高いと言うことで、仕様書には1MΩでプルアップとあったが、仕様書通りにしても値がずれてうまく 行かなかった。 LM35DZと同様にオペアンプを通すことを思いついた。今更何を、当然だろうという意見もあるが、やってみることにした。 温度センサー基板からS8100Bセンサーを外して、ブレッドボード上で オペアンプを介してデータロガーに取り込んだ。結果がこれ(PDF)です。 LM35DZ、S8100Bともにほぼ同じ値を示し、正常値である。 うまくいった。 やはり出力インピーダンスが高いためにプルアップしても直接A/D変換に入力すると、値がおかしくなるようだ。 S8100Bはオペアンプを通せば使えることがわかった。なお、オペアンプは等倍で増幅はしていない。 なお、0.1μFコンデンサーを出力端子とGND間に配置、また+5VとGNDにも同じコンデンサーを配置した。 出力端子、GND間のコンデンサーを外すとオペアンプを通しても値が変動した。 前回(2008/12/21)オペアンプを通して実験したときはうまくいかなかったのに、今回何故うまく行ったのか。 1MΩの抵抗を付けなかったことと、0.1μFのコンデンサーを2カ所に配置したことが良かったのだろうか?
ページ上部に移動します |