ユーザ用ツール

サイト用ツール


softdev:tempmeter1

文書の過去の版を表示しています。


温度計を作る

表示はLCDで。

LM35

LM35でナショセミ(もうTIだけど)の温度センサーですよ。ちょっとした工作によく使いますよね。会社でも性格じゃない温度を測るのに使ってたりする。 PIC12F675で入門コースみたいなので、温度計みたいなのをLM35で作った事があるが、氷点下は測定できなかった。バイクに付けていつもの温度を測りたいと思っていて、許せばバッテリ電圧なども表示したら面白いかと。

今回。LM60というのが入手できたので、やってみたんだが、、まだうまく出来てない。

LM60

あとでよくよく調べたら、LM61と言うのがあってこっちは、10mV/℃だった。

LM60は、6.25mV/℃のリニア出力で、424mVのオフセット付きである。なので、-25℃〜125℃が最大±3℃で測定できるとDataSheetに書いてある。この誤差は最大なので実際はもっと小さいと思われる。これをPICのADで直接読んで温度に変換したい。

電源5VでAD変換は最大10bitだから、5/1024=4.8mVちょっと。1℃以下の測定が無いに等しいから、アンプで増幅する事になるでしょう?オフセットが大きいので単純に10倍とかすると、測定範囲が狭くなってしまうじゃないですか。6倍ぐらいのゲインでギリギリだけど、10倍ぐらいにしてオフセット切ってやれば表示精度が上げられそうじゃない?
で、回路。使っているICとか部品名が違うけど気にしないで(Eagleのライブラリに無かったから適当)

オフセットを固定で切ってやると、後で調整するときに面倒だしそれに、電源電圧がいつも5Vと限らないでしょう。なので、ADを二つ使って誤差を埋めてやれば、演算だけで出来そうじゃ無いですか?。回路図のLM358はLM2904を使用、GND側は入出力ともRail動作。

計算

  • センサAmpの倍率=10.1。ぴったりの抵抗が無いのよ、面倒。
  • オフセット調整範囲=0.543V〜0V 実際にはもっと範囲狭くなる。
  • センサ電圧=VTemp。
  • AN0入力 AD変換値をAD1とし、AD1の電圧=VAD1
  • AN1入力 AD変換値をAD2とし、AD2の電圧=VAD2
  • 使用範囲を-20℃以上と考えると、0.3Vオフセット出せれば良い。
  • オフセット側のアンプは、AD入力インピーダンスがキット低いから。

んで、以下の式になる。

(VTempーVAD2)×10.1=VAD1

となる。

softdev/tempmeter1.1328367653.txt.gz · 最終更新: 2013/07/15 20:28 (外部編集)