小型のラズパイPicoをIoTデバイスなどとして使う用途は多々ありますが、その際電池を用いていかに長時間の連続稼働ができるかが利便性への課題となっています。
テスト1:ニッケル水素電池を電源として、何時間連続稼働できるかテストしてみた。 結果は340時間、約2週間となりました。 使用したのはニッケル水素単3電池 Panasonic Ni-MH 2000mAh x3で、ラズパイPicoは10秒間の通常処理後deepsleepにて1時間休止を繰り返すこととした。

テスト2:上記テスト1の条件では実用性が乏しいため、ソーラーパネルを追加して継続時間を延ばし、さらには何かの信号が入ったときdeepsleep状態から強制復帰させ信号を処理できるようにした。ソーラーパネルにはBigBlue社SolarPawa10 5V 10Wを用い、充電制御モジュールTP4056を介することでニッケル水素電池を適正に充電できるようにした。結果はソーラーパネルの充電容量は冬の短い日照時間でも充分あり、ほぼ無制限で継続稼働させることができた。

信号の変化をトリガーとしてPicoを休止状態から強制復帰させるため簡易的なワンショットを作った。今回は信号として人感センサSR501および雨滴センサを使用し、いずれかの信号を検知したときPicoのrun端子にリセット信号を送り強制復帰させた。ワンショットはTr1のベースをCRフィルタを通した時間遅れのTr2でたたき、復帰後はGPIO出力でTr2をコントロールし次回のsleepまで人感センサでリセットしないようにした。注)ラズパイPico W(2W)にて省電力化を計る場合はWiFiモジュールもdisableにする。

人感センサ検出時の波形は下図オシロのようになり、上段人感センサの信号(A)がHiになってからCRフィルタでの遅れ0.7sec後にrun端子へのリセット信号(B)がLoからHiとなりPicoを強制復帰させた。

GPIO21とGPIO22でリセット信号をコントロールするための必要部分を抜き出したスケッチは次の通りです。
今回のテストでの接続図は下図の通り。


