単4エネループを3本直列で使う。エネループの公称電圧は1.2Vなので、3.6Vで動作させることになる。満充電時は4.2V程度を示すこともある。Raspberry Pi Pico W の動作電圧は 1.8〜5.5V であり、問題ない。
パナソニックと三洋ブランドのを同時に使ったりして、行儀が悪いのですが、ちゃんと動いています。電池容量がなくなると、3.2Vを切ったあたりから急に電圧が落ち始めて、2.6V 程度になると動作停止した。電圧が下限値の 1.8V より高くても、必要な電流量を引き出せなければ、動作できないのだろう。
実際に運用した製作例として、下の2つの記事を参考にした。
今回の回路の消費電力については、後で示す通り、平均 3.7 mA 程度となっている。今回使用する秋月のソーラーパネルは、最大電流が 65 mA。計算上は、1日あたり 3.7/65*24 = 1.37時間フルパワーで充電できれば、連続運用が可能になる。(実際に流す電流はもっと小さい。後で再計算する。)
上の2つの記事の回路を比べてみると、「工作と競馬2」さんの回路はかなり複雑。使用されているソーラーパネルが最大 9V 出力であることと、リチウムイオン電池を使うために制御回路が必要であることから、必然的に複雑になる。一方、「さとやまノート」さんの回路は極めてシンプルで、ダイオードを1個はさんでソーラーパネルとエネループの正極を接続している。使っているパネルもエネループも同じなので、この回路を流用することにした。
「さとやまノート」さんの回路図では、ダイオードの品番が特定されていない。手元にあった、普通のシリコンダイオード(小信号用、1SS133)とショットキーバリアダイオード(1S10)を使って試してみた。回路図は下の通り。ソーラーパネルと本回路の間に自作の電流電圧ロガーをはさんで、電流・電圧値をモニターする。
結果は下のようになった。
直射日光照射の条件で、1S10の方がやや電圧が低く、電流がわずかに大きくなっている。これは、ショットキーバリアダイオードの方が電圧降下が小さいことと一致している。また、日陰の条件(散乱光のみ)では、電圧は出ているが、電流値は著しく小さくなる。1S10 の方は 2 mA 程度流れており、1SS133 の方はほぼゼロとなった。この結果からは、1S10を選ぶのが妥当と言える。ショットキーバリアダイオードはシリコンダイオードに比べて漏れ電流が大きいので、その影響がどう出るかも検証が必要。(漏れ電流の電流値はもともと非常に小さいため、直接測定では評価が難しい。実際に運用してみて電池電圧の低下を見る必要がある。)
エネループなどのニッケル水素電池では、「継ぎ足し充電」をするとメモリ効果が発生して、充電できる容量が小さくなる。これを防ぐためには、少量の電流で充電する「トリクル充電」を行えばよい。トリクル充電のための電流の最大値については諸説ある。1時間で満充電になる電流値を 1 C とするとき、C/15, または C/40 が適切という資料がある。
単4エネループは 750 mAh なので、C/15 = 750/15 = 50 mA, C/40 = 750/40 = 18.8 mA。上の結果だと、直射日光時の電流は 28 mA 程度だった。これは C/40 よりは大きいが C/15 よりは小さいので、電池に大きな負担をかけることなく充電できると考えられる。回路の消費電流を平均 3.7 mA として、1日に平均 3.7/28*24 = 3.2 時間直射日光が当たっていれば、連続稼働できることになる。設置場所の都合で午前中しか太陽が当たらないので、午前中晴れの日が続けばよい。
土壌水分センサーは、3.3V の電源を供給して、出力をアナログ値で読み取ればよい。問題は電源供給の方法である。このセンサーは 5 mA 程度の電流を消費する。2本のセンサーを 3.3V ラインに直結すると、測定していない間もずっと 10 mA 程度の電流を消費することになる。これは好ましくないので、「測定するときだけ電源を供給する」ようにしたい。
最初は、「さとやまノート」さんの記事に倣って、Raspberry Pi Pico W の GPIO から電源を取ろうとした。これは一応機能したのだが、実験途中で土壌センサーが壊れてショートしてしまい、それに伴って Pico が壊れてしまった。おそらく GPIO に過大電流が流れたことによると思われるが、詳細はわかっていない。ともかく、土壌センサーは屋外の土に埋め込むため、故障の確率は高いと考えられる。故障したときでも他に影響を与えない回路構成にしないとまずい。
次の記事の回路図を参考にして、下の回路を作成した。「ソーラー発電式自動水やり器を作る(5) --- 無動作時消費電力の低減 ---」(工作と競馬2、2020/08/31)。
GPIO18 を High にすると、トランジスタ Q1 がオンになり、それに伴ってトランジスタ Q2, Q3 もオンになって、3V3 ラインから電源がセンサーに供給される。センサーが故障したとき、「断線する」ケースと「ショートする」ケースが考えられる。断線したときはセンサーに電流が流れないだけなので、本体回路に影響はない。ショートしたときは、センサーに流れ込む電流は R3, R4 の電流値に Q2, Q3 の増幅率をかけたものが上限になるので、際限なく電流が流れてしまうことはない。
この回路を使って、センサA, Bの接続端子に実際にセンサを接続、または開放(切断時を想定)、または+/-を結線(短絡時を想定)して、どういう電流が流れるか、実験してみた。「電流」は回路全体に流れている電流(mA, ラズパイピコの消費電流を含む)、「電源」は電源端子の電圧 (V)、「出力」はラズパイピコで読み取った値(電圧/3.3*1024)。
電流 | センサA電源 | センサB電源 | センサA出力 | センサB出力 | |
正常 | 81 | 3.26 | 3.26 | 676 | 670 |
A切断 | 76 | 3.30 | 3.26 | 209 | 671 |
A短絡 | 100 | 0 | 3.26 | 4 | 670 |
B切断 | 75 | 3.26 | 3.30 | 677 | 188 |
B短絡 | 101 | 3.26 | 0 | 676 | 4 |
両方切断 | 67 | 3.30 | 3.29 | 200 | 198 |
両方短絡 | 118 | 0 | 0 | 4 | 4 |
A短絡B切断 | 95 | 0 | 3.30 | 4 | 192 |
A切断B短絡 | 95 | 3.30 | 0 | 187 | 4 |
以上の結果から、A, Bの接続端子は独立に機能していることがわかった。また、「両方切断」時の 67 mA をラズパイピコの消費電流とすると、正常なセンサは 7 mA 程度、「短絡」状態では 25 mA 程度が流れることがわかった。短絡時の消費電流が大きくなってしまうが、ラズパイピコの 3V3 端子の電流上限値 (300 mA) には余裕で収まっている。
電源・GND・GPIO 1本をつなげばよい。データを送信したら自動的に省電力モードに入るので、電源供給については特別なことはせず、直接 3V3 ラインにつなぐ。
以上をまとめて、次のような回路図とした。
秋月のCタイプユニバーサル基板に組んだ。部品配置のイメージはこんな風になる。