湿度センサーをチェックして校正する方法
湿度センサーはどのくらい正確ですか?このプロジェクトで調べてください。
湿度センサーは一般的で、比較的安価で、さまざまな種類があります。多くの場合、データシートを確認し、インターフェースで使用し、(値が「妥当に見える」限り)結果を受け入れます。
このプロジェクトでは、さらに一歩進んで湿度センサーの精度を検証する方法を示します。また、センサーキャリブレーションの一般的な方法を示し、その方法を適用して結果をキャリブレーションし、湿度測定の精度を向上させます。
プロジェクトで使用されたテストセットアップ(左から右、Quark D2000マイクロコントローラーボード、センサーインターフェース、微小環境でのHIH5030センサー)。
プロジェクトの基礎
センサーの精度を確認するために、得られた値を参照標準と比較します。湿度センサーの精度を確認するために、「飽和塩」法を使用して標準を作成します。簡単に言うと、特定の塩(つまり、食塩や塩化カリウムなどのイオン性化合物)を水溶液に溶解すると、既知の湿度の雰囲気が生成されます(参照PDFを参照)。
これらの化学的特性は、既知の相対湿度(RH)パーセンテージ(つまり、参照標準)の微小環境を作成するために使用され、センサーは微小環境内で読み取られます。具体的には、密閉された瓶に溶液を入れて雰囲気を保ち、接続されたセンサーを密閉された瓶に入れます。その後、センサーが繰り返し読み取られ、値が記録されます。
それぞれが異なる相対湿度を生成するいくつかの異なる塩を使用して手順を繰り返すことにより、テスト対象のセンサーのプロファイルを作成できます。各微小環境の相対湿度がわかっているので、センサーの読み取り値の既知の値からの偏差を評価し、センサーの精度を評価できます。
偏差が大きいが克服できない場合は、ソフトウェアで数学的校正手順を適用して、測定の精度を高めることができます。
安全についての一言
先に進む前に、このプロジェクトで使用される化学物質を責任を持って取り扱うことが不可欠です。
- 使用する各化学物質の安全データシート(SDS、場合によってはMSDS(製品安全データシート))をお読みください(使用する各塩のSDSへのリンクを以下に示します。また、各塩について文献検索を行うこともできます。およびそれらの安全な取り扱い手順)。
- 化学物質を吸入または摂取しないでください。
- 化学物質を皮膚や目に接触させないでください(手袋とゴーグルを使用してください)。
- 食品と同じ場所で溶液を準備しないでください。
- 化学物質を適切に保管してください。
- 曝露が偶発的に起こらないように、溶液と溶液の調製に使用したすべての機器を適切に廃棄してください。
- 開始する前に、偶発的な暴露が発生した場合の対処方法を知っておいてください(安全データシートを参照してください)。
使用した塩
一般に、参照標準用に生成できるRH雰囲気が多いほど、テスト対象のセンサーの特性が向上します。ただし、実際的な意味でのリソースには常に制限があります。このプロジェクトでは、4つの参照標準が使用され、参照標準の作成に使用される塩は、可能なRH値の範囲をカバーするだけでなく、安全性、可用性、およびコストも考慮して選択されました。
以下の塩を選択しました。塩化ナトリウム(食卓塩)の場合、地元の食料品店で純粋なコーシャソルトを安価に入手できました。そのルートに行く場合は、ヨウ素や固結防止剤などの添加物と一緒に食卓塩を使用することは避けてください。
%RH(25°C) | |||
---|---|---|---|
塩化リチウム | 11.30 | ホームサイエンスツール | LiClのSDS |
塩化マグネシウム | 32.78 | ホームサイエンスツール | MgClのSDS |
塩化ナトリウム | 75.29 | さまざま(テキストを参照) | NaClのSDS |
塩化カリウム | 84.34 | ホームサイエンスツール | KClのSDS |
微小環境の作成
ほぼすべての基準があり、水溶液から安定したRHを作成するための基準もあります(ASTM E104 – 02(2012)を参照)。私のベンチ、そしておそらくあなたのベンチは公式の試験所ではありませんが、規格の仕様にできるだけ厳密に従うことは価値があります。
また、このプロジェクトで提示された結果は、注意深く収集されていますが、あらゆるブランドのセンサーの精度に関する全体的な品質ステートメントを反映または示していると解釈されるべきではないことにも注意してください。テストされたセンサーはごく少数であり、使用されたセンサーの年齢と使用履歴は異なります。
各塩について、非常に湿った砂と同様の粘稠度になるように蒸留水を加えることによって、ぬるぬるした混合物を作成しました。化学薬品大さじ4または5と蒸留水大さじ1を試すことができますが、少し実験する必要があるかもしれません。
混合物は、密閉された小さな瓶の中で作られました。ガラスやプラスチックでさえ、内部の雰囲気を保つことができる限り、うまく機能するはずです。瓶の上部に小さな穴を開けて、接続ワイヤをセンサーインターフェースに接続し、次にマイクロコントローラーに接続することができます。次に、接続されたセンサーは、混合物の約0.5〜1.0インチ上に配置されます。センサーが溶液に直接接触しないように注意してください。直接接触しないと、損傷する可能性があります。接続を所定の位置に保持し、キャップの穴を密閉するために、簡単に取り外し可能なコンタクトパテを使用できます。
最終的な読書をする前に、平衡化のために十分な時間をとることが重要です。私はこの問題を経験的にテストし、選択したテストケースで最大6時間毎分読み取りを行いました。私の経験では、これは必要以上に長く、各センサーとソルトの平衡化時間は90〜120分でした。次に、最後の5つの読み取り値の平均が最終値に使用されました。すべての場合において、5つの値は、たとえあったとしても、ほとんど違いを示しませんでした。
さらに、すべての読み取り値は約25°C(±1°)の周囲温度で取得され、各標準に使用されたRH値は25°Cでリストされた値でした(値については、このPDFを参照してください)。
塩化ナトリウムを含む微小環境内のキャリアボード上のHIH5030センサー。
ハードウェア
マイクロコントローラー
このプロジェクトでは、QuarkD2000マイクロコントローラーを使用してセンサーをインターフェースします。 D2000は、I2Cおよびアナログ-デジタルインターフェースを備えた3Vボードです。
ただし、適切なインターフェイスを備えた他のほとんどのマイクロコントローラを使用できることに注意してください。
センサーインターフェース
プロジェクトでテストされたセンサー。 A)HIH8121、B)HIH5030、C)DHT-22(AM2302)、D)HIH6030(キャリアボード上)。
DHT-22(2つを使用)、HIH5030、HIH6030、HIH8121の4種類の湿度センサーをテストしました。以下の図は、各タイプのセンサーに使用されるシンプルなインターフェースを示しています。リンクされたデータシートを参照すると、背景情報が得られます。回路用。
- DHT-22は、独自のシリアル出力を備えた温度および湿度センサーです
- HIH5030は、アナログ(電圧)出力を備えた湿度センサーです。このセンサーのインターフェースは、インピーダンス整合のためにユニティゲイン構成のオペアンプを使用しています。
- HIH6030およびHIH8121は、I2Cプロトコルを使用する温度および湿度センサーです
DHT-22からD2000へのインターフェース。
DHT-22 BOM:U1、DHT-22センサー; R1、4.7kΩ抵抗; C1、0.1 µFコンデンサ。
HIH5030からD2000へのインターフェース。
HIH5030 BOM:U1、HIH3050センサー; U2、MCP601Pオペアンプ; C1、1.0 µFコンデンサ; C2、0.1 µFコンデンサ。
HIH6030からD2000へのインターフェース。
HIH6030 BOM:U1、HIH6030センサー; R1とR2、2.2kΩの抵抗。 C1、0.22 µFコンデンサ; C2、0.1 µFコンデンサ。
HIH8121からD2000へのインターフェース。
HIH8121 BOM:U1、HIH8121センサー; R1およびR2、2.2kΩ抵抗。 C1、0.22 µFコンデンサ。
センサーソフトウェア
センサーデータを収集するためのプログラムはすべてC言語で記述されており、「湿度センサープロジェクトコード」ボタンをクリックしてダウンロードできます。それぞれにコメントが付けられており、わかりやすいです。プログラムは、センサーごとに1分ごとにセンサーを読み取り、その値をシリアルモニターに送信します。そのため、特定のアプリケーションに簡単に適応できるはずです。
DHT22.c(左)とHIH5030.c(右)からの出力のスクリーンショット。
センサー評価手順
次の表には、4つの微小環境のそれぞれでセンサーを評価したデータが含まれています。
DHT#1 | DHT#2 | HIH5030 | HIH6030 | HIH8121 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
参照RH | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR |
11.30(LiCl) | 12.56 | 1.26 | 16.29 | 4.99 | 13.02 | 1.72 | 20.79 | 9.49 | 12.31 | 1.01 |
32.78(MgCl) | 32.36 | -0.42 | 33.79 | 1.01 | 33.46 | 0.68 | 40.77 | 7.99 | 32.43 | -0.35 |
75.29(NaCl) | 73.04 | -2.25 | 74.50 | -0.79 | 77.74 | 2.45 | 83.83 | 8.54 | 76.63 | 1.34 |
84.34(KCl) | 82.30 | -2.04 | 82.15 | -2.19 | 85.84 | 1.50 | 93.43 | 9.09 | 85.01 | 0.67 |
RMSE | 1.675 | 2.799 | 1.708 | 8.79 | 0.920 |
既知の相対湿度の安定した環境でのセンサーのパフォーマンスからデータを収集したら、センサーの精度を数値的に評価できます。
表では、各RH標準で各センサーの誤差を計算していることに注意してください。ただし、一部の値が正で他の値が負であるため、これらの値を単純に平均してセンサーを評価することはできません。単純に平均を取ると、正の値と負の値が互いに打ち消し合うため、結果の値は平均誤差を最小限に抑えます。
代わりに、二乗平均平方根誤差(RMSE)を計算して、センサーの精度を特徴付けます。 RMSEの式は次のとおりです。
ここで、Oは観測されたセンサー値、Iは理想的なセンサー値(つまり、参照標準)です。 RMSEを計算するには、各エラー(参照標準からの偏差)を2乗し、次にそれらの値の算術平均を計算し、最後に平均の平方根を取ります。
センサーの精度を評価したら、RMSEを使用して、センサーのキャリブレーションが必要かどうかを判断できます。場合によっては、RMSEが小さく、アプリケーションに完全に受け入れられ、キャリブレーションが不要であると合理的に判断できます。
たとえば、HIH8121の結果は印象的です。 RMSEは1%未満であり、すべてのサンプルポイントの誤差は2%未満です。
一方、場合によっては、センサーの応答が非常に悪く不規則であるため、アプリケーションに別のセンサーが必要であると判断するだけである場合があります。
キャリブレーションの決定では、タスクに必要な精度を常に考慮に入れる必要があります。それでも、テーブル内のすべてのセンサーについて、キャリブレーションによってセンサーの読み取りの精度を向上させることができます。
センサー校正手順
センサーを校正するには、最初に理想値を観測値に関連付ける関数を数学的に決定する必要があります。線形回帰手順を使用して、その関数を決定できます。
回帰手順の名前にある「線形」という言葉は、線形関数を意味するものではありません。代わりに、この用語は変数の線形結合を指します。結果の関数は、線形または曲線になります。以下の3つの多項式関数はすべて、線形回帰を表しています(注:このコンテキストでは役に立たない0度のケースは無視しています)。
- y =ax + b(1次、線形)
- y =ax 2 + bx + c(2次、2次)
- y =ax 3 + bx 2 + cx + d(3度、3次)
現在のプロジェクトでは、4つの参照標準(つまり、n =4)を使用してセンサー値を計算します。したがって、3次多項式は、計算できる最高次数の多項式です。可能な最高次数の多項式がn– 1である場合は常にあり、この場合は3(4 – 1)を意味します。
最小二乗法は通常、線形回帰に使用されます。この手順では、各データムから線までの距離の合計が可能な限り小さくなるように線を合わせます。線形回帰を実行するために最小二乗法を使用する利用可能な多くのプログラムがあります。 Excelを使用することもできます(詳細については、ここをクリックしてください)。
また、線形回帰を使用する必要がないことにも注意してください。非線形回帰を使用できます。非線形回帰の例では、べき関数またはフーリエ関数が得られます。ただし、線形回帰はプロジェクトのデータに最適であり、さらに、ソフトウェア修正(キャリブレーション)を簡単に実装できます。実際、このプロジェクトでは、非線形回帰を使用してもほとんど何も得られないと思います。
多項式の選択
理論的には、データに最適な多項式を使用します。つまり、r 2 で表される、決定係数が最小になる多項式です。 (またはR 2 、「決定係数」と発音)。近いr 2 1にすると、フィット感が良くなります。最小二乗推定では、使用される多項式の次数が高いほど、適合度が高くなることが常にあります。
ただし、可能な限り最高次の多項式を自動的に使用する必要はありません。キャリブレーションはソフトウェアで行われるため、特に高次の多項式を使用して得られる精度が非常に小さい場合は、低次の多項式を使用すると速度やメモリの利点が得られる場合があります。
以下に、さまざまな次数の多項式を使用したHIH6030センサーのキャリブレーション手順を示します。その際、使用する任意の次数の多項式に適用できる一般的な手順を示します。
前の表のデータを使用して、最初に最小二乗回帰手順を実行して、各多項式の係数を決定します。これらの値は、使用されている回帰ソフトウェアパッケージから取得されます。結果は、r 2 を含めて以下のとおりです。 値。
- 線形:y =ax + b; a =1.0022287、b =-8.9105659、r 2 =0.9996498
- 二次方程式:y =ax 2 + bx + c; a =-0.0012638、b =1.1484601、c =-12.0009745、r 2 =0.9999944
- キュービック:y =ax 3 + bx 2 + cx + d; a =0.0000076、b =-2.4906103、c =1.2061971、d =-12.7681425、r 2 =0.9999999
これで、計算された関数を使用して、観測値を変更できます。つまり、センサーの読み取り値は、次の表に示すように調整できます(OBS、Corrected、およびERRの値は小数点以下第2位に四捨五入されていることに注意してください)。
RAW | 1度 | 2度 | 3度 | |||||
---|---|---|---|---|---|---|---|---|
OBS | ERR | ERR | ERR | ERR | ||||
11.30 | 20.79 | 9.49 | 11.93 | 0.63 | 11.36 | 0.06 | 11.30 | 0.00 |
32.78 | 40.77 | 7.99 | 31.95 | -0.83 | 32.83 | 0.05 | 32.78 | 0.00 |
75.29 | 83.83 | 8.54 | 75.11 | -0.18 | 75.85 | 0.55 | 75.29 | 0.00 |
84.34 | 93.43 | 9.09 | 84.73 | 0.39 | 84.83 | 0.49 | 84.34 | 0.00 |
RMSE | 8.795736 | 0.562146 | 0.371478 | 0.00212 |
3つの多項式すべてが、観測された測定値と比較してRMSEの大幅な減少をもたらしたことがわかります。そのため、キャリブレーションを行います。下のグラフは、1次多項式を使用した改善を示しています。キャリブレーションされた(修正された)データポイントが理想的な対角線の近くにあることに注意してください。
詳細情報を読む…。
湿度センサーをチェックして校正する方法
現在のプロジェクト/投稿は次を使用して見つけることもできます:
- 湿度校正の方法
製造プロセス