3.4.9 データログ温湿度計の実験2

1.作成時期
   2009/3/初旬〜2009/3/中旬

2.作成日数
   2週間

3.実験,作成
   1.部品,回路について

     部品,マイコン回路は、"3.4.8.データログ温湿度計の実験"から変更はありません。今回はPICマイコンプログラムのみの作成です。
    WIZ-Cを使用して、温湿度センサ(SHT11)での温湿度読出し処理,、I2Cリアルタイムクロックモジュール(秋月電子通商で販売)での
    時刻読出し,時刻設定処理を作成しました。I2C EEPROMでの温湿度データログの読み書き処理、パソコン上の連携ツールでの
    RS-232C通信処理等は次回から作成していく予定です。

    ○参考書籍
     ・C言語で作るPIC電子工作(CQ出版社)
     ・PICによるホーム・コントロール工作入門(CQ出版社)
     ・Windowsで制御するPICマイコン機器(CQ出版社)

     


   2.マイコンプログラムについて

     温湿度センサ(SHT11)での温湿度読出し処理について、温湿度センサ(SHT11)は、I2Cではないのですが、2線式のシリアルインターフェースで、
    温度,湿度の実測値が直接読み出せます。尚、温度,湿度の精度はデフォルトの温度14ビット,湿度12ビットで、温度,湿度値は、演算で求めます。
    (温度値 = -40+0.01*(実測値), 湿度値 = -4+0.0405*(実測値)-2.8*(実測値)*(実測値)/1000000)
    尚、マイコンプログラムの温湿度センサ(SHT11)の温湿度読出し処理は、参考書籍"Windowsで制御するPICマイコン機器(CQ出版社)"の
    "第5章 温湿度ロガーの製作"のWIZ-Cプログラムを流用(PICマイコンのポートのみ変更(SHTFunc.h:DATA(B0→A1), SCK(B1→A0)))しました。
     I2Cリアルタイムクロックモジュールでの時刻読出し,時刻設定処理について、I2CリアルタイムクロックモジュールはEPSON製のRTC-8564NBを
    8ピンDIPに変換したモジュールです。又、I2Cアドレスは固定(A2,A3)です。タイマー,アラーム機能もあるのですが、今回は時刻読出し,時刻書込み
    を行います。作成した関数は、内部レジスタアドレス02から7バイト連続の時刻読出し関数(I2C_RTC_Read)と時刻書込み関数(I2C_RTC_Write)です。
    又、読出し,書込みデータはBCD形式の為、関数使用時に、数値変換処理をしています。尚、自動的にセットされるVLビット(電圧低下検出ビット)と
    Cビット(Century:s西暦2000年にON)は、使用しません。(以下"RTC-8564NB レジスタテーブル"参照)
     尚、作成するデータログ温湿度計では、温湿度センサ(SHT11)での温湿度読出し処理は1秒周期, I2Cリアルタイムクロックモジュールでの
    時刻読出し,書込み処理は0.1秒周期, LCDパネル表示処理は0.5秒周期で行います。設定モードでは、16文字*2行のLCDパネル1面で、
    "年,月,日,時,分,秒,サンプリング周期"を設定します。RIGHT,LEFTキーで年→月→日→時→分→秒→サンプリング周期にカーソルが移動し、
    UP,DOWNキーで値を変更し、SETキーで書込みます。尚、年,月,日,時,分,秒は、I2Cリアルタイムクロックモジュールへ、サンプリング周期は、
    PICマイコンのEEPROM(アドレス0)へ書込みます。
     尚、コンパイルについて、割り込みタイプの変更(クイック割り込み→通常割り込み)と、スタックオプションの変更(スタックをRAM上に作成)を行いました。
    変更方法は、"PICによるホーム・コントロール工作入門(CQ出版社)"のColumn1-3, Column1-5を参照してください。

    ○RTC-8564NB レジスタテーブル

     

    ○アプリケーションデザイナ設定

     

     

     

     

     

     

     

     

     

     

     


    ○マイコンプログラム
     ・プログラムリスト(THERMOLOGGER_User.c)
     ・プログラムリスト(SHTFumc.c)
     ・プログラムリスト(SHTFunc.h)
     ・プログラムリスト(I2C.c)
     ・プログラムリスト(I2C.h)
     ・WIZ-C(Ver.12)プロジェクト(THERMOLOGGER:03040901P.LZH)


   3.以下の写真について

     写真1枚目は表示モードの写真です。現在の年,月,日,時,分,秒,温度,湿度を表示しています。写真2枚目は
    設定モードの写真です。写真では、年の設定箇所にカーソルがあります。LCDパネル1面で、年,月,日,時,分,秒,
    サンプリング周期の設定ができます。

     


4.感想
   今回は、データログ温湿度計の温湿度センサ(SHT11)とI2Cリアルタイムクロックモジュールでの温湿度,時刻表示、
  設定部分を作成しました。調整不要の温度,湿度と、狂いのない時刻表示,時計データ保持が可能になり、以前作成した
  データログ温度計よりさらに使いやすくなりました。
  次回からは、I2C EEPROMでの温湿度データログの読み書き処理、パソコン上の連携ツールでのRS-232C通信処理等を
  作成していく予定です。






トップページヘもどる