数種類の温度センサーを試す
.
氷点下の温度も測りたい場合、LM35DZ は使えません。 そこで、ほかのいくつかの温度センサーを試しました。
まずは 20 ℃くらいの温度でどう計測されるのか確認。
温度比較対象の回路
LM35DZ の出力電圧を NJM2732D で6倍している回路と、その回路での計測値を比較対象として掲載。
計算式(℃) = X * 55.0 = X * 3300 mv / 60 mv * 1℃
下の図では mbed の P19 と P20 を使うように書いていますが、ほかのセンサーとの兼ね合いで、この試験中は P16 と P17 に 差し替えています。
22時10分までは 0.1 ℃刻み。それ以降は 0.01℃刻みで表示。
23時00分と23時45分付近で温度の山がありますが、これは周囲の温度が変わった影響だと思います。
コンデンサを挿入するなどの作業の時に測定場所(隣の部屋)から自室に持ってきて作業してまたもとの場所に設置しました。隣の部屋と自室の間には3℃くらいの差がありました。
LM35DZ 単体
ちなみに LM35DZ 単体を後で試験したグラフ。
計算式(℃) = X * 330.0 = X * 3300 mv / 10 mv * 1℃
15時50分を境に前はコンデンサーなし、後は、Vout と GND の間に 0.1μF を挟んでます。 空調の影響で温度が上下していますが、コンデンサーの有無の影響は良くわからない感じです
試験した3種類
下図は試した3種類のセンサーの回路です。LM61CIZ と MCP9700 と LM335 を試しました。
各回路左側のバイパスコンデンサーは23時00分に挿入したもので、この3種類のセンサーで共有しています。なので破線で表示。
LM61CIZ
計算式(℃) = X * 330.0 - 60 = ( X * 3300 mv - 600 mv ) / 10 mv * 1℃
除数の 10mv は 1 ℃あたりの変化係数、 減算値の 600mv は、0℃の場合の出力値としてデータシートに記載のもの。
22時10分までは 0.1 ℃刻み。それ以降は 0.01℃刻み
23時00分に、回路図左側のバイパスコンデンサーとして 0.1μF、さらに Vout と GND の間にも 0.1μF を挿入。
それまでは温度の揺れが 2℃近くありますが、2つのコンデンサ挿入後は揺れが0.2℃くらいに減少しました。
バイパスコンデンサーを追加せず、Vout と GND の間にだけ 0.1μF を挿入した場合も確認。この際は、LM61CIZ と MCP9700 だけブレッドボード上に残しています。 LM335 関係の回路や、LM35 とS9648-100 を載せた基板へのジャンパーなどは取り外してあります。
11時26分ごろに挿入しましたが、明らかに温度の揺れの大きさが変わっています。
LM61CIZ の場合のまとめ
- センサーだけだと温度の揺れが2℃くらいある。
- Vout と GND の間の 0.1μF は、測定値を安定させる効果あり
MCP9700
計算式(℃) = X * 330.0 - 50 = ( X * 3300 mv - 500 mv ) / 10 mv * 1℃
除数の 10mv は 1 ℃あたりの変化係数、 減算値の 500mv は、0℃の場合の出力値としてデータシートに記載のもの。
ちなみに MCP9701 の場合は、X * 169.2 - 20.5 = ( X * 3300 mv - 400 mv ) / 19.5 mv * 1℃になるはず。
22時10分までは 0.1 ℃刻み。それ以降は 0.01℃刻み
緑の縦線は引いていませんが、23時00分に、回路図左側のバイパスコンデンサーが増えています(他のセンサーと共有)。揺れの変化はよく分かりません。 Mbed LPC1769 の回路図の Power Circuit 部分を見ると 2123 という IC から 5V 出力する箇所に 100μF が入っているようなので、その影響でバイパスコンデンサーを入れても差がないのかもしれません。 参考回路図 : http://mbed.org/media/uploads/chris/mbed-005.1.pdf
23時45分に、さらに Vout と GND の間にも 0.1μF を挿入。
それまでは温度の揺れが0.5~1℃くらいありましたが小さくなりました。
さらに温度が挿入前後で18℃台から20℃台に上がりました。コンデンサーの影響で 20mV くらう出力電圧が上がっているのでしょうか?
念のため、バイパスコンデンサーを追加しないで Vout と GND の間にだけ 0.1μF を挿入した場合を確認。
11時26分ごろに挿入しましたが、約 1.5 ℃上昇し、温度の揺れも小さくなっています。出力電圧として計測される値が 15mV くらい上がっている模様です。 LM35DZ を使用した回路の出力で計算される数値により近くなった感じ。
MCP9700 の場合のまとめ
- LM61CIZ と比べて温度の揺れが半分以下
- Vout と GND の間の 0.1μF は、測定値をさらに安定させる効果あり
- 出力にコンデンサーを入れると、測定値に影響がある。出力電圧が若干上昇する模様。データシートでは負荷容量の影響を受けないと記載があるが、実は違う気がする。
LM335
計算式(℃) = X * 330.0 - 273.15 = (X * 3300 mv / 10 mv * 1 kelvin) - 273.15℃
除数の 10mv は 1 kelvin あたりの変化係数、 減算値の 273.15 は、kelvin 表示から ℃ 表示に変えるための数値です。
22時10分までは 0.1 ℃刻み。それ以降は 0.01℃刻み
緑の縦線は引いていませんが、23時00分に、回路図左側のバイパスコンデンサーが増えています(他のセンサーと共有)。揺れの変化はあまり感じられません。もともと揺れは小さいようです。
23時45分から23時50分の間は、抵抗と並列に 0.1μF を入れてみました。すなわち回路図とは違って 0.1μF の端子の片方は 5V につながっています。
温度が低く計算されることに気がついたので、この 0.1μF ははずしました。
00時17分ごろに、回路図のようにセンサー素子と並列に0.1μF を入れました。多少計算値が上がった気はしますが、これまた揺れの変化はあまり感じられません。
ちなみに回路図の抵抗値ですが、たまたまこの 5.1kΩでうまく計れました。最初 5.1kΩの替わりに10kΩを使ったときは、マイナス16度くらいと計算されてしまいました。データシートに、抵抗に流れる電流が 1mA の場合の例を記載していたので、 抵抗に5V の電圧がもしかかったら、1mA 流れる場合は 約 5.1kΩと仮に計算して選びました。
正しい抵抗値の選び方がこれでよいかどうかは私にはよく分かりません。 データシートによれば、25 ℃で 2.98V になるように校正する必要があるのだそうです。 使用しませんでしたが、ADJ 端子もあります。
なお、この回路で 20 ℃を計測した場合、出力電圧は 2931.5 mv = (273.15 + 20℃) * 10mv、 VCC は 5V と言いつつ実測値は 4.7~4.8V くらいだったりするので、 抵抗には約 1.8V = 4.7V - 2.9V くらいの電圧がかかり、0.35mA = 1.8V / 5.1 kΩ くらいの電流が流れているはず。
LM335 の場合のまとめ
- 温度の揺れが元々小さい。バイパスコンデンサーも、センサーと並列のコンデンサーも必要なさそう。
- 抵抗と並列にコンデンサーを入れるとかえって有害
- 抵抗値は、実験して決める必要あり。 校正に人手をかけられる場合向きと思われる。
- 消費電流は、20℃くらいの温度では約 350μA と思われる、LM35 の公称値の 60μA や LM61CIZ の 125μA に比べて多い。
その他気になる点
LM35DZ 単体が手元にないので試せなかったが、実は元々優秀なのかもしれない。 6倍に増幅した回路の状態で温度の揺れが小さい。 Vout と GND の間に 0.1μF を入れたらさらに測定値が安定するのだろうか?それとも効果はあまりないだろうか。
→後で単体で試してみた結果では、明らかな効果はなさそうに感じました。
結論
自分では、下記の様に使い分けしたいと思う。
- 2 ℃ ~ 100℃の温度範囲だけで良いとき LM35DZ (コンデンサーは追加しない)
- 氷点下 -30℃ までの範囲も計りたいとき、LM61CIZ の Vout と GND の間に 0.1μF を追加して使用。
- 氷点下 -40℃ までの範囲も計りたいとき、MCP9700 の Vout と GND の間に 0.1μF を追加して使用。
Please log in to post comments.