20章:無線式温湿度レコーダの製作

    作成2014.09.12

     いよいよ、無線式温湿度レコーダの製作を検討します!!これは、冬季の温室の温度と湿度管理を想定しています。

  1. 無線式温湿度レコーダ評価回路図
      19章:App_TweLiteの温湿度センサー+256kbitEPROM対応化修正と同じです。

    ToCoStick(トコスティック)とZigBeeワイヤレスモジュール TWE−LiteをUSBアダプター TWE−Lite R(トワイ・ライター)に取付けて評価します。
     デジタル温度・湿度センサーAM2321の詳細仕様は下記アドレスを参照します。
    http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AM2321/AM2321test.html
     EEPROM24FC256-I/Pの詳細仕様は下記アドレスを参照します。
    http://akizukidenshi.com/catalog/g/gI-03568/

    品名単価個数小計購入先
    USBドングル ToCoStick(トコスティック)298012980秋月電子通商
    ZigBeeワイヤレスモジュール TWE−Lite Dip−WA (半完成品セミキット)162011620秋月電子通商
    USBアダプター TWE−Lite R(トワイ・ライター)189011890秋月電子通商
    温湿度センサ モジュール AM23217001700秋月電子通商
    シリアルIスケアC EEPROM 24FC256−I/P90190秋月電子通商


  2. 無線式温湿度レコーダ評価回路外観
      19章:App_TweLiteの温湿度センサー+256kbitEPROM対応化修正と同じです。



  3. 無線式温湿度レコーダプログラムのダウンロード
     完成プログラムは「40-20.zip」ファイルをダウンロードしてください。
    [40-20.zip]をダウンロードする。

     解凍するとフォルダー内にApp_TweLiteフォルダーがあります。
     App_TweLiteフォルダー内に
    \App_TweLite\Master\Build\App_TweLite_Master_JN5164_1_6_5.bin(TWE-Lite Dip用)
    \App_TweLite\Master\Build\App_TweLite_Master_JN5164_TOCOSTICK_1_6_5.bin(ToCoStick用)
    があります。
     Win-PingPongフォルダー内に
    Win-PingPong.exe(パソコン用実行プログラム)とソースファイルがあります。


  4. 基本操作方法
    (1)\App_TweLite\Master\Build\App_TweLite_Master_JN5164_1_6_5.binを無線マイコンTWE-Lite DIP (トワイライト・ディップ)に書込みます。
    (2)\App_TweLite\Master\Build\App_TweLite_Master_JN5164_TOCOSTICK_1_6_5.binをToCoStick(トコスティック)に書き込みます。(方法は7章:ToCoNet(トコネット)のソフトウエア開発環境(SDK) とPingPongの実行プログラムの書込みを参照願います。
    (3)ToCoStick(トコスティック)をパソコンに接続します。
    (4)「Win-PingPong.exe」をダブルクリックで起動します。
    (5)画面の左側を「COM8」にセットして、「Conect」ボタンを押します。

    (6)ToCoStick(トコスティック)の設定変更
    *ToCoStick(トコスティック)の定期パケット送信はじゃまですので設定変更(インタラクティブ)モードで禁止します。詳細の説明は
    http://tocos-wireless.com/jp/products/TWE-Lite-DIP/TWE-Lite-DIP-step3-interactive.html
    設定変更(インタラクティブ)モードを参照します。
    o: set Option Bits (0x00000020)を (0x00000022)に変更します。

    上の状態でS(保存)を送信すると設定変更完了です。

    (7)TWE-Lite R(トワイ・ライター)に無線マイコンTWE-Lite DIP (トワイライト・ディップ)をセットしてUSBをパソコンに接続します。
    (8)画面の右側を「CON9」にセットして、「Conect」ボタンを押します。
    (9)TWE-Lite R(トワイ・ライター)のリセットボタンを押します。
    (10)以下の画面から「COM9」がTWE-Lite R(トワイ・ライター)に接続されていることが確認できます。
    (11)ToCoStick(トコスティック)のリセットボタンは押せないにで、うまく動作しない場合はさし直しが必要となります。
    (12)コマンド0x81の状態通知が10s間隔で交互に受信されます。
    (13)「F4機能」ボタンを押すとしばらくして保存ファイルダイアログが表示され、保存場所とファイル名を指定して保存します。


    (14)保存したファイルにはタブ区切り、テキスト形式のデータが保存されます。
    [20-1.txt]測定サンプル1
    [20-2.txt]測定サンプル2
    [20-3.txt]測定サンプル3
    周期(16進)NoOld(16進)NoNew(16進)湿度(x0.1%)温度(0.1℃)
    1400B668254
    1401B668254
    1402B668254
    1403B676254
    1404B675254
    1405B674254
    1406B673254
    1407B673254
    1408B671254
    1407B673254
    1408B671254
    1409B671254
    140AB670254
    (15)上記の表において、周期(16進)は0x0140/32=10sとなります。
    (16)NoOld(16進)は16進数の測定番号です。
    (17)NoNew(16進)は16進数の最新の保存番号です。
    (18)湿度は0.1%単位の湿度で638は63.8%を意味します。
    (19)温度は0.1℃単位の温度で257は25.7度を意味します。
    (20)再度「F4機能」ボタンを押すと約10秒後に保存されたファイルは以下のようになります。
    周期(16進)NoOld(16進)NoNew(16進)湿度(x0.1%)温度(0.1℃)
    140B2C670254
    140C2C669254
    140D2C669254
    140E2C669254
    140F2C669254
    140102C669254
    140112C668254
    140122C677254
    (21)前回保存された番号の次の番号から保存されます。

    (22)「F4機能」ボタンを押すと左側のテキストボックスには以下が表示されます。
    gbCond=1
    :78811F019F810040BD0005AB000B901D8000442A292A12014000010003029A00FE30
    :78811F019F810040BD0005AF000B901C8000442A292A36014000020003028B00FE17
    :78811F019F810040BD0005B3000B901C80004C313E1D09014000020003028B00FE29
    END!!
    *gbCond=1が記録データ収集開始の合図です。
    *次に送信データのコードが表示されます。(0140以降が使用しているデータです。)
    *END!!が記録データ収集終了の合図です。

    (23)「F4機能」ボタンを押すと右側のテキストボックスには以下が表示されます。
    au16OutputPWMDuty[0]=BBBB
    au16OutputPWMDuty[1]=CCCC
    au16OutputPWMDuty[2]=DDDD
    au16OutputPWMDuty[3]=EEEE
    gbCond=1
    *au16OutputPWMDuty[0]=BBBBの時、記録データ収集を開始します。(その他は関係ありません)
    *gbCond=1を設定して、記録データ収集を開始させます。


  5. 設定変更(インタラクティブ)モード)
     設定変更(インタラクティブ)モードについては9章:App_TweLiteの修正とWin-PingPongの修正を参照願います。
     9章:App_TweLiteの修正とWin-PingPongの修正で使用した機能はそのまま残してあります。


  6. 「F1機能」ボタン
     ":7880010001FFFFFFFFFFFFFFFF0E" & vbCrLfのコマンド((DO1をOFF)を発行します。


  7. 「F2機能」ボタン
     App_Uart(シリアル通信アプリ)で日本語フォントを送信する場合に使用します。
     詳細は10章:TWE-Zeroアプリ(シリアル通信専用アプリ)の動作試験を参照願います。


  8. 「F3機能」ボタン
     ":788001" + SendData + サムチェック + vbCrLfのコマンドを発行します。
     SendDataテキストボックスの値を変更することにより、各種コマンドを容易に発行できます。


  9. SendData=0001AAAA0240CCCCDDDDの場合
    (1)測定サイクル時間を変更します。
    *AAAAが測定サイクル時間変更の合図です。
    *0240が設定サイクル時間です。(16進で32で割った値が秒です。)
    (2)SendData=0001AAAA0240CCCCDDDDを実行すると左側テキストボックスには
    送信:7880010001AAAA0240CCCCDDDD1E
    gMySTime 240
    が表示されます。
    *コマンド:7880010001AAAA0240CCCCDDDD1EでgMySTime=240が設定されたことを意味します。
    (3)SendData=0001AAAA0240CCCCDDDDを実行すると右側テキストボックスには
    au16OutputPWMDuty[0]=AAAA
    au16OutputPWMDuty[1]= 240
    au16OutputPWMDuty[2]=CCCC
    au16OutputPWMDuty[3]=DDDD
    gMySTime 140
    gMySTime 240
    *au16OutputPWMDuty[0]=AAAAでgMySTimeが140→240に変更されたことを意味します。


  10. SendData=0001CCCC0000CCCCDDDDの場合
    (1)読出し開始番号を変更します。
    *CCCCが読出し開始番号変更の合図です。
    *0000が読み出し開始番号です。
    (2)SendData=0001CCCC0000CCCCDDDDを実行すると左側テキストボックスには
    送信:7880010001CCCC0000CCCCDDDD1C
    gCTold 0
    が表示されます。
    *コマンド:7880010001CCCC0000CCCCDDDD1CでgCToldに0が設定されたことを意味します。
    (3)SendData=0001CCCC0000CCCCDDDDを実行すると右側テキストボックスには
    au16OutputPWMDuty[0]=CCCC
    au16OutputPWMDuty[1]= 0
    au16OutputPWMDuty[2]=CCCC
    au16OutputPWMDuty[3]=DDDD
    gCTold A
    gCTold 0
    *au16OutputPWMDuty[0]=CCCCでgCToldがAから0に変更されたことを意味します。


  11. SendData=0001DDDDBBBBCCCCDDDDの場合
    (1)データ記録に関するカウンタを0に設定します。
    *DDDDがデータ記録に関するカウンタをリセットする合図です。
    (2)SendData=0001DDDDBBBBCCCCDDDDを実行すると左側テキストボックスには
    送信:7880010001DDDDBBBBCCCCDDDD84
    gCRst_F=1
    が表示されます。
    *コマンド:7880010001DDDDBBBBCCCCDDDD84でgCRst_F=1が設定されたことを意味します。
    (3)SendData=0001DDDDBBBBCCCCDDDDを実行すると右側テキストボックスには
    au16OutputPWMDuty[0]=DDDD
    au16OutputPWMDuty[1]=BBBB
    au16OutputPWMDuty[2]=CCCC
    au16OutputPWMDuty[3]=DDDD
    gCTnew=0;gCTold=0;
    が表示されます。
    *au16OutputPWMDuty[0]=DDDDでgCTnew=0;gCTold=0;が設定されたことを意味します。


  12. App_TweLiteプログラムの変更箇所
     App_TweLiteプログラムの変更は、悪戦苦闘したため、変更箇所はだいぶ多くなりました。詳細はソースファイルを参照願います。
     最大の問題点は、パソコンに送られてくるデータの信頼性が100%でないことです。データ異常の原因調査をいろいろやりましたが、とうとう原因は特定できませんでした。
     変更箇所には//***変更5を記載しました。

     測定データ信頼性向上のため
    (1)測定データを2重にEPROMに保存
    (2)2重に保存されたデータを読み出して2重にパケット送信
    (3)2重データのうち正常データをファイル保存
    (4)一度に大量のパケットしないで小分けにして(8x2=16パケット)送信
    *操作画面のF4ディレイは1回の小分けパケットの待ち時間を設定(標準5を設定)


  13. 結果の検討
    (1)異常データ対策で悪戦苦闘しました。
    (2)結局、異常データの原因は特定できず、EPROMへの2重書込みと2重読取、異常値除去で対応しました。
    (3)通信パケットは小分けにして、時間をかけて送信しています。
    (4)スマート性にかけますが、一応実用に近いソフト変更ができた気がします。
    (5)冬季の温室の温度・湿度管理に使用予定です。




21章:無線式デジタルON/OFFカウンタレコーダの製作に行く。

トップページに戻る。