温度・湿度センサの利用
Sensirion社の温度湿度センサ SHTシリーズを使う
今回使用したのはオプとレックス社のPWB24227-CEMというもので、かなり前に秋月電子で売られていたのですが現在は販売されていません。従ってこれから作ろうと思う方は20文字、4行バージョンを使う方がいいかもしれません。
↑の基板は2008年6月17日アップしたもの、センサを搭載
したものが右の写真です。変換基板とフィルタキャップを取り
付けています。電源線2本と信号線2本、計4本の線で、最初は
I2Cバス制御かと思い、配線していましたが、いざソフトウェアを
コーティングするときに、とあるWebサイトでI2Cバスでないことが
判明し、急遽配線を変更しました。
ボードには、RTCも同時に搭載し、LCDへ表示していますが
使用したLCDが24文字、2行バージョンで、おそらく入手は
難しいかと思います。
2008年6月17日にアップした「I2Cバスを使った日付/時計表示の製作」の拡張版として、「温度・湿度」の表示機能を加えてみました。使用したセンサはセンシリオン且ミの温度湿度センサーSHTシリーズをPICマイコンにつないで計測します。購入先はストロベリー社より、SHT11とフィルタキャップ、変換基板込みで2,500円でした。詳しくは各サイトを参照してください。使用したセンサのデータシートはここにあります。一応和文なので助かりました。
C1、C2、C3はV3用湿度変換係数表より
SORHは通信で得られたデータ値
RH[%] = C1+C2×SORH+C3×SORH2
相対湿度データ算出
d1とd2は温度変換係数表より
SOTは通信で得られたデータ値
温度データ算出
T[℃] = d1+d2×SOT
温度変換係数
VDD | d1(℃) | d1(°F) |
5V | -40.1 | -40.2 |
4V | -39.8 | -39.6 |
3.5V | -39.7 | -39.5 |
3V | -39.6 | -39.3 |
2.5V | -39.4 | -38.9 |
SOT | d2(℃) | d2(°F) |
14bit | 0.01 | 0.018 |
12bit | 0.04 | 0.072 |
V3用湿度変換係数
SORH | C1 | C2 | C3 |
12bit | -4.0000 | 0.0405 | -2.8000E-6 |
8bit | -4.0000 | 0.6480 | -7.2000E-4 |
ステータスレジスタのビット構成
ビット | 形式 | 説明 | デフォルト | |
7 | 予備 | 0 | ||
6 | R | バッテリー電圧低下 0:Vdd>2.47V、1:VDD<2.47 |
X | デフォルト値なし 測定終了後更新 |
5 | 予備 | 0 | ||
4 | 予備 | 0 | ||
3 | テスト専用、一般使用不可 | 0 | ||
2 | R/W | ヒータ | 0 | OFF |
1 | R/W | OPTからの再ローディングなし | 0 | 再ローディング |
0 | R/W | 0:RH分解能12bit/温度分解能14bit 1:RH分解能8bit/温度分解能12bit |
0 | RH:12bit 温度:14bit |
この待ち時間は内部発信器の速度に
影響し、30%程度の短い時間になる
場合がある。
8ビット | 20ms |
12ビット | 80ms |
14ビット | 320ms |
※ 温度測定または湿度測定発行後、測定が完了するまでまたなければならない。その時間は次の通りである。
※ Soft Resetを実行するとステータスレジスタをディフォルト値にクリアされます。Soft Resetコマンド実行後、11ms以上待ってから次の処理を行って下さい。
コマンド一覧
コマンド | コード |
予 備 | 0000x |
温度測定 | 00011 |
相対湿度測定 | 00101 |
STATUS Registor Read | 00111 |
STATUS Registor Write | 00110 |
予 備 | 0101x〜1110x |
Soft Reset | 11110 |
電源電圧:2.4V〜5.5V
消費電力:休止中 2uW(TYP)
測定中 3mW(TYP)
平 均150uW(TYP)
センサ性能
SHT-11 | 相対湿度センサ | 温度センサ | |
分解能 | 0.05%RH(標準)/12bit | 0.01℃(標準)/14bit | |
精 度 | ±3.0%RH(標準) | ±0.4℃(標準) | |
再現性 | ±0.1%RH | ±0.1℃(標準) | |
非線形性 | ±3%RH(標準)生データ | ||
<<1%RH(標準)リニアライズ後 | |||
応答時間 | 8秒(標準)(τ:63%) | 5秒(最小)〜30秒(最大)(τ:63%) | |
動作範囲 | 0〜100%RH | -40℃〜123.8℃ | |
長期ドリフト | <0.5%RH/年(標準) | <<0.04℃/年(標準) |
ハードウェアにおける配線は4本の線だけなので、10分程度で完了します。回路図にもありますように、SHT11のDATA信号線は双方向I/Oなので頻繁に入出力を切り替えるため、4本(RE0〜RE3)しかないEポートを使いました。
一方ソフトウェアは、誠に申し訳ございませんが、上記文献1のプログラムを一部修正してそのまま、使わせていただきました。O(-人-)O アリガタヤ・・
基板は2008年6月17日アップしたボード回路図を若干変更しております。(この頁にある回路図と見比べて下さい)これに伴い、RTC関連のプログラムを変更しており、さらに前回のRTCプログラム量を若干ですが小さくすることができ、今回に採用しています。
センサの詳細はデータシートを参照していただくことにし、ここでは概要だけデータシートより抜粋して載せておきます。
↑ 湿度測定比較:SHT11=49.5%、TR-72S=50%
↑ 温度測定比較:SHT11=30.7℃、TR-72S=30.7℃
上記の仕様を見る限り、Sensirion社の性能の方が良いように見えますのが、今は比較と言うことで、行ってみたいと思います。測定条件は運転開始後、最低1時間以上放置し、その環境になじませたうえで、測定を開始することにします。
測定精度 標準センサ使用時 |
温度:平均±0.3℃(-20〜80℃)、平均±0.5℃(-40〜-20℃/80〜110℃) 湿度:±5%RH(25℃/RH50%において) |
測定分解能 | 温度:0.1℃ 、 湿度:1%RH |
測定範囲 | 温度:0〜50℃ 、 湿度:10〜95%RH |
センサ耐熱温度 | -10℃〜55℃ |
性能比較するため、手元にあった温度湿度センサ・ロガとして、潟eィアンドデイ社の「おんどりRH」のTR-72Sを評価対象としました。ちなみにこの製品の公開されている性能は以下の通りですが、この製品は2003年11月で生産が終了しています。
性能の確認
総 評