PIC16F84電子遊戯(9) |
最終更新日:2001年1月27日 |
温度計(1ページ) (2ページ)へ (3ページ)へ |
|
温度計を作ろう |
99分タイマーが無事に出来たところで、今回から温度計の製作に取り掛かりましょう。
まずは回路図を見て下さい。 |
|
(温度計回路図) |
まずは回路のポイントを説明します。
数字を表示する7セグメントLEDは前回と同様にデコーダ・ドライバIC(74HC4511)で駆動します。少ないポートで簡単に制御出来るので大変便利です。
今回は温度を計測します。A/D付きのPICを使えば簡単に出来るとは思いますが、ここのHPはあくまでPIC16F84を使うことを目的としていますので、あえてA/Dコンバータを使用します。今回は手持ちのAD7820を使いました。
温度センサーにはLM35DZを使います。温度に比例した電圧が出力されるので大変便利です。温度センサーの出力電圧はA/D入力には少し低いので、オペアンプで増幅します。
オペアンプには単電源のuPC358を使います。
A/Dコンバータの基準電圧には5VレギュレータのS81350AGを使いました。
では順次詳細に説明しましょう。 |
温度計の温度センサー |
温度センサーにはナショナルセミコンダクタ社製のLM35DZを使用します。 |
(LM35DZ) |
このセンサーは電圧を与えると温度に比例した電圧が出力されます。
測定温度範囲は0℃から100℃までです。通常の温度を測るのには充分です。
1℃につき10mVの電圧が出力されます。気温が25℃のときには出力電圧は0.25Vとなります。通常の気温を測るとすると出力電圧が低すぎますので、この出力を増幅しましょう。 |
温度計の温度センサー出力電圧の増幅 |
通常の測定される気温の上限が40℃程度とすると、センサーの出力電圧の上限は0.4Vと程度です。これを基準5VのA/Dコンバーターで変換するには電圧が低すぎます。
今回はセンサーの出力電圧を約10倍にします。そうすると40℃のとき4.0Vとなりますから気分的にも丁度良い電圧になります。
NEC製のオペアンプuPC358Cを使って電圧を増幅しましょう。 |
(uPC358C) |
オペアンプの基本的な増幅回路について説明します。 |
(非反転増幅回路) |
上図が非反転増幅回路の基本系です。
R1とR2で電圧増幅度を決定します。今回は10倍に増幅します。
R2を100kにするとR1は約11kになります。最終的にはA/D変換の関係も含めて調整しますので4.7kの固定抵抗と10kの可変抵抗で構成しましょう。 |
温度計のA/D変換 |
A/D変換にはアナログデバイス社製のAD7820を使用しました。
採用の理由は、たまたま手持ちだっただけです。5Vの単一電源で動作可能な8bitA/Dコンバータです。A/D変換の結果は8bitパラレルで出力されます。 |
(AD7820) |
このICはMODEピンをHレベルにしてWR−RDモードにして使用しています。
RDピンは常時Lレベルにしておきます。CSピンは待機中はHにしてデータバスはハイインピーダンスにしておきます。測定したいときだけCSピンをLレベルにします。
データバスは7セグLEDの駆動ICにも接続されていますので、使いときだけ出力にするためです。
CSピンをLレベルにしたあと、WRピンをHレベルからLにして再びHレベルにすれはデータバスに変換値が出力されます。
超簡単に使い易いコンバータです。 |
温度計のA/D変換の基準電圧 |
A/D変換の基準電圧にはSII製の5VレギュレータS-81350AGを使用しました。
品番にはこだわりません、基準電圧用なので、電流はほとんど流れませんから、電位差の出来るだけ少ないタイプを使用して下さい。 |
(S-81350AG) |
レギュレータの出力には必ず電解コンデンサーを付けて平滑しておきましょう。 |
温度計の基本仕様 |
|
ハードが準備出来たので、この製作の基本仕様を考えましょう。
(ハードの準備でほとんど仕様は決まってしまいますが・・・)
1)温度は3桁「**.*」で表示する。表示精度は0.2℃とする。(計測精度ではないです。)
2)表示の更新は0.5秒ごとに行う。
3)実用範囲の上限は45℃程度とする。(低温側は5℃が限界のようです。)
以上が基本仕様です。ソフト作成途中で問題があれば随時仕様修正することにします。 |
|
ということで、今回はここまでとしましょう。
次回はいよいよソフト作成に取り掛かりましょう。
これからもどんどん楽しくなる「PIC16F84電子遊戯」をよろしくです。 |
この続きは(2ページ)へ |
|
不明点などあればメールお願いいたします。nonchansoft@nifty.com |
|
Copyright(c)2000-2001
nonchansoft |