高分子湿度センサーを利用した回路をさらに改良し、部品数を減らすことに成功しました。
入手可能な高分子湿度センサーの特性をまず解説します。
原理は非常に簡単で高分子が湿気を吸収するとインピーダンスが低くなるのを利用しています。
インピーダンスと湿度は指数関係にあります。そのため対数変換させる必要があります。
気温が上昇するとインピーダンスが低くなります。そのため温度補償も必要です。
高分子は直流を掛けると電気分解して劣化するため、交流をかける必要があります。
- 対数変換を簡略化するため、過渡現象を利用した湿度回路を見かけます。
- 発想としては素晴らしいのですが、残念ながら致命的な問題があります。
- それは、過渡現象を利用するために、直流を掛けていることです。
- 常にプラスの電圧のため、高分子が電気分解して劣化します。マイナスの電圧がかかっていません。
- そのため短寿命です。
型番 メーカ 入手先 HIS-02 北陸電気工業 千石電商 HS15P サーモメトリクス 秋月電子
測定範囲 15-95[%]、これ以外も測定可能ですが誤差が大きくなります。 電源 5V単電源 出力電圧 増幅調整後 0 - 1[V]、これを0 - 100[%]と直読できます。
改良(2010-07-14)改良(2004-04-29)
- 湿度精度改善のため、 D1 と並列に D6 を追加しました。
- これに伴い R10 1k を 200 に変更しました。
- きれいな正弦波にするため 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 (ピークトゥピーク)にしています。
このままでは出力インピーダンスが高いので、センサー駆動に影響を与えるばかりでなく、 そのインピーダンスも測定されてしまいます。 そこでオペアンプのバッファー(ボルテージフォロア)をはさんでインピーダンスを限りなくゼロに近づけます(実際には数10Ωあります)。 コンデンサ(C4)で直流分をカットしてセンサーに正弦波を掛けます。
- 対数変換+半波反転整流+平滑回路
オペアンプと2つのダイオード(D2, D3)で理想ダイオード(半波反転整流)を構成しています。 理想ダイオードとコンデンサ(C5)で平滑します。
ダイオード(D1+D6)の電流フィードバックで対数変換します。 ダイオードの順方向電圧と電流には指数の関係にありこれを利用しています。 ただし、このダイオードは一般的なシリコンのスイッチング用でなければなりません。 ショットキーなどは立ち上がりが早く、高い電圧で指数から外れるため向いていません。
例、ショットキー(1SS286), 汎用ダイオード(1S1588)の順方向電圧-電流特性
概ねショットキーの場合 0.4V まで、汎用ダイオードの場合には 0.8V まで指数を示すことがわかります。 使える電圧範囲が広いことも設計上都合がよく、出力電圧を0.8Vまでとることができます。 さらに、ダイオードは気温が上昇すると電流が多く流れます。 これは、湿度センサーの気温が上昇するとインピーダンスが低くなる性質を相殺するように働き、 温度補償します。 そのため対数変換用ダイオード(D1+D6)と湿度センサーは熱結合していることが望ましく、部品配置を考慮してください。- 動作基準電圧
単電源オペアンプ(Vcc=5V)でプラスとマイナスの信号を扱う必要があるため、動作基準電圧を作り出します。 出力電圧はこの動作基準電圧を基準にしています。GND ではないので注意してください。 反転出力されるので、出力は概ね 0 から -0.8V になります。- 調整方法
電圧直読にする場合には、反転増幅回路と減算回路(GND基準)を追加して 0 〜 1V を 0 〜 100% と読むとよいでしょう。
GND基準になり、増幅度で調整します。
追加回路の例
LMC662(Vcc=8pin, Gnd=4pin)R10 を調整することで、出力電圧(湿度)の傾きを調整できます。傾きが合わないときは 200 から 1k の間で調整すると良いでしょう。
- HS15Pの場合、センサーの代わりに10kを接続し、出力が 0.68V(68%) になるように VR を調整します。 100kを接続したとき、0.46V(46%) 前後になるはずです。
- LMC662などのCMOSである必要があります。LM358やNJM2904では減算回路が正しく機能しません。
- PIC などで測定する場合には、反転増幅回路を追加して 0 〜 2V にしてA/D変換すると誤差を減らせます。
ただし、この場合 LM358 ではなく CMOS の LMC662 を使用する必要があります。LM358 の最大出力振幅が 3.5Vpp しかないため、動作基準電圧 2.5V から ±1.75V しか振ることができません。これでは2.5V+2.0Vを得ることはできません。 LMC662 であれば最大出力振幅が4.5Vpp以上あります。
HS15Pの場合、センサーの代わりに10kを接続し、出力が 1.36V(68%) になるように VR を調整します。 100kを接続したとき、0.92V(46%) 前後になるはずです。
- 応用
3V対応のCMOS単電源オペアンプ(LMC6482,LMC6484,NJU7032D,NJU7044D)を利用すれば、Vcc=3.3Vでも動作します。3.3V電源仕様のPICにも接続できます。電池駆動(1.5V x2)も可能です。
追加回路部品
値 数 備考 単価 200 1 R10 カーボン皮膜抵抗1/4W \10 9.1k 1 R4 カーボン皮膜抵抗1/4W \10 10k 2 R1, R2 カーボン皮膜抵抗1/4W \10 15k 2 R3, R6 カーボン皮膜抵抗1/4W \10 20k 1 R5 カーボン皮膜抵抗1/4W \10 0.01uF 2 C1, C2 セラミック \10 10uF 2 C3, C4 縦型電解コンデンサ(耐圧16V) \10 47uF 1 C5 縦型電解コンデンサ(耐圧16V) \10 1N4148 6 D1, D2, D3, D4, D5, D6 代替品1S2076AでもOK(ただしショットキーやゲルマニュームは不可) \10 LM324 1 U1 NJM2902, LMC660, LMC6484, NJU7044DでもOK \100 HS15P 1 SENSOR HIS-02でもOK(高分子湿度センサーならOK) \500 10k 1 調整用 カーボン皮膜抵抗1/4W \10 100k 1 調整用 カーボン皮膜抵抗1/4W \10 合計 22 \800
値 数 備考 単価 10k 5 R11, R12, R13, R14, R15 カーボン皮膜抵抗1/4W \10 30k 1 VR 半固定抵抗 \50 LMC662 1 U2 LMC6482, NJU7032DでもOK \150 合計 22 \250
設計した回路を実際に組み、実測してみました。センサーの代わりに抵抗を接続します。
抵抗(Ω) 理想湿度[%](HS15P,25C) 測定湿度(改良前)[%] 測定湿度(改良後)[%] 10M 16% - 15.13% 1M 30% 30.27% 29.29% 100k 46% 46.87% 47.11% 10k 68% 67.13% 68.35% 2k 88% 99.6% 85.93% 1k 96% - 97.41%
- 改良前は80%以上の湿度で高めにずれを生じていました。改良後は全域にわたって湿度精度が改善されました。
原因は対数変換用ダイオードD1の対数特性が広い湿度範囲をカバーしきれなかったためです。
R10で湿度傾きを調整できますが、湿度の高い側で調整すると湿度の低い側の精度が悪化し、どっちつかずでした。
R10=1kのとき、D1にかかる電圧は0.217V(30%)-0.505V(90%)の範囲でした。この電圧範囲で対数変換されていました。
D1に並列でD6を追加して電流分散をはかることで湿度の高い側を改善し、R10を 1k から 200 に変更することで湿度の低い側を改善しました。
これによりD1+D6にかかる電圧範囲が0.292V(30%)-0.473V(90%)に収まり、対数変換の直線性が改善されました。
- HS15P と比較すると、ほぼ同じ値を示していることがわかります。湿度15%から95%までは高い精度となります。
数%の差がありますが、これはセンサーのばらつきから考えても充分実用レベルといえるでしょう。- 対数変換用ダイオード(D1+D6)を暖めると出力が小さくなり、温度補償するように変化するのを確認できます。
- センサーを接続して実測してみるとほぼ計算値で動作します。
- 湿度が極端に高い場合(95%以上)、ボルテージフォロアの出力インピーダンスが影響してきますが、 NJM2904の実測値は17Ω(at 1kHz)でしたのでほとんど影響ありません。
- 1S1588,1N4148,1S2076Aの順方向電流特性(20C)を測定してみました。
湿度回路の出力を PIC を使って A/D 変換し、LCD に表示するようにしました。 PIC は最新の 16F88 を使用しました。温度補償するため湿度センサーのそばにダイオードD1を配置しています。
R10 を調整することで、かなり精度のよい湿度計になりました。
秋月のキットを流用する場合は電圧計部を以下のように変更してください。(C)2004-2010 All rights reserved by Einstein.
(当方はキットを持っていませんので、動作確認したわけではありません。)
200mV計測レンジを2V計測レンジに変更します。赤丸の部分が変更点です。
これにより、0V 〜 1V を 0 〜 100% と読むことができます。