2010年12月27日月曜日

定点観測データロガー -7 : 観測用シールド




フィールド設置型の定点観測ロガーを作成する。

< 定点観測器の仕様 >

  1. 計測内容は、計測時刻・気温・湿度・温度・照度とする。
  2. Arduino Pro 328 3.3V 8MHz をスタンドアロンで動作させる。
  3. 単三乾電池4個を電源とし、最低一週間は稼働する省電力設計とする。
  4. 設定した間隔で持続的にデータを記録できるものとする。
  5. 定期的に記録データ媒体と乾電池を交換できる設計とする。
  6. 計測データの保存はSDカードを使用する。


< 定点観測データロガーシールド >

定点観測用: Honeypotシールド + Arduino Pro 3.3V 8MHz
前回の回路をシールド化する。
材料リスト



シールドの回路図

シールド裏側の配線
シールド裏側は画像の通りかなり複雑な配線になる。
最初に配線した時、耐熱ワイヤを使わなかったためにハンダごての熱でビニールが融けて接触不良になり、
結局すべて剥ぎ取ってもう一度配線し直すことになった。
それでも接触不良が不安だったら、エポキシ系樹脂で配線をガチガチに固定する。
コネクタの接続方法はこちらを参考にさせて頂きました。
GNDへはなるべく一点アースにし、回路どうしが干渉しないようにする。
SDソケットは剥がれやすいのでワイヤで固定してある。
多回転半固定ボリューム抵抗はハンダ付けする前にピンを回転させて21KΩにセットしておく。
それと、Arduinoとシールドをつなぐピンのうち、RESETピンは不要なので取り付けないようにする。
取り付けたままでスケッチをアップロードしようとすると、下記のようなエラーが出てアップできない。

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

最終的なスケッチは以下のようになった。


Source code: Honeypot ▼

5分間隔で計測し、SDカードにデータを記録する。
温度と照度は一度の計測につき5回センシングしてその平均値を採用する。
1時間に一度、タイムスタンプのブレを修正する。
SDカード記録時のエラーはLEDの点滅回数で表す。
Watchdogとスリープ制御処理も記述する。


上記スケッチをアップロードする前に外部EEPROMをクリアしなければならない。
以下のスケッチをアップロードすると、D13のLEDが点灯する。
そうしたらクリア完了。

Source code: eeprom_I2C_clear ▼


20分後にSDカードを取り出してデータを見てみた。
","(カンマ)区切りで、左からタイムスタンプ、温度1、温度2、温度3、照度、気温、湿度、露点のデータが記録されている。
次回は、屋外に設置して計測をしてみたいと思います。



0 コメント:

コメントを投稿