高分子湿度センサーを利用した回路をさらに改良し、部品数を減らすことに成功しました。
入手可能な高分子湿度センサーの特性をまず解説します。
原理は非常に簡単で高分子が湿気を吸収するとインピーダンスが低くなるのを利用しています。
インピーダンスと湿度は指数関係にあります。そのため対数変換させる必要があります。
気温が上昇するとインピーダンスが低くなります。そのため温度補償も必要です。
高分子は直流を掛けると電気分解して劣化するため、交流をかける必要があります。
型番 メーカ 入手先 HIS-02 北陸電気工業 千石電商 HS15 サーモメトリクス 秋月電子 ![]()
![]()
改良(2004-04-29)
- きれいな正弦波にするため R5 と並列に D4 と D5 を追加しました。
- D4 と D5 の追加により、正弦波の出力が 1Vpp になるため R7 と R8 が不要になりました。
- 確実に正弦波を発振させるため R4 10K を 9.1K に変更しました。
- 出力を安定させるため C5 10uF を 47uF に変更しました。
LM324(Vcc=4pin, Gnd=11pin)
- 正弦波発振回路
ウィーンブリッジによる正弦波発振回路です。発振周波数は設計上約1KHzです。
f=1/(2πCR)
ただし R=R3=R6, C=C1=C2
ウィーンブリッジの発振条件は
R5/R4=2
ですが、実際には確実に発振させるために若干2より大きめにします。 センサーを壊さないように 1Vpp にしています。
このままでは出力インピーダンスが高いので、センサー駆動に影響を与えるばかりでなく、 そのインピーダンスも測定されてしまいます。 そこでオペアンプのバッファー(ボルテージフォロア)をはさんでインピーダンスを限りなくゼロに近づけます。 コンデンサ(C4)で直流分をカットしてセンサーに正弦波を掛けます。- 対数変換+半波反転整流+平滑回路
オペアンプと2つのダイオード(D2, D3)で理想ダイオード(半波反転整流)を構成しています。 理想ダイオードとコンデンサ(C5)で平滑します。
ダイオード(D1)の電流フィードバックで対数変換します。 ダイオードの順方向電圧と電流には指数の関係にありこれを利用しています。 ただし、このダイオードは一般的なシリコンのスイッチング用でなければなりません。 ショットキーなどは立ち上がりが早く、高い電圧で指数から外れるため向いていません。
例、ショットキー(1SS286), 汎用ダイオード(1S1588)の順方向電圧-電流特性
![]()
概ねショットキーの場合 0.4V まで、汎用ダイオードの場合には 0.8V まで指数を示すことがわかります。 使える電圧範囲が広いことも設計上都合がよく、出力電圧を0.8Vまでとることができます。 さらに、ダイオードは気温が上昇すると電流が多く流れます。 これは、湿度センサーの気温が上昇するとインピーダンスが低くなる性質を相殺するように働き、 温度補償します。 そのため対数変換用ダイオード(D1)と湿度センサーは熱結合していることが望ましく、部品配置を考慮してください。- 仮想接地回路(動作基準電圧)
単電源オペアンプ(Vcc=5V)でプラスとマイナスの信号を扱う必要があるため、仮想接地を作り出します。 最終的な出力電圧はこの仮想接地を基準にしています。GND ではないので注意してください。 反転出力されるので、出力は概ね 0 から -0.8V になります。- 調整方法
電圧直読にする場合には、反転増幅回路を追加して 0 〜 1V を 0 〜 100% と読むとよいでしょう。
増幅度を調整することで対応することができます。
反転増幅回路の例、(LM358 の代わりにNJM2904でもOK)
LM358(Vcc=8pin, Gnd=4pin)R10 を調整することで、出力電圧(湿度)の傾きを調整できます。傾きが合わないときは 1K から 200 の間で調整すると良いでしょう。経験上、1Kが最適のようです。
- HS15の場合、センサーの代わりに10Kを接続し、出力が 0.68V(68%) になるように VR を調整します。 100Kを接続したとき、0.46V(46%) 前後になるはずです。
- PIC などで測定する場合には、反転増幅回路を追加して 0 〜 2V にしてA/D変換すると誤差を減らせます。
ただし、この場合 LM358 ではなく CMOS の LMC662 を使用する必要があります。LM358 の最大出力振幅が 3.5Vpp しかないため、動作基準電圧 2.5V から ±1.75V しか振ることができません。これでは2.5V+2.0Vを得ることはできません。 LMC662 であれば最大出力振幅が4.5Vpp以上あります。
HS15の場合、センサーの代わりに10Kを接続し、出力が 1.36V(68%) になるように VR を調整します。 100Kを接続したとき、0.92V(46%) 前後になるはずです。
値 数 備考 1K 1 R10 カーボン皮膜抵抗1/6W 10K 3 R1, R2, R4 カーボン皮膜抵抗1/6W 15K 2 R3, R6 カーボン皮膜抵抗1/6W 20K 1 R5 カーボン皮膜抵抗1/6W 0.01uF 2 C1, C2 セラミック 10uF 2 C3, C4 縦型電解コンデンサ(耐圧16V) 47uF 1 C5 縦型電解コンデンサ(耐圧16V) 1S1588 5 D1, D2, D3, D4, D5 代替品でもOK(ただしショットキーやゲルマニュームは不可) LM324 1 U1 NJM2902でもOK HS15 1 SENSOR HIS-02でもOK(高分子湿度センサーならOK) 10K 1 調整用 カーボン皮膜抵抗1/6W 100K 1 調整用 カーボン皮膜抵抗1/6W
設計した回路を実際に組み、実測してみました。センサーの代わりに抵抗を接続します。
抵抗(Ω) 出力電圧[mV] 正規化湿度[%] 理想湿度[%](HP15,25C) ∞ -87 13.22 16 1M -210 31.92 30 100K -330 50.16 46 10K -454 69.01 68 2K -558 84.82 87 1K -625 95 95 ![]()
![]()
- 出力を正規化(-625mV=95%換算)して HS15 と比較すると、ほぼ同じ値を示していることがわかります。 数%の差がありますが、これはセンサーのばらつきから考えても充分実用レベルといえるでしょう。
- 対数変換用ダイオード(D1)を暖めると出力が小さくなり、温度補償するように変化するのを確認できます。
- センサーを接続して実測してみるとほぼ計算値で動作します。
湿度回路の出力を PIC を使って A/D 変換し、LCD に表示するようにしました。 PIC は最新の 16F88 を使用しました。温度補償するため湿度センサーのそばにダイオードD1を配置しています。
R10 を調整することで、かなり精度のよい湿度計になりました。
![]()
![]()
秋月のキットを流用する場合は電圧計部を以下のように変更してください。(C)2004-2005 All rights reserved by Einstein.
(当方はキットを持っていませんので、動作確認したわけではありません。)
200mV計測レンジを2V計測レンジに変更します。赤丸の部分が変更点です。
これにより、0V 〜 1V を 0 〜 100% と読むことができます。
![]()