遠隔気温・日射観測簡易システム     更新H24.3.4

 ある目的のために気温と日射を観測しそれを、インターネットを利用して遠方からの監視が出来ないかと考えていたところ、
Webサーバー機能を持ったXPORTなるものがあることが分かったので、それとPC等を使った簡易(30分更新)な遠隔観測システム
を作ることにした。
 日射計はずっと探していたがやっと比較的安価(それでも高い)で入手できたので、それを使用した。
  テスト中 


システム構成
 最初はXPORTだけで、インターネット経由の監視が簡単にできると早合点したが、イントラネット(ローカルLAN)内でしか
 見にいけないし、複数からのアクセスが出来ないので、XPORTはマイコン(シリアル信号)をLAN信号に変換しローカルLAN上
 でインターネットに常時接続したPCにデータを送り、そのPC上のVBAでサーバーにデータを定期的にFTP送信する構成とした。
  *インターネット側からXPORTへのアクセスは、私の理解不足かもしれないがグローバルIPアドレスの取得など結局自宅の
    PCをサーバー化することと同じことが必要なので、サーバー化しないで実現する方法をとった。
 

    CPU MEGA88P  4MHz動作(本体校正付RC発振器使用)
    LCD HD44780U  16x2行
    温度センサー    LM60  −25〜+125℃(AD変換上測定最高温度は約108℃で、分解能は0.2℃)
    日射センサー    詳細不明 0〜1250W/u 出力 0−2.5V 電源3-5V
    XPORT        04を搭載した入門キットを使用(RS232Cレベル変換付(今回不使用)で単体より安く入手)
    無線LANコンバータ  MZK-MF300N2(PLANEX FFP-PKR03) XPORTを直接(無線)ルーターにケーブルで接続すれば不要。
                 測定場所を自由に移動できるようにXPORTを無線LAN子局化するため使用。
   
 測定部およびXPORTの回路図


処理の流れ
  1秒間隔で温度・日射センサーを読みA/D変換して、気温0.2℃ステップ、日射2WステップでLCD表示させると共に、シリアルデータ
 をXPORTに送ります。XPORTは、自動的にそれをLANデータ(ソケット通信)に変換します。
  LAN上のPCは、EXCELのVBAを利用しXPORTのIPアドレスとポート番号を指定してTELNET通信(仮想COMでも可)により
 データを受信します。それを、30分毎温度は最高・最低値を、日射は平均値を記録しグラフを画像化して、HPのサーバーにFTP送信します。
  1日分の記録がとれたら、グラフの日替処理およびデータをcsv保存します。
  VBAのTELNETやFTPは、
basp21のコンポーネントを利用しています。
  AVRのソースおよびVBAともにそれほど難しいことはやっていない。basp21を使えば簡単にインターネットにデータ送信ができました。
   
  VBAのHPサーバーの設定やPCホルダーの設定を自分の環境に変えて下さい。
    Sub set_val()
      dn = "C:\xport\"    ''PCホルダー(送信元)
      Server = "aaa.bbb.ne.jp"  ''ホストアドレス
      User = "name"           ''ユーザー名
      Pass = "password"          ''パスワード
      Folder = "html/xport"      ''送信先フォルダ

   
AVRソースEXCELVBA

XPORT・ルーターの設定
 ルーターは、基本設定では自動的にローカルIPアドレスをXPORTに振ってしまいアドレスが固定されないのでPC側からアクセスが
 しやすいよう、IPアドレス固定するように設定した。(XPORT側でも固定) 今回:192.168.2.110
 XPORTの他の設定はデフォルトのまま。ただ、トリガーによるメール送信機能があるのでこれも試してみた。メールサーバー、送信先
 等の設定とトリガーは汎用I/Oポート出の設定はいろんな解説がすでにあるので、シリアルデータでかけてみた。 
 温度が30℃を超えたときに表示するよう、2バイトデータが’3’,’0’として確認したら、問題なく動作した。

表示HP
 表示させるHPは、グラフが画像として30分毎アップロードされてくるのでそれを表示させるだけ です。(10分毎自動リロードさせる)
 過去1週間を切替表示できるようにしてます。


設 置
 温度センサーは日射が直接当たらず風通しのよい場所、日射センサーは南向きの日当たりの良い場所と場所の選定に苦労した。
 無線コンバータと無線ルーターまでの距離は約30m程度あるが問題なく動作している。

シリアル通信エラーと対策
 当初から通信データの文字化けが多少発生していたが、気になるほどではなかった(エラー率数%)が屋外に機器を設置した後、
 環境が変わったせいかエラー率が50%以上になるときもあるようになった。
 最初は接触不良やノイズの影響と思われ、接続確認やノイズ対策を施したが改善されなかった。
 また、温度の影響を減らすように、包装材で包んで保温をしたが効果がなかった。
 冷え込む夜間の発生率が多いので、校正付RC発振器周波数の温度変化により変動しその影響で、シリアル通信の速度が変化し
 エラーとなっていないか確認した。
 当初、RC発振器周波数の校正はデフォルトのままで4MHzよりやや高め(サンプル数から想定で4%程度)になっていたが、
 室温10度前後で問題なく通信できており気温が下がっても4MHzに近づく方向なので、影響しないと考えていた。
 今回気温0度程度で、エラーがある程度出ている状態で周波数を測定した。想定では、4MHzを下回っていると思っていたが以外
 にも4.18MHz程度で10度の時とほとんど変わっていなかった。
 ということは、温度変化による影響はCPU側にはあまりなく(温度で自動補正?)、むしろXPORT側の通信速度の変動(低下)が
 大きくなっていると考え、CPUの速度をRC発振器周波数の校正により3.9MHz(-3%)程度にしてみた、するとエラーが全くでなく
 なった。(−数度〜+10度前後)
 真夏の気温でどうなるかわからないが、なんとなく良さそうだ。
 AVRのデータシートによるとRC発振器の周波数は、当然温度により変動する特性図が載っているが、他方校正バイトの周波数特性
 を見ると、温度のパラメータによる差は殆ど無いように読み取れる?
 
 
  測定部 車庫の屋根裏に固定
  日射センサー 車庫の屋根に南向き約30度で設置
   温度センサー 車庫の軒下に設置