デジタル 温度計PICを使ったデジタル温度計
最大8箇所の温度測定が可能です
今回は2箇所でプログラムされております
PICについて
実験の目的
部品調達
実験準備
実験結果
1.PICって何?
PICはPICマイコンと呼ばれ自分で開発したソフトをPICマイコンにパソコンで書き込み自作装置を作動させます
PIC-BASIC は、 PIC16F877 を専用の BASIC言語でマイコンを作動させます。
BASIC言語(このマイコン専用) ならではの習得のしやすさ私でも簡単にプログラミングすることが可能です。
専用の書き込みハードウェアを必要とせず、デバッグにはICEやICDを必要としません。少しのコストで最大限の効果を得ることができます。
PICはこんな部品
PIC ベーシック作ったプログラムはフラッシュROMに記録されます、プログラムの書き換えは1000回程度可能です。
原寸は40mm×26mmと小さく、マイコンの入門や試作に最適です。
PIC-BASICでの開発
PIC-BASICモジュールには予め、BASICインタプリタが本体が書き込まれています。(消す事もできます)
最初自分のプログラム領域には何も書かれておらず、専用ソフトを使って、自分のプログラムを書き込みます。
BASICインタプリタ部分は購入時に既に書き込まれていて、自分が新たに書き込んだり、アップデートは出来ません。


PIC-BASICのプログラムはWIN98PC上から行います。開発環境で作成したプログラムは画面からBASICモジュールに転送することができます
PIC-BASICモジュールでは動作電圧の5Vがあれば、書き込み・デバッグなどの一連の作業をRS232C接続で行うことができます。そして、書き込んだBASICモジュールはPCから外して、単独で動作できるようになります。

PIC-BASICモジュールには5Vの3端子レギュレータが内蔵です、VCCはなぜか4.6Vだそうです、今回PICベーシックの3端子レギュレーターから電源を取っていますのでvcc=460ですがバイパスもできます。4V〜20VまでOKです
2.実験の目的
  デジタルの温度計を作る
今回は手始めに2点測定温度計を作ってみた。
2点測定タイプが市販で売られているが,今回制作した基盤にセンサーを追加し、プログラムを書きたせば最高8点測定タイプが簡単に作れます
温度測定場所がLCD液晶に表示できるようにします、例えば、配管温度1番2番やモーター温度1番2番などその場所を特定できる記述で製作予定
 3.部品の調達
 パソコンでプログラムを作りRS232CケーブルでアキPICマイコンボードライターにソフトを送り、そこからPICマイコンに書き込み
書き込んだPICマイコンを動かしたい装置に取り付ける

 パソコン
WIN98搭載パソコン
 PICボード
PIC ベーシック 親玉PIC-BASICはPIC16F877で動作するBASICインタプリタです
このボードはLCDやLED、レギュレーター、セラロック、スイッチがすべて搭載しております、ですからここで簡単な試作機が手軽に短時間でできます。
 PIC-BASIC
PIC ベーシックこのマイコンにはA/Dコンバーターが最大8つあります
予算があれば温度センサーを8個接続して、8か所の温度測定が可能です
 温度計
温度センサー温度センサー 
型番LM35
測定温度範囲:0〜100℃
精度:±1℃
温度係数:10.0mV/℃
電源電圧:DC4V〜20V 低消費電流:60μA
低出力インピーダンス:0.1?
 オペアンプ
オペアンプ2回路入りオペアンプです、今回温度センサーが2個ですが増設するなら4回路入りなどがお勧めです
 抵抗
抵抗R1が1KΩでR2が9.1KΩです、9.1Kが無い場合適当に抵抗を2〜3個足して9.1Kにするといいです

 4.実験準備
 回路図
 下図コネクターA〜Bまでの好きなポートに温度センサーを指定すれば温度測定できます、最大8CHまでA/D変換されます(最高8chまで温度測定できます)
コネクターA 端子名 機能 コネクターB 端子名 機能 コネクターC 端子名 機能
CNA-01 RE0 温度 CNB-01 RA0 温度 CNC-01 RB7 LCD
CNA-02 RE1 温度 CNB-02 RA1 温度 CNC-02 RB6 LCD
CNA-03 RE2 温度 CNB-03 RA2 温度 CNC-03 RB5 LCD
CNB-04 RA3 温度 CNC-04 RB4 LCD
CNB-06 RA5 温度 CNC-05 RB3 LCD
CNC-06 RB2 LCD
CNC-09 Vcc 起電力4.6V
CNC-10 GND グランド0V
CNC-14 POWER 電源7〜12V入力
変数が分かりやすいようにずらりと並んでいますがつっ込を入れないでください,他のプログラムを作成するとき、ばらして貼り付けしやすいよう、いつも変数を並べています
 
温度計 温度表示のみ 2個表示

Dim cnt As Word

Dim cns As Word

Dim temp As Word

Dim temo As Word

Dim vcc As Word

Dim v As Word

Dim s As Word

Dim mlt As Word

vcc = 460    '4.6V電源電圧を100倍しておく

mlt = 101

Initlcd

Clearlcd

While 1    '指定条件の間 繰り返し

Adc 5,0,cnt

Adc 6,0,cns

v = (cnt * vcc)/1023

s = (cns * vcc)/1023

temp = (v * 100) / mlt

temo = (s * 100) / mlt

Setpos 0,0    '液晶のカーソール位置変換

液晶のカーソール位置変換

Putlcd "オンド=" ,(temo / 10)

Putlcd "."

Putlcd (temp Mod 10),"C", chr$(&hDF)

>Setpos 0,1   液晶のカーソール位置変換

Putlcd "オンド=" ,(temo / 10)

Putlcd "."

Putlcd (temo Mod 10),"C", chr$(&hDF)

Sleep 1000       まち時間

Wend    '指定条件の間 繰り返し

5.実験結果
LM35温度センサーは絶対温度で較正されLM35は室温で±1/4℃、そして−55℃〜+150℃までの全温度範囲で±3/4℃の標準精度を得るために、外部の較正やトリミングを必要としません。
つまり素人が使っても正確な温度が表示されます、ただしPICベーシックで作動させると0度から100度までしか計測できません
手でパタパタ煽いだだけで温度が少しずつ変化するので面白いです、市販のデジタル温度計は20秒に1回温度の変化を更新しませんが今回制作した温度計は、1秒間隔でLCDに表示ができます、よりリアルタイムで温度情報が確認でき快適に使用できます。
1秒間隔で温度が変化するので目まぐるしい人はSLEEP時間を追加して表示時間を遅くして下さい。
今回LCD液晶表示が2列表示ですが、PICマイコンは4列表示LCDにも対応していますので温度表示がたくさん出したい人は4列表示がお勧めです
アイカワ犬ホームに戻る