気象観測装置をつくる

太陽光発電と太陽熱温水器関係で、気温などを取っていると、我が家の気象のデータを取って、気象庁の発表している近隣の場所との関係を比較してみたくなりました。
そういうわけで、ずいぶん前に気象観測が一通りできるようなものを作ってみようと思っていましたが、家の建築とそのあとの整備が忙しくて、取り掛かれませんでしたが、この週末にようやく作ってみました。
いろいろな観測項目のセンサーは今はいい時代で安価に購入できます。それらセンサーをArduinoにつないでデータをとり、SDメモリーに書くとともにシリアル出力をして、ネットワークから読み出すように作りました。
観測項目とセンサーは下記のとおりです。
1.気温、家の温度
サーミスターを使って測定。サーミスターは、測定するときだけ電流を流すようにしてみました。家の温度というのは、家の屋根裏の空気を換気扇で排気できるようにしたので、その排気温を測って、屋根裏がどの程度暑くなっているのかを調べます。今の時期ですと、換気扇はとめていて、なるべく屋根裏が温まったのが室内に導入されるようにしていますが、どの程度屋根裏に熱がたまっているかも排気をしたら測定ができそうです。
測定プログラムは、arduinoのページにも記載があるので結構簡単にAD値から温度への変換も含めてできました。
2.風向、風力、雨量
Sparkfun のweathermeters というのをGalileo7から購入しました。
arduinoへの接続もサンプルプログラムがダウンロードできますので、そのサンプルのうち関係したところだけを抜き出して、ライブラリを作って使いました。
このサンプルプログラムで、風速 m/s, 風向, 時間雨量 mm/h が測定できます。雨量は、サンプルプログラムは、時間平均まで測定していて優れていると思いました。
3.気圧
MPL115A2 というチップを購入してI2Cバスに接続しました。こちらも読み取りと物理値の変換プログラムがチップの発売元のページからapplication noteがダウンロードできましたので、それを参考につくりました。
(が、今のところ、ちょっと内容をてんこ盛りにしすぎて、メモリが足りなくて動かないので、気圧に関しては太陽熱温水器のコントローラーの方で測定しています)
4.湿度
DHT11 というセンサーをArduinoにつけています。プログラムもArduinoに例があるので、それをパクリます。
5.照度
日が出ているかどうかの測定は、日照計を使うわけですが、高価なものなので、簡易的なものをなるべく安く作ります。
太陽電池を低い値の抵抗でシャントして、電圧をarduinoで読み取ることで、太陽電池の短絡電流を測ることで照度の測定をすることにしました。
シャント抵抗は、ジャンク箱の中に入っていた2オームを使いました。また、太陽電池は、屋外で使うので、一応雨などの対策が取られてそうなものを考え、かつ安上がりに作りたいなということで、
ダイソーのソーラーガーデンライトを改造して作りました。なんといっても屋外で使う前提だし、取り付けようのパイプなどもついてくるのでとっても便利。お値段もこれ以上ないほどの安さの100円だし、言うことありません。
以上で、大体高機能なアメダス相当(当然、校正されていないので、精度は比べられませんが!)の測定ができそうです。
取ったデータは、SDメモリーに保存しつつシリアルで出力して、読み取りますが、屋外にセンサーを設置する関係で、家の中に引き込むのに距離があるので、RS485を使うことにして、ArduinoにLTC1485をつけて、RS485インターフェースを付けました。また、配線をすっきりさせたいので、秋月で売っているトライステートの PoE キットを使って電源の供給とRS485の配線をLANケーブルで行うことにしました。LANケーブルはどこでも売っているのが良いです。
PoEのキットを使ってArduinoに電源を送っていますが、12Vの電源を供給したら1V弱の電圧降下が20mのLANケーブルで発生しましたが、全く動作に問題ない範囲なのでOKとしました。
RS485はRS232Cに変換して、PCでデータの記録と自動プロットなどの処理をします。
IMGP5551.jpg
これが設置した、Sparkfun の風向風速、雨量計です。箱型のが、雨量計で、ますが雨水がたまったところでパッタンパッタン動いて雨量をカウントします。
BSアンテナとUHFのアンテナをマウントしているポールにSparkfunのキットについてくるポールを差し込む形で取り付けました。
気持ちよく風速計と風向計が動いています。
黒いのが、ダイソーのガーデンライトを改造して作った照度計。というか見た目ガーデンライトそのまんまです。
照度を求めるのに、何かドームをかぶせたりした方がいいと思うのですが、これはこれからの検討事項。
IMGP5555.jpg
ArduinoボードとPoEアダプターは、防雨ボックスに収納して、端子盤なども配置しつつ配線をしました。
自動プロットまではまだ作りこめていませんが、とりあえず、ちゃんと雨量計と照度計が動作していることは、雨が降ったので確かめられました。

UPS電池交換

我が家のストレージサーバー(といってもBuffaloのNAS)はオムロンのUPSにつないであるのですが、ずいぶん前に電池が寿命になっていてUPSになっていませんでした。UPSは、10年近く前に買ったような(気がする)BZ50LTというもの。長寿命電池搭載ということでしたが、5年以上も経っているので電池が寿命でも当然。このたび一念発起してUPSの電池を交換しました。と言っても、純正の電池は高くて買う気がしませんので、似た電池をさがしてきました。
安さ爆発秋月のシールバッテリー 5AHです。
交換はとっても簡単。もともと入っていた電池と端子が合っていてよかった。。。適当にヤマ勘で似た電池を探しただけなので。純正電池は、端子の保護とかいろいろついていますが、そんな小さいことは気にせずつないで立ち上げ。一応、UPSのプラグを抜いて無停電機能が動作することを確かめておきました。
同じ電池をもう一つ買ってあるのですが、こちらは、充電制御回路とDCDCをつないで、ルーターなどをDCバックアップしてみようと思っています。が、くじけてUPS買うかも。
今日は、Sparkfun のweathermeter というのをarduinoにつないで、その他センサーもつないで、気象観測(風向、風速、雨量、日照、気温、家の温度、気圧)をしてみようとおもって作業していたのですが、完成まであと一歩というところで時間切れなので明日また作業して、ちゃんと動いたらレポートしようと思います。
通信線を屋内に簡単に引き込めると思っていたら、そうでもなかった。