Raspberry Pi Zero用 バッテリーHATを使いました。
電源の確保できない場所でRaspberry Pi Zeroとカメラモジュールをどのくらい駆動できるかをサンプルを作って試してみました。
記事の概要
Raspberry Pi Zero用バッテリーHATを使った記事です。
Raspberry Pi Zeroと合体し、バッテリーを取り付けて使用感を記載しました。
安定して使うためにスペーサを使った組み立てを紹介しています。
バッテリーを使っての駆動時間を調査するために、カメラモジュールを使った時間一定間隔での撮影プログラムを作成し結果を紹介しています。
バッテリー1本あれば一時間程度使用できるようです。
Waveshare Li-ion Battery HAT for Raspberry Pi
簡単紹介

Raspberry Pi Zero と同サイズです。
GPIOを接続することで収まりよく合体します。
14500 Li-ionバッテリーは別売りなので別途準備が必要です。
◆購入
Ali Expressで購入しました。
\2,500(送料込み)
◆参考情報
今回使用したLi-ionバッテリー 14500 3800mAh 3.7VはAli Express購入品です。
\620(送料込み)
充電器 + バッテリー2本
ピン配置
Raspberry Pi のGPIOをそのまま延長しています。

外観


使ってみた
◆ドッキング
Raspberry Pi Zeroとドッキングしました。
基板の縦横サイズは同じで合体した時の一体感が高く収まりがいいです。
手持ちのスペーサを組み合わせたものがこちらです。
組み立て方と使った部品は準備にて説明します。
この形でRaspberry Pi Zeroへの給電と、電源(14500)に充電することができます。
注意
対応している14500 Li-ionバッテリーには保護セルがありません。
取り付け方向と表示をよく確認して作業します。
取り付けは軽い力で作業できますが、取り外しは引っ掛かりが無いため苦労します。
以前別のモジュールで186500保護セル無しのバッテリーを取り出すときに+端子側に力が加わり、花火のように火花を吹いたことがあります。
◆バッテリー14500への充電
画像手前のMicro A、Type Cが給電用のUSBポートです。
充電を開始すると電池残量に応じた数のLEDが点灯し一番端になるLEDは点滅します。
ダイナミック点灯をしているので、点灯時の様子をきれいに撮影することができませんでした。

◆給電
スライドスイッチをON側にすることで給電を開始します。
電池残量はインジケータLEDの点灯個数で確認できます。
TypeAから5Vが出力され、モバイルバッテリーのように使用することもできます。

バッテリーへ充電しながらRaspberry Piへ給電できます。
電源ケーブルを抜くとRaspberry Pi は落ちてしまいましたが、直後に再起動を始めました。
電源ケーブルを抜くことによりUSB給電からバッテリーHAT給電に切りわかりましたが、一時的な停電状態になったようです。
シームレスな電源切り替えはできないようです。
USBケーブルからの給電を停止し、バッテリーHATに切り替わるまでの時間を調べてみました。
調査は電源(ピンヘッダ5VとGND)をオシロスコープ(HDS272)でモニタしました。
結果はUSBからの給電ON状態からOFF状態へ切り替えた時は約350msの電圧降下。
給電OFF状態からON状態へ切り替えた時は約100msの電圧降下を確認しました。
(微妙な電圧降下は除きます)

なお、14500バッテリーを取り付けていなくても、Raspberry Piへの給電はできます。
On/Offスイッチにより給電開始されるので、電源スイッチとしての使い方もできます。
準備
Raspberry Pi Zero を使って簡単なガジェットを作ります。
使うもの
画像 | 名称、型番 | 用途 |
---|---|---|
![]() | Battery HAT | Raspberry Pi Zeroに電源供給します |
![]() | 14500 Li-ion 3.7V | バッテリー本体 |
![]() | Raspberry Pi Zero W + Micro SD Card | カメラを制御して撮影します Micro SD Cardには Raspberry Pi OS 32bit Bullseye を準備します |
![]() | Raspberry Pi Camera Rev1.3 | 撮影します |
![]() | 超高輝度LED HW-269 | 撮影フラッシュに使用します |
セットアップ
Raspberry Pi Zero で使用する環境は以下です。
OS : Raspberry Pi OS 32bit Bullseye
開発環境 : Geany + WiringPi
OSのセットアップと開発環境の作成方法はこちらの記事を参照します。
ドッキング
GPIOのピンヘッダとピンソケットを接続するだけでもドッキングできますが、GPIOのみでは支持が弱いためUSBコネクタ側がぐらつくので、HEXスペーサを使って組み立てをします。
下の画像はGPIOコネクタだけで保持しています。
機能はしますがGPIOコネクタ部にストレスがかかります。

使うもの
HexスペーサM2を使用しました。

・10mm x 2本 : Raspberry Pi Zero と Battery HATの柱
・6mm x 4本 : Raspberry Pi Zeroの足
・丸スペーサ x 2 個 : 10mmHex の伸長
・ナット x 4 本 : 柱、足スペーサの固定
組み立て手順
組み立て手順については組み立てやすく作業するための一例です。

使い方
定点カメラ(時間間隔一定撮影)
◆説明
この動作の目的はLi-ionバッテリ14500 でどのくらいの時間Raspberry Pi Zeroを撮影駆動できるかを確認することです。
今回の成果物はRaspberry Piが起動してから一定の時間間隔で撮影をします。
約60秒ごとに撮影を行います。
暗所でも撮影ができるようにフラッシュを付けます。
60秒経過するとフラッシュを照射し撮影を行います。
撮影時間はおおむね200ms程度で、撮影後フラッシュを消灯します。
ファイル名は[picxxx.jpg]で保存します。
(xxxは数値で、000から撮影するごとに1つずつインクリメントされます)
作業は完充電した状態のバッテリーを取り付けます。
電源スイッチをONにしOSが起動したら、コンパイルまで終わった本プログラムを起動します。
起動直後から1枚目の撮影が始まり、計測はこのタイミングから行います。
◆配線
フラッシュ配線は無くても動作します。

◆プログラム
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define LED_PIN (14)
#define DELAY_S (60 ) //1時間(60s x 60m)
int main(void)
{
int Counter = 0;
char Filename[16];
char Command[128];
wiringPiSetupGpio();
pinMode(LED_PIN, OUTPUT);
while(1)
{
digitalWrite(LED_PIN, HIGH);
sprintf(Filename, "pic%03d.jpg", Counter ++);
sprintf(Command, "raspistill -o %s -t 200", Filename);
system(Command);
digitalWrite(LED_PIN, LOW);
delay(DELAY_S * 1000);
}
return(0);
}
◆結果
置時計を撮影しました。
開始時間は15:16で合計56枚の撮影を行い、駆動時間は55分でした。
撮影画像を確認すると16:00の画像が不足していて、撮影周期が60.2秒のために撮影できない1分があったようです。
撮影やフラッシュのまたは無線をONにしたままによる消費電力の影響は分かりませんが、バッテリー一本(3800mAh 3.7V)で駆動する時間は約1時間程度のようです。

コメント