温度ロガー

無線温度ロガーの製作

・土壌温度を24時間自動計測するための温度ロガーを作る
・屋外放置なのでバッテリ駆動
・たぶん10分程度の計測間隔で十分
・本体は表示機能無し
・パソコン側のソフトはCSVデータダウンロード機能だけにしてグラフ表示はEXCELなどに任せる <-電力計のソフトを改造して使うことにした
・省電力化や電池の熱対策が面倒な気がする


2014-05-15

温度が高すぎると根が生長してくれない。真夏の直射日光にさらすと異常高温になるのでロガーで監視する

R0020857.jpg

今日は適温

R0020859.jpg

曇りで適温なので日が差したら遮光した方が良いということだ

2014-06-25

センサーの動作確認。温度センサーはMCP9700。出力-GND間に0.1μF程度のコンデンサを入れないと安定しない。1℃あたり10mV出力変化するので50mVのノイズは5℃に相当

R0021164.jpg

電圧リファレンスのTL431と温度センサーMCP9700

R0021162.jpg

コンデンサを入れないとこんなノイズ

R0021161.jpg

コンデンサを入れるとこれくらい。電源ノイズと同程度

2014-06-28

プロトタイプ回路図

ondokairo.PNG

2014-06-29

atmega328のウォチドグタイマは最大8秒間隔のようなのでリアルタイムクロックを追加して長時間スリープ可能にする。秋月電子のリアルタイムクロックは全体的に中途半端なものが多い。RTC-8564が割り込みも使えて省電力化向き。これ以外は消費電力やI/O数が多すぎたりで古臭い感じ。セイコーのRTCに良さそうなものがあるが日本製なので入手性に難あり。DigikeyやMOUSERで扱っているが何故か日本へは発送出来ないようにしてある

R0021247.jpg

2014-06-30

ポイントレギュレータ(ON/OFFスイッチつきの3端子レギュレータ)を使って計測/送信時以外は自らの電源を切ってしまう回路に変更。リアルタイムクロックだけは常時通電しアラーム機能で目を覚ます仕組み。I2Cは5Vと3.3V混在回路で通信することになる。インチキくさいがオープンドレインなのでこれでも問題ないはず

ondosch02m.png

2014-07-09

ソフト開発開始。左側は自作新型Arduino開発環境。右が温度計。3.3V電源、ZIFソケット、ターゲットボードへの書き込み機能付きでかなり便利

R0021328.jpg

2014-07-18

通信プロトコルのデータ書式
・通信モジュールは1対1の通信しかできないので複数台の温度計がある場合はタイムシェアリングする必要がある
・過去のデータ蓄積はたぶんあまり意味が無い
 「今日の気温が30度で鉢の温度が34度になったので明日の予報が気温35度だと鉢は40度を越えるはず」といった具合に使うことになる
 3日前の情報がわかっても手遅れ

R0021414.jpg

2014-07-24

電力計のソフトを改造して温度計に仕立てた。室温を表示している。サンプリング間隔は1分。最終的には10分に変更する

proto001.png

2014-07-25

屋外テスト開始。窓を閉めてしまうと電波が届かないが受信するときだけ窓を開ければいいので特に問題なし。電源と本体は距離を離したいが防水のためやむなし。本来の無線モジュールの電波は敷地の端まで十分届く。ブルーベリーに使用する予定だったがアボカドの葉が縮れたので計測対象を変更

R0021462.jpg

本体は秋月の袋に入れて防水。センサーはストローの中に入れてホットボンドで防水

R0021467.jpg

電源ごと丸めてビニール袋に入れてさらに防水。これはアボカド。越冬できるか不明

2014-07-27

小型化検討。電池をのぞいて30×65mm。1マス10mm。ATmega328を面実装品に変更すればもっと小さくなるが電池とケースのことを考えないといけない

R0021471.jpg

2014-07-31

最近のEEPROMの書き込み回数寿命は100万回。2分おきに同じ場所に書き込むと4年以内に寿命が来る。計測/送信時以外は電源を落としてしまうのでどこまで書き込んだのかをEEPROMに書き込んでおかないと次に電源がONした時に書き込む場所がわからなくなる。リアルタイムクロックには数バイトのユーザーメモリーを備えている物もあるが今回使用のものは無し。面倒だがメモリーを0xFFで埋めて「読み出して0xFF以外なら使われている領域」と判断するしかない。512kbit(=64kbyte)EEPROMなら16回読み出せばまだ使われていない領域の先頭を見つけることができる。この方法は書き込まれるデータのとり得る値の範囲の中に初期値が含まれていない時だけうまくいく

R0021479.jpg

2014-08-01

基板発注。通信ID設定、照度計、バッテリ電圧検出、計測可能時間拡大用メモリを追加

R0021506.jpg

2014-08-03

一週間の温度変動。誤差はマイナス1℃程度。実際の温度はこのグラフより1℃高い

potondo.png

2014-08-10

メモリー追加。2分間隔なら約11日間記録できる

R0021585.jpg

2014-08-13

基盤到着

R0021600.jpg

2014-08-24

照度計と電池駆動実験開始

R0021745.jpg

2014-08-26

照度計のデータ。日の出、日没はほぼ正確に検知できる。センサーの感度は蛍光灯の光にはギリギリ反応しないレベルに設定してある。直射日光が当たらなくても薄曇り程度で振り切れる。真上方向の感度が良すぎるのでLED用の光拡散キャップをかぶせる予定。しばらくこのままでデータ取りを続ける

syodo2.jpg

曇り。午前中雨。日の出時刻5:07。日の入り18:17

syodo1.jpg

温度計の鞘。ステンレスパイプの先端をジュラコンで塞いでいる

R0021756.jpg

2014-08-31

照度の1週間グラフ。日曜は半分しかデータが無い。月曜は午前中雨、火曜は一日中雨、木曜金曜は時々雨。昼間の降雨は照度を見ると大体解る

amefuri.png

2014-09-22

量産。センサーは誤差が大きいので校正。ADコンバーターの分解能が低いので校正しても±0.5度程度の誤差は残る

R0022098.jpg
R0022099.jpg

2014-09-24

照度センサーのばらつき確認。曇り。直列抵抗3.9kΩ
電圧降下
センサー1:2.43V
センサー2:2.54V
センサー3:2.72V
センサー4:2.37V

R0022103.jpg

気にしなければいけないほどばらつかない

R0022107.jpg

今日の天気

2014-10-02

気象庁のホームページからアメダスのデータがダウンロードできるので表示できるように改造。黄色い線がアメダス。一番近くの地点が所沢。ちょっと距離がある

amedas.png

2014-10-05

通信距離をもっと伸ばせないかトワイライトという無線モジュールを使ってみる。この手の物としては珍しい日本製。基本的に独自回路&ソフトなので情報量は余り多くない。ZIGBEE規格で使うことも出来るが商用で使うとライセンス料が発生するので独自ソフトの方を使う。商品化するつもりも無いが変な制限が有る物は出来るだけ使いたくない。無線モジュールはMPU一体型なのでセンサー回路と電源を追加するだけで装置が完成する。白い基板はFT232を使った書き込み機。書き込み機は回路の割に高価

R0022163.jpg

2014-10-11

変換基板を作って無線モジュールの動作確認。この無線モジュールはサンプルプログラムがメーカー書き込み済みになっているので配線するだけでテストが出来る

R0022229.jpg

メーカー製のDIP変換基板も有るが無線モジュールを取り外せないので自作。半田ブリッジで接続してあるので半田を吸い取れば取り外せる

R0022233.jpg

タクトスイッチを押すとLEDが点灯する

2014-10-12

タクトスイッチをトランジスターに置き換えてarduinoのblinkサンプルスケッチでトランジスターをON/OFFする。この実験での電波が飛ぶ範囲はnRF24L01モジュールと大体同じ感じ

R0022252.jpg

2014-10-23

アンテナは水平状態だと不利なので垂直に変更。銅線。距離は非LOW-Eガラス越しで30m、LOW-Eガラス越しで15m程度。外付け部品は殆ど無くなるが内蔵メモリーだと34時間が記録限界。時間内にデータを受信しないと歯抜けになる

R0022300.jpg

2014-11-12

内部に水滴が付いていたのでシリカゲルを入れ替え。ついでに冷蔵庫の冷凍室(上段17リットル)の温度変動計測。3本とも同じ値になっているので庫内気流の影響は無いと思われる

reizoko.png

2014-12-16

4ヶ月で電池切れ。ちょっと早すぎ。真夏の直射日光でも電池は大丈夫だったが電池ボックスが変形した

R0022732.jpg