PIC12F675と温度センサーLM35DZを使用します。 |
●PIC12F675を使用した温度計の回路図
●回路の説明
温度センサーLM35Dの出力をPICで直接受けています。分解能の点からは、ネットでよく見かけますように、OPアンプで増幅してから入力するほうがいいのですが、調整が必要になるため省略しています。
基準電圧は3端子レギュレータの電圧を1/2したものを入れています。(これで分解能は少しは、よくなります。)
したがって、精度よく製作するためには、3端子レギュレータの電圧が、より5.00Vに近いほうが望ましいです。また、分圧している抵抗(R8、R9)の精度も必要です。
電源は、RS232Cのラインからもらっているので、不要です。
(このため、パソコンの本体のRS232Cのポートでは問題ないのですが、USB-RS232C変換ケーブルでは電圧不足となり、うまく動作しないかもしれません。RATOCのREX-USB60、秋月電子のUSB・シリアル変換ケーブルで、動作を確認しています。
)
(*3端子レギュレータは低ドロップタイプを使用してください。通常ドロップタイプですとかなりの確率でUSB変換ケーブルでは動作しないと思います。)
PICの入出力からRS232Cへのレベル変換は、専用のICを使わずに、トランジスタを使った簡易回路としています。特に問題なく動作していますがパソコンによっては、動作が不安定になるものがあるかもしれません。
●PIC12F675のファームの説明
ファームの動作としては、特にこれといって、特別なことはしていません。LM35Dの出力をAD変換し、
その値を(2.5/1024)*100し温度に変換して送信しています。(値が、ばらつくため、実際は、8回取り込んだ値を平均しています。)
RS232Cのボーレートは、2400bps 、8bit、ストップビット1bit、パリティ無しです。
データの要求は、パソコン側より"W "を送ります。(PIC12F675のファームは、"W "を受け取ると、温度データを返してきます。)
(*CPUクロックは内部発振器を使用していますので、キャリブレーション用のデータ(3FFF番地)をOSCCALに書き込んでいます。
ライタでプログラムを書き込む際は、3FFF番地のデータを消さないようにして書き込んでください。書き込む前に、3FFF番地のデータをPICから読み込んでおいて、メモしておくほうがいいかもしれません。)
●通信ソフトPIC_ONDOの動作例
●通信ソフトPIC_ONDOの使用方法
測定データは画面に時刻と共に表示し、設定した(データ数/ファイル)でCSVファイルに出力します。測定終了または、
プログラムを終了しない限り、設定した(データ数/ファイル)で出力し続けます。画面の右上のv1.10はPIC_ONDOのバージョンです。
設定
接続ポートの設定:
接続するCOMポートを設定します。(USB変換ケーブルを使用する場合、COMポートの番号が分からない場合は
デバイスマネージャで確認してください。)
測定間隔の設定:
測定する間隔を設定します。(5S〜60Mです。プルダウンで選択してください。任意の値での入力は出来ません。)
データ数/ファイルの設定:
出力するCSVファイルの1ファイルのデータ数を設定します。(0〜5000です。プルダウンで選択してください。任意の値での入力は出来ません。)
CSVファイル出力が不要の場合は"0"を選択します。(初期値)
(データ数に達すると終了するのではなく、次の新しいファイルを作成し記録し続けます。)
使用方法
測定開始をクリックすると測定を開始します。測定終了をクリックすると測定を終了します。
プログラムを終了するには、画面の閉じるボタン"×"をクリックしてください。
測定終了で終了した場合、その時点までのデータ数のCSVファイルを出力します。
(画面の閉じるボタン"×"で終了した場合は、その時点までのデータ数のCSVファイルを出力せず終了します。)
*測定開始後の設定の変更は、無効です。設定を変更するには測定終了をして下さい。
PIC12F675ファーム
PIC_ONDOプログラム *NEW
*注:通信ソフトPIC_ONDOはその1 その2で共通です。