PIC10F222を使ったLCD表示温度計の実験
nobcha(c)2010
|
はじめに
PIC10F222のADCを使い、LCDに入力値の計算結果をLCDに表示すると言う実験です。温度センサーからのADC入力を7セグメントLEDに表示する実験の延長で表示をLCDに変えようというものです。
PIC10F222は入出力端子は3本、デジタル入力端子が1本。アナログ端子をADC用に使うと出力端子に使用できるのは2本です。ここに今まで他のPICシリーズでも利用してきたTC4040Bカウンタを使用してつなぎます。
また、バッテリー動作を考えて、単三電池一本で動かすようにステップアップコンバーターをつなぎました。
|
実験仕様
次のようにして実験を行います。
機能
|
詳しい内容
|
実験・試作・基板・ソフト
|
AN0ポートをADC入力にしてLM61BIZ温度センサーをつなぐ |
LM61BIZ温度センサーは5Vで動作、出力電圧は(セ氏温度)*10mV+600mVである。PIC10F222のADCは(電源電圧)−(グランド)=5.0Vを256デジット分解能で逐次比較したビット数を出す。 |
HiTEC Cを使いますが、512ワードにプログラムを収めるため掛け算は使えず。また温度センサー10mV/1℃に対してADCが19mV/BITなので、±2℃の表示誤差が出ます。 |
16字2行のLCD表示はSC1602コンパチを使用 |
4ビットモードでつなぎます。 |
PIC10F222からはTC4040Bに与えるパルス数とパルス送り出し後のEn信号でLCD制御回路を動作させます。 |
TC4040Bをシフトレジスタ的に使用する
|
バイナリーカウンタのQ出力を設定するために必要なパルス数を積算してTC4040Bに送り出します。CLKの時間を延ばすとリセットになります。
|
詳しい説明はこちらにあります
|
ニッケル水素充電池1本で電源供給 |
ホルテック社製のステップアップコンバータHT7750Aを使用して5Vを作り出します |
HT7750Aが作る5Vの立ち上げが遅いので、LCDのイニシャルルーチンでは2秒間待ってからスタートします。 |
|
回路
回路図です。PIC10F222用ICソケット+ICSPコネクタ基板、TC4040B+SL1602基板を作成し、それらをブレッドボードに差し込みます。それ以外のLM61BIZとかHT7750Aはそのままブレッドボードに差して使います。
回路図は水魚堂さんのBSchを使いました。また関連記号類も利用させていただきます。公開された作者さん達のご努力に感謝いたします。http://www.suigyodo.com/online/schsoft.htm
|
プログラム
環境はMAPLAB V8.56、コンパイラはHiTECH社 C10/12/16用LITE V9.80、です。プログラムはMAINと表示の2つに分けて作成しました。表示関数を引き込むhファイル、タイミング制御の__delay_ms(),__delay_us()関数を引き込むためのhファイルが必要となります。
|
実験風景
お得意のブレッドボードスタイルです。マイコン基板、表示基板は使い回しを考えてユニバーサル基板でまとめています。ステップアップコンバーター用の大容量コンデンサですが、手元に丁度良いタンタルコンが無く、OSコンで代用しました。
消費電流はとみるとバッテリー側で60mA、5Vでは12mAも流れています。LCDをみやすいようにバックライトを点けているのでそれで10mA近く喰ってます。実用試作のときはバックライト無しにして、表示文字も少なくてよいので、1行LCDにすればよいのではと思っています。
|
全体目次に戻る
アイコンは「牛飼いとアイコンの部屋」から提供受けました。ありがとうございます。
|