ホームページの最初のページにします!
お気に入りに登録します!
ただ今の日時:
v(^_^v)♪ありがとございました~♪(v^_^)v 戻りまーす!

温度・湿度センサの利用

Sensirion社の温度湿度センサ SHTシリーズを使う

1. 日付
2009年8月18日
2. テーマ
Sensirion社SHT11を使い、温度・湿度センサを制御し、日時と同時表示をさせる
3. 使用したPICマイコン
PIC16F877-20/SP、トライステート社のPIC16F87X BOARDを使用
4. 電源電圧とシステムクロック
電源:DC5V、クロック:20MHz
5. 開発環境
ハードウェア:ICD-U64(CCS)、ブレッドボード(鰹H月電子通商)
ソフトウェア:PCWHD Compiler Ver4.097(CCS)
6. 回路図
ここにあります!
7. プログラム
プログラムソースファイル、HEXファイル一式はここにあり、ZIPで圧縮しています。
8. 参照した主な書籍とWebサイト
「トランジスタ技術 2003年12月号 P164〜170」 幾島 康夫 著者 海Q出版社 発行・・・文献1

 今回使用したのはオプとレックス社PWB24227-CEMというもので、かなり前に秋月電子で売られていたのですが現在は販売されていません。従ってこれから作ろうと思う方は20文字、4行バージョンを使う方がいいかもしれません。

↑の基板は2008年6月17日アップしたもの、センサを搭載
したものが右の写真です。変換基板とフィルタキャップを取り
付けています。電源線2本と信号線2本、計4本の線で、最初は
I2Cバス制御かと思い、配線していましたが、いざソフトウェアを
コーティングするときに、とあるWebサイトで
I2Cバスでないことが
判明し、急遽配線を変更しました。
 ボードには、
RTCも同時に搭載し、LCDへ表示していますが
使用した
LCD24文字、2行バージョンで、おそらく入手は
難しいかと思います。

 2008年6月17日にアップした「I2Cバスを使った日付/時計表示の製作」の拡張版として、「温度・湿度」の表示機能を加えてみました。使用したセンサはセンシリオン且ミの温度湿度センサーSHTシリーズをPICマイコンにつないで計測します。購入先はストロベリー社より、SHT11とフィルタキャップ、変換基板込みで2,500円でした。詳しくは各サイトを参照してください。使用したセンサのデータシートはここにあります。一応和文なので助かりました。

C1C2C3V3用湿度変換係数表より
SORHは通信で得られたデータ値

RH[%] = C1C2×SORHC3×SORH2

相対湿度データ算出

d1d2温度変換係数表より
SOTは通信で得られたデータ値

温度データ算出
 
T[℃] = d1d2×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分程度で完了します。回路図にもありますように、SHT11DATA信号線双方向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月で生産が終了しています。

性能の確認

 結構素晴らしい性能をしています。
今回は
1秒サンプリングを行っています。データシートには自己加熱0.1℃未満に抑えるため1回のサンプリング時間を例えば12bitであれば最高でも1秒以上にするようにと書かれていいます。
 
LCDの2行目の一番右端に、「P1013hP]と表示していますが、次回拡張予定の絶対気圧センサのデータを表示するためのデモ表示をしています。
 
TR-72Sに付属されていたセンサは、1年に1回交換を勧めています。ちなみにもう一台TR-72Sを持っているのですが、こちらのセンサは5年以上に渡り悪環境で使用されていて、湿度が10%強ほどずれていましたので、交換しました。SHT11は結構悪環境に強いらしいのですが、今の段階でそのような場所で使う予定はありません。
 最終目標は上記の
TR-72Sのロガ機能の様なものを搭載し、単独で動作するもので、日時と共に、温度湿度気圧SDメモリに記録するロガを考えています。

総  評