Raspberry Pi Pico Wで気象観測システムAtmosBot2.0Piをつくる(テスト編)
はじめに
以前ESP32を使った気象観測システムAtmosBot2.0へアップグレードしようとして、結果断念していた。
後から思えばもう少し調査しても良かったかもと思わないでもなかった。
そうしたところ、3月末になって日本でもRaspberry Pi Pico W(以下Pico W)の販売が開始された。しばらくは入手困難な状態ではあったが、4月下旬にはネットショップを見ると特に制限なく購入できるようになっていた。
GW中にいろいろと試したかったので、4月末に方向は逆だが会社帰りに大阪日本橋のシリコンハウスへ寄り道をしてPico Wを購入して帰った。
このPico Wを使った気象観測システム(以下AtmosBot2.0Pi)にトライしてみることにした。
Raspberry Pi Pico W
購入したPico Wは下記のようなパッケージに入っていた。パッケージに技適マークはシールが貼付してある。ピンヘッダは付いていないので自分で半田付けして使う。
開発環境はArduino IDE(C/C++)かThonny(MicroPython)か
当初、Arduino IDEで開発することしか考えていなかった。ところが、やりたいことをコードに落とし込もうとするが、ビルドが通らないなどトラブルに見舞われた。
Pico W用には公式版とearlephilhower版と2つボード環境が存在するが、どちらも何らかのトラブルが発生する。
あまり好みではなかったのだが、ThonnyのIDEでMicroPythonを使えば、やりたいことが問題なくできることがわかったので、最終的にはThonnyを使うことになった。
Pico Wのバッテリー持ちはいかほどか?
とりあえず、ESP8266を使ったAtmosBot1.0と同じロジックでMicroPythonのコードを書いて、センサーからのデータが正常に取得できるか、そしてどの程度バッテリーが持つか、特に後者を中心にテストをしていく。
AtmosBot1.0で使っているモバイルバッテリー(cheero Canvas 3200mAh)を使い、テストをしてみる。
ところが、1週間も持たずにバッテリーが枯渇してしまった。
ググってみると、ESP8266やESP32と比較するとPico WのDeep Sleep時の消費電流はかなり多いようだ。
いつもAtmosBot1.0では1週間に1度バッテリー交換するようにしている。ほぼ1週間はバッテリーは持つのだが、場合によっては1週間もたずにバッテリー切れになることもある。
屋外に設置している事もあり、雨の日はバッテリー交換が難しいので、1日か2日は余裕を持っておきたい。
調べて見ると非常に参考になるサイトがあった。
GPIO23をオフにするとWi-Fiの電源がオフになり、低消費になるという。実際にトライしてみると、10日近くバッテリーが切れることなく観測ができた。
あれ? AtmosBot1.0(ESP8266)よりもバッテリーの持ちが良い。ESP8266やESP32はもっと低消費にできたのだろうか?原因が気になるところだが、結果オーライだ。
もしかしてエネループでもいけるんじゃない?
モバイルバッテリーはリチウムイオン電池の出力をUSBの5Vへ昇圧し、さらにPico W内で3.3Vに降圧されているので変換ロスがある。
調べて見るとPico Wの入力電圧は1.8V~5.5Vということなので、ニッケル水素電池2本(2.4V)で動作できるし、モバイルバッテリーの変換ロスを考慮すると、ニッケル水素電池でも意外と長時間稼働できるのではないか?
眠ったままになっていたエネループがあるので、これを使ってみることにした。
実際テストしてみると2週間近く観測することができ、モバイルバッテリーよりも長時間稼働できた。テストは屋内でやっているので、そのまま屋外の観測で同じ結果が出ることはないと思うが良い結果だ。
さらにVSYS(入力電源の端子)の電圧をADCで測定することで、エネループの電圧変化を見ることができるので、電池の交換時期の把握もできるメリットがある。
電池が切れる約1週間ほどの入力電圧変化が次のグラフ。
このグラフにはないが、使用開始時は2.6Vくらい。徐々に電圧低下し、2.3Vを下回ると急速に電圧低下し1日持たないことが分かる。この電圧特性が分かれば、電池の交換時期が予測できるので、運用上のメリットも大きい。
今回はここまで
ここまでAtmosBot2.0Piの約3ヶ月にわたるテストについてnoteにまとめた。次回は屋外での観測、運用についてまとめる。