RPZ-PowerMGR (Raspberry Pi用 電源管理/制御/RTC拡張基板)

スイッチで電源ON/OFF、指定時刻に電源ON/OFF、シャットダウン後自動電源OFFを可能にする拡張基板です。Raspberry Pi(ラズパイ)の電源の課題を解決し、省電力運用を可能にします。RTCで電源OFF時も時刻を保持します。USB Type-C端子を搭載し、モバイルバッテリーでも利用できます。

Raspberry Pi電源の課題

Raspberry Piは大変便利な小型コンピューターです。しかし、電源まわりには課題もあります。Raspberry Piを使っていて、次のような悩みを持ったことはありませんか?

  • USBケーブルを抜き差ししないと電源をON、OFFできない
  • ネットワークや遠隔から電源をOFFできない
  • インターネットに繋がっていないと時刻がずれる
  • 決まった時間だけ起動して消費電力を抑えたい
  • モバイルバッテリーで長時間運用したい
  • どれくらい電力を消費しているか知りたい

電源管理、省電力運用に必要な機能を網羅している「RPZ-PowerMGR」拡張基板を使えばこれらの問題を全て解決できます

特徴

機能概要図
スイッチから電源ON、OFF

スイッチを押すだけでRaspberry Piを電源ON、OFFできます。電源OFF時はシャットダウン処理が自動的に実行され、その後安全に電源が切れます。

入力端子に外付スイッチの接続も可能です。ケーブル付きスイッチを利用すればレイアウトの幅が広がります。スイッチの代わりにICなどから信号を入力することでも電源ON、OFFできます。

外付けスイッチ接続例 (外付スイッチは付属しません)
シャットダウン後に自動電源OFF

Raspberry Piのシャットダウンを検知して自動的に電源OFFできます。ネットワークや遠隔からでも電源OFFが可能になるほか、プログラムの最後にシャットダウン命令を記述しておくことで、プログラム実行後に電源OFFさせることができます。

指定日時に電源ON、OFF

あらかじめ登録した日時、時刻に電源ON、OFFできます。必要なときだけ電源をONすれば省電力でRaspberry Piを運用できます。モバイルバッテリーで長期間の稼働が可能になります。

月、日、曜日、時、分を自由に指定でき、毎週、毎日、毎時のような指定も可能です。例えば以下のようなスケジュールが簡単に作成できます。

  • 毎時0分に電源ON、10分に電源OFF
  • 毎日8:15に電源ON、17:40に電源OFF
  • 毎週月、水、金の20:00に電源ON
  • 毎月15日の0:00に電源ON
  • 1月15日の9:00に電源ON
  • 現在時刻から10分後に電源OFF、60分後に電源ON

他社製品の多くはRTCのアラーム機能を使う構成です。そのためスケジュールを同時に1個しか登録できず、起動するたびに次の時刻を登録するプログラムを記述しなければなりません。

一方、RPZ-PowerMGRは専用開発したスケジューラーを搭載しています。そのためスケジュールを最大250個登録可能で、複雑なスケジュールに対応できます。一度登録しておけばRaspberry Pi側からの管理は不要です。CSVファイルインポート、エクスポート機能もあるので表計算ソフトを使ってスケジュール作成、管理でき、同じ設定を複数台に展開できます。

RTC(時刻保持)

RTC(時計)機能を搭載しており、インターネットに接続されていなくても、電源OFFから復帰した際に自動的に正しい時刻に設定できます。インターネットに接続されている環境では、自動的に時刻サーバーの正確な時刻に同期します。

バックアップコンデンサーに電力を蓄えておくことで、完全に電源から切断されても時刻を保持します。保持期間は電源切断から100時間程度となります。(コンデンサーが十分充電されている場合)

コイン電池を使用しないのでメンテナンスフリーです。

超低消費電力

超低消費電力のIC、回路設計により、Raspberry Pi電源OFF時の消費電力をわずか5uA以下に抑えました。これは10,000mAhのモバイルバッテリーであれば150万時間に相当し、実質待機中の電力消費を無視できます。(実際の運用可能時間はRaspberry Piの消費電力と起動中の時間で決まります。) 長期間の省電力運用を可能にします。

モバイルバッテリーWake up

モバイルバッテリーの多くは消費電流が低くなるとスリープに入り電源が切断されてしまうため、間欠動作させることができません。スリープしないようにダミー電流を流す機能を持つ製品もありますが、電源OFF時にも電力を消費してしまう問題があります。

RPZ-PowerMGRにはモバイルバッテリーWake up機能を搭載しており、スリープ状態のモバイルバッテリーを起動させることができるので、モバイルバッテリーを使った間欠動作が可能です。電源OFF時は電力を消費しないので長時間運用することができます。

(対応しているのはケーブルの挿入を自動検出するタイプのモバイルバッテリーとなります。市販されているものの大半はこのタイプです。)

Raspberry Pi消費電流測定

モバイルバッテリーでRasbperry Piを運用する場合に気になるのは実際にどの程度電力を消費しているかどうかでしょう。RPZ-PowerMGRはRaspberry Piの消費電流を測定できるので、どの程度の期間バッテリーで運用できるか試算したり、電力消費を下げる構成を探すことができます。

実際に測定できるのは以下の電流値です。

  • 現在の消費電流値 (測定は1秒間隔)
  • Raspberry Pi電源ONしてから1秒おきの電流値のデータ (最大1時間分)
  • 指定したタイミングから1秒おきの電流値のデータ (最大1時間分)
Raspberry Pi Zero対応 & 拡張基板/HATスタック

基板サイズは消費電力の低いRasbperry Pi Zeroに対応しています。

RPZ-PowerMGRの上に別の拡張基板/HATをスタック(積み重ね)できます。付属アダプターを接続するだけなのではんだ付けは不要です。

Raspberry Pi Zero WHに装着
別の拡張基板を3段目にスタック
コントロールツール付属

Raspberry PiからRPZ-PowerMGRの設定の変更、ON/OFFスケジュールの登録、電流測定などが一括して行えるコントロールツールが付属するので、簡単に使い始めることができます。

また、I2Cの仕様を公開しているので、ご自身のプログラムから制御することもできます。

他社製品との比較

スペック

対応デバイス

40ピンコネクタを搭載したRaspberry Piシリーズに対応しています。動作確認は以下の製品で行っています。

  • Raspberry Pi 4 Model B
  • Raspberry Pi 3 Model B/B+
  • Raspberry Pi Zero W/WH
  • Raspberry Pi Zero
対応OS

2020年以降にリリースされたRaspberry Pi OSをご利用ください。それ以外のOSでも動作する可能性がありますがサポート対象外です。

仕様一覧
項目仕様
入力電圧4.75 – 5.25V
最大電流3A
消費電流 Raspberry Pi電源OFF時5uA (*1)
消費電流 Raspberry Pi電源OFF
モバイルバッテリーWake up使用時
10uA (*1)
消費電流 Raspberry Pi電源ON時10mA
I2Cアドレス0x20 / 0x22 から選択
I2Cアドレス RTC0x68
I2CスピードNormal Mode 100kbps
外部スイッチ/信号入力 (ESW)SW OFF : Hi-Z / 3.3V
SW ON : GND
RTC水晶振動子精度+/-20ppm (*2)
電源切断後RTC時刻保持期間100h (*1)

(*1) バックアップコンデンサーが充電された状態、室温での標準値
(*2) 水晶振動子の特性上、温度変化によりこれ以上のずれとなる可能性があります

購入

RPZ-PowerMGR拡張基板本体と、Raspberry Pi接続用アダプターのセットになります。

まとまった数量をご希望の方は、見積もり依頼よりご連絡ください。

セットアップ(ハードウェア)

RPZ-PowerMGR基板の取り付け

以下の写真のように、付属アダプターをRPZ-PowerMGRに取り付けます。拡張基板/HATを使わない場合、アダプターの先端4-5mmをカットすると端子がコネクターに収まります。

付属アダプターを装着したRPZ-PowerMGRを、Raspberry Piの40ピンコネクターに取り付けます。

Raspberry Pi Zeroに関してはアダプターを使わずに直接ピンヘッダーに取り付けて高さを低くすることができます。Raspberry PiとRPZ-PowerMGRの間に高さ4mmのスペーサーを挟むことを推奨しております。

基板の穴径はRPZ-PowerMGRがM3/M2.6、Raspberry PiがM2.6に対応しています。この取り付け方法の場合、mini HDMI端子は使用できません。

電源ケーブルの取り付け

RPZ-PowerMGRのUSB Type-C端子(J2)に電源用のUSBケーブルを接続します。Raspberry Pi本体の電源端子には何も接続しないで下さい。

I2Cアドレス選択スイッチ

デフォルトではI2Cアドレス0x20となります。他の拡張基板/HATとアドレスが重なる場合は、DSW1-6をONにセットすることで0x22に切り替わります。Indoor Corgi製品についてはアドレスが重なるものはないので、デフォルトで問題ありません。なお、0x22にセットした場合、コントロールツール pmgr.py を使う際に「-a」オプションを指定する必要があります。

電源ON

青スイッチ(SW2)を押すとLEDが点灯してRaspberry Piに電源が供給されて起動します。

セットアップ(ソフトウェア)

I2C有効化

基板とはI2Cで通信しますので、以下の記事を参考にI2Cを有効化して下さい。Raspberry Piの設定を開いてI2Cを有効にチェックし、再起動すればOKです。

Raspberry PiでI2Cの設定と使い方

I2Cの簡単な仕組み、Raspberry Pi(ラズパイ)で有効化と実際にI2Cデバイスを検出する手順の解説しています。I2C対応のセンサーやディスプレイ、ADコンバーターなど様々なデバイスを利用することで、Raspberry Piの可能性がさらに広がります。Raspberry Pi OS (Raspbian)インストール後は無効になっているので、こちらを参考に有効化して下さい。

config.txt

/boot/config.txtファイルをスーパーユーザーで開いて、以下の3行を追加します。

1行目がRPZ-PowerMGRからのシャットダウン要求信号のGPIO番号(デフォルト16)、2行目がRaspberry Piからのシャットダウン完了信号のGPIO番号(デフォルト26)を意味しています。他の拡張基板/HATと重なる場合は16, 17, 26, 27から自由に選択できます。

3行目はRTCの設定です。I2Cアドレスは0x68で、DS1307互換デバイスとして動作します。

dtoverlay=gpio-shutdown,gpio_pin=16
dtoverlay=gpio-poweroff,gpiopin=26
dtoverlay=i2c-rtc,ds1307

config.txtを編集したら、変更を反映させるためRaspberry Piを再起動します。

RPZ-PowerMGRの設定

次にRPZ-PowerMGRの設定を行います。コントロールツールをダウンロードして解凍します。

pmgr.pyファイルがRPZ-PowerMGRを制御するソフトウェア(Pythonスクリプト)です。使用前に、必要なdocoptパッケージをインストールしておきます。

sudo pip3 install docopt

次に、ターミナルでpmgr.pyファイルのあるディレクトリに移動し、以下を実行します。-r でシャットダウン要求信号のGPIO番号(デフォルト16)、-c でシャットダウン完了信号のGPIO番号(デフォルト26)を設定しています。config.txtで指定した番号に一致するようにして下さい。I2Cアドレス0x22を使用している場合は-aオプションを指定します。

./pmgr.py cf -r 16 -c 26
./pmgr.py cf -a -r 16 -c 26    (I2Cアドレス0x22を使用している場合)
udevルールの追加

コントロールツールに含まれている85-hwclock.rulesファイルを/etc/udev/rules.dにコピーします。Raspberry Piが起動した際にRTCの時刻が設定されるようになります。(なお、インターネットに接続されている場合は、最新のNTPサーバーの時刻に同期されます)

sudo cp 85-hwclock.rules /etc/udev/rules.d
時刻の手動設定

インターネットに接続されていない場合は、以下のコマンドを実行して手動で現在時刻を設定します。インターネットに接続されている場合はこの設定は不要です。

set-timeの後は現在時刻を指定します。以下は2020年12月20日、15時30分に設定する例です。NTPが有効だと設定できないので、一時的に無効にした後有効に戻しています。

sudo timedatectl set-ntp false
sudo timedatectl set-time "2020-12-20 15:30:00"
sudo timedatectl set-ntp true

timedatectlコマンドでLocal timeが現在時刻になっていればOKです。

timedatectl
               Local time: 日 2020-12-20 15:30:03 JST
           Universal time: 日 2020-12-20 06:30:03 UTC
                 RTC time: 日 2020-12-20 06:30:03
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

使い方、応用例

セットアップが問題なく完了していれば以下の機能が使えるようになっています。

  • 電源ONの状態で青スイッチ(SW2)を押すと自動的にシャットダウンが始まり、完了後に電源OFFします
  • Raspberry Piをシャットダウン(sudo haltコマンドやGUI操作)すると、自動的に電源OFFします
  • 電源OFFの状態で青スイッチ(SW2)を押すと電源ONされRaspberry Piが起動します
  • インターネットに接続されていない状態で電源OFFしても、次回起動時に時刻がずれなくなります

各シチュエーションのより詳細な使い方、スケジュール設定や電流測定については別の解説ページを用意しています。以下のリンクを参照して下さい。

スイッチでRaspberry Piの電源をON/OFF (RPZ-PowerMGR)

RPZ-PowerMGRを使って、スイッチでRaspberry Pi(ラズパイ)の電源ON/OFFする方法の解説です。ケーブルの抜き挿しやログインして操作しなくても電源ON/OFFできるほか、リモートやプログラムからシャットダウンした際に自動で電源OFFすることもできます。不要な時は電源を切ることで省電力化が可能です。

指定時刻にRaspberry Piの電源をON/OFF (RPZ-PowerMGR)

RPZ-PowerMGRを使って、指定時刻にRaspberry Pi(ラズパイ)の電源ON/OFFする方法の解説です。決まった時間だけ起動して消費電力を抑えることが可能で、モバイルバッテリーやソーラーシステムでの運用に最適です。

Raspberry PiでRTCを使って時刻管理 (RPZ-PowerMGR)

RTC(時計)を使って、Raspberry Pi(ラズパイ)の時刻を管理する方法の解説です。RTCを使うと、インターネットに繋がっていなくても正確な時刻で運用できます。電源OFFから起動した際に自動的に時刻を設定する方法も説明します。

Raspberry Piの消費電力測定&モバイルバッテリー稼働時間の計算 (RPZ-PowerMGR)

RPZ-PowerMGRを使って、Raspberry Pi(ラズパイ)の消費電力を測定する方法の解説です。モバイルバッテリーでの運用可能な時間を計算し、実際の運用時間と比較しました。

セーフモード

セーフモードスイッチを使うと、RPZ-PowerMGRのコンフィグ情報、スケジュールを全て初期化することができます。間違った設定などでうまく起動しなくなった場合などにお使い下さい。

  1. 電源OFF状態、もしくはRaspberry Piをシャットダウンした状態にしてください。
  2. DSW1-5をONにセットします。
  3. 白スイッチ(SW1)を押します。RPZ-PowerMGRがセーフモードで起動し、コンフィグ情報、スケジュールが初期化されます。
  4. DSW1-5をOFFに戻します。

関連資料

注意事項

  • 利用規約・免責事項および保証をご確認の上、ご利用下さい。
  • Rasbperry Pi Zeroの消費電流は100mA前後になりますが、モバイルバッテリーによっては電流が少なすぎて電源が切れる場合があります。常時通電のUSB Type-C端子を搭載しているモバイルバッテリーの利用を推奨します。

開発依頼

本製品への機能追加などのカスタマイズや、本製品を使ったシステムの開発依頼、その他ハードウェア、ソフトウェアの開発については、有償にて承っております。まずはお問い合わせよりご相談ください。

関連ページ

RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)

動作をプログラミング可能な、Raspberry Pi/Zero(ラズパイ)用ホームIoT拡張ボードです。温度、湿度、気圧、明るさセンサー、赤外線送信、受信機能を搭載。温度が上がったらエアコンをオンにする、暗くなったら照明を点灯する、外出先から家電の操作をする、気温や湿度を記録する、といった使い方が可能です。LEDにステータスを表示することもできます。

ESP-PowerMonitor (ESP-WROOM-02/WiFi搭載 IoT電圧/電流/電力測定基板)

Arduino IDEで動作を自由にプログラミング可能なIoT電力測定基板です。WiFi内蔵マイコンであるESP-WROOM-02を採用しました。流、電力センサーとディスプレイ搭載。Raspberry Piなどの消費電力の記録、スマホなどの充電電流のモニタリング、サーバーへのデータ転送、といった使い方が可能です。

Raspberry Piをスイッチでシャットダウン (LEDで完了確認)

スイッチを押すだけでRaspberry Pi(ラズパイ)をシャットダウンする方法を解説しています。また、LEDでシャットダウン完了を分かりやすく確認できるようにします。シャットダウン操作をする手間や、完了して電源を落としていいか分かりにくい問題を解決します。