0.はじめに
ArduinoやRaspberry Piなどに接続される温湿度センサーの代表的なものとして、DHT11があります。インターネット上ではDHT11を接続して温湿度を測定しました、という例を多く見かけます。
しかしながら、どの程度の性能を持っているか?を検証した記事は少ないように思います。
このエントリでは、DHT11と、高精度温湿度センサ、SHT31とを同時に動作させ(写真1)、DHT11の測定データがSHT31の測定データとどれくらい一致するか?を実験・検証してみました。
結果、DHT11は、SHT31と(25℃近辺であれば)遜色のない性能を持っていることがわかりました(図1&図2)。
図1 DHT11とSHT31とを16時間連続運転して得られた温度データ
図2 DHT11とSHT31とを16時間連続運転して得られた湿度データ
1.DHT11の「正しい」仕様は?
DHT11の仕様に関しては曖昧な情報が多く、混乱しているのが実情と思います。ですが、製造元のWEBサイトで、中国語のデータシートを見つけることができたので、ここではそのデータシートの記載内容を「正しい」仕様として取り上げることとします。表1をご覧ください。中国語ですが、何となく理解できると思います。
表1 DHT11の仕様
開発元のWEBサイトにある『dht11-v1_3说明书(详细版).pdf』から引用
湿度測定範囲は5%から95%、測定精度は±5%(Max Typ)(ただし25℃の時)。温度測定範囲は-20℃から60℃、測定精度は±2℃(Max Typ)(ただし25℃の時)となっています。この値が正しいならば、室温近辺であれば十分「使える」温湿度センサーと思います。
【訂正 2019/09/28:精度はMaxではなく、Typでした。原本にTypeと記載があるのはご愛敬ww】
2.SHT31の仕様
SHT31は、スイスに本拠を構えるSensirion社の高精度温湿度センサーで、表2-1、表2-2の様な仕様を持っています。PDFのデータシートはこちらからダウンロードできます。
表2-2 SHT31の温度測定仕様
開発元のWEBサイトにある
『Sensirion_Humidity_Sensors_SHT3x_DIS_Datasheet_V4_J.pdf』から引用
湿度測定範囲は0%から100%(!)、測定精度は±2%(Typ)(0%〜100%)。温度測定範囲は-40℃から125℃(!)、測定精度は±0.2℃(Typ)(-40℃〜90℃)となっています。DHT11の仕様と比べると段違いに良いですね。このセンサーは、DHT11の性能を検証するものとしては十分過ぎる性能を持っていると言えるでしょう。
3.実験を行う時の注意点
二つのセンサーをできるだけ近づけて配置し測定を行いました。写真2を参照ください。間隔は5mm程度でしょうか?これくらい近づけないと正確な測定はできません。
また、発熱体(例えば、ノートPCの排熱口など)の近くには置かないようにしてください。
写真2 DHT11とSHT31との配置。できるだけ近づけて配置するのが重要。
4.25℃近辺の性能はわかった。じゃあ他の温度や湿度のときはどうよ?
もっともなご質問と思います(苦笑)。温度は3℃から63℃まで、湿度は15%から91%まで簡易的な測定方法にて得られたデータを載せておきます。詳細は後日…