その1 仕様と回路図

TempLan2.jpg


■TempLan2の仕様

温度表示の分解能:0.0度〜50.0度まで

計測間隔:約1秒

表示機能:LCD(リアルタイム温度)
および、LAN内のWebによりXportをアクセスする ことにより、
リアルタイムと約6分の点列グラフ表示をおこなう。
Xport上でJavaアプレットを使用。

目標:自分のWebサーバー上にこの温度計データーをリアルタイム表示したい。


  使用部品 購入先
温度センサー・・・・・・・ LM35DZ (NS):10mV/度 秋月電子通商
       
オペアンプ・・・・・・・・ LM358(約9.76倍の正転増幅&校正用) 秋月電子通商
       
PIC・・・・・・・・・・・ 16F873A 秋月電子通商
       
セラロック・・・・・・・ 20MHz 秋月電子通商
       
Xport・・・・・・・・・・ Xport-01(現行品はXport-03R) 若松通商
 

   
LCD表示器・・・・・・・・ SC1602BS*B :16文字2行バックライト無し 秋月電子通商
 

   
三端子レギュレーター(3.3V)
TA48033S(東芝)3.3V (Xport電源用) 秋月電子通商
       
参考図書・・・・・・・・ 「PICマイコンプログラミング&電子工作」高橋 隆雄 著 秀和システム ISBN4- 7980-0895-8
   
 
☆ このハードウエアで重要な点は2点!
   一つ目は、PICの2番ピン(RA0):A/D変換入力付近にあるC6(6.3V1μF)電解コンデ ンサーです。これがないとA/D変換結果が非常に不安定で、※1、※2
   0.1度の桁はおろか、ひどい時には1度台の桁まで不安定になって使い物にならない場合がしばしばあ りました。
   我家には高性能なシンクロスコープがないので、具体的に何が起きているのかは判断できませんが、この C6はあった方が良いと思います。※1※2
   
   2つ目は、温度センサーの延長コードの長さです。50cm以内にしておかないとやはり不安定になりま す。この時、C4のパスコンは、

   私はLM35DZセンサーと一緒にするのではなく、基盤上の延長ケーブル引き出し部分に置きました。

 
ま、なにはともあれ、ブレッドボード上の電子ブロック状態の回路なので良いコンディションとは思えません が、それでも、+-0.1度内の表示のふらつき
でおさまっています。
 
現状のハードウエアで、電流は250mA流れています。5V電源だから1.3Wになります。電池で駆動する とどのぐらいもつのだろう?
 
余談ですが、この回路ではXport自身が結構発熱しますので、温度センサーはXportとは同一Box内 には無い方が良いとおもいます。
Xportと同一のBoxに温度センサーを組込んでしまうとXport自身の温度計になってしまいますね。 (笑)
 
温度センサーは、結構感度が良く、手をかざしたり、部屋のふすまを開けたりすればそれだけですぐ温度変化が あらわれます。
部屋の下の方と、中間、上の方でもかなり温度が異なるのが良く分かります。結構面白いですよ!
 
温度センサーを私は、プラスチックストローに入れています。これで体温計にもなりそうです。風呂のコーキン グ剤でシールすれば、水温計になります。

 

new.gif追記!(2006年5月3日)
久々に、ワイヤーボード上のラン接続型リモート温度計 テンプランを、 一枚の基盤上にのせる決心をした。
うまく出来上がって、いろいろ実験をしていると、 38.4度以上をどうしても表示できない事がわかりました。
センサーは、0.501Vまで上がって、50.1度を示さなくてはならないのに・・・!

回路を総点検し、PIC内部プログラムを見直し、 Javaも見直しましたが問題ない?!
あ、ま、まさか!OPアンプの出力か!?

LM358Nの出力Voの最大出力をデーターシートで調べたら、 Vs-1.5V !!!!!
Vsは、今5.0Vだから、5.0-1.5=3.5(V) げ! だめじゃん! マルチテスターで検証!
げげげげ!3.84V!!
こんな落とし穴があろうとは!
うーむ、電源電圧までフルスイングすると思いこんでいました。

申し訳有りませんでした!

さっそく、OPアンプ回路部分の電源を5Vから12Vへ切り替えてみた。
案の定、50.1度まで表示される様になった。

PICのソフトには問題が無かった事が証明されたが、
うーむ、単一電源仕様に出来なくなった。

良い事は、OPアンプの出力が非常に安定し、 表示のふらつきがさらに減ったこと!

まだある。
ずっと気になっていたが、どうも、 テンプランの温度表示が27度にしては、
部屋の温度は25度位に感じられて、 違和感があった。
だが、センサーは0.270Vを出力している。 これはどうした事だろう!

センサーを過信するあまり、 いままで考えていなかった事を、 深く反省!!

調べて見るとLM35の温度センサーは、 確かに10mV/℃を保証してはいるが、
その絶対値は保証してはいないのだった。

つまり、部屋の温度が25度から26度へ1度上がれば、 かなり正確に10mVの電圧の上昇を相対的に起こすが、
その絶対値は決して0.260mVでは無い事だ!

個々のセンサーに固別にこれを補正しないと、
温度が表示が絶対値としてずれて表示されてしまうのだ。
(LM35Zではカタログ上でプラス、マイナス0.6〜1.5度ある)

うーむ、回路が精度よく0.1度まで表示できる様になった弊害として、
きちっと本来のセンサーの特性を知っておかないと、
無責任な温度計になってしまうところであった。
(ていうか、すでに今まで無責任じゃぁ!)

今のところ温度の50度までのフルスイングはOPアンプの電源を12Vにする事で、
問題を解決できたが、絶対値の保証は、PIC内部のソフトウエアで補正するしか無いようだ!
AD変換後の2バイトバイナリーデーターから直接補正値を、
2バイト減算するように変更すればよい。

ASMリストと、HEXデーターをTempLan28として20mV分減算するようにして、
変更しました。


※1
申し訳ありません。m(_ _)m
LM358の使用してい無い側のOPアンプの、プラス入力、マイナス入力を、
それぞれグランドへ落としてください。
この処理を怠ると、使用している側ののOPアンプ出力が不安定になる事があります。

※2 
もう一つ申し訳ありません。m(_ _)m
温度計を0.1度までしっかり表示させるには、
必ずしっかりした安定化電源回路を用意してください。

少なくとも、0.01Vが安定している必要があります。

今回のPICのA/D変換の基準電圧がVDDに設定されています。

ここの電源電圧が狂っていたり、不安定だったりすれば全てが水の泡です。
必ず外部にしっかりした安定化電源ユニットを用意し、
PICのVDD端子がしっかり、5.00Vになっているのを確かめる事を推奨いたします。

今回表示している0.1度は、PICに繋がれたOP出力の約10mV!
0.01Vの変化が表示に現れてしまいます。

安定化電源ユニットの出力端子台上で、5.00Vで調整しておりましたが、
なんと実装回路上のPICや温度センサーの電源電圧を測ってみたら、4.89V!!!げげげげげ!

これはまずい!電源ユニットの発熱から当座ける為に実装基盤との配線を300mm程長くしておいたら、
思いっきり電圧降下していたのでありました。

現在は、PICのVDD端子上で5.00Vになるように安定化電源ユニットの出力を調整いたしました。

注意事項
General disclaimer


トッ プページへ
なお、当ホームページで公開しているデーター(写真、音声)等を個人の枠を超えて複製・転用する事はご遠慮下さいませ。
ご意見/苦情/ご感想はこちらまで