PiPower - Raspberry Pi用のUPSおよびバッテリー

SunFounder PiPowerをお選びいただき、ありがとうございます。

注釈

このドキュメントは以下の言語で利用可能です。

ご希望の言語でドキュメントにアクセスするために、それぞれのリンクをクリックしてください。

_images/media1.jpg

UPSとは何か?

Raspberry Piのプロジェクトが常時電源を必要とする場合、主電源のみに依存するのは適切ではありません。地域によっては、頻繁に電源が落ちたり、サージが発生したりすることがあります。電源の変動はRaspberry Piを破損させる可能性があり、電源が途絶えると、Raspberry Piはすぐにシャットダウンします。したがって、安全にシャットダウンすることができず、SDカード上の全てのデータが失われるリスクが高まり、破壊される可能性が増加します。

そのため、無停電電源装置(UPS)の使用が推奨されます。

UPSを使用すると、メイン電源からの電源遮断が発生した場合(遮断=停電)、バッテリーや他の電源が引き継いでデバイスに電力を供給し続け、シャットダウンすることなく動作します。UPSは、非常電源として考えることが多いです。主電源が復旧した後、UPSは再充電され、次のトラブルに備えることができます。

PiPowerについて

これが、最初にPiPowerを設計した理由です。PiPowerは、Raspberry Piの第二の電源として使用できます。PiPowerにUSB-Cメイン電源アダプタを接続すると、Raspberry Piに直接電力を供給し、バッテリーを低電流で充電します。停電やUSB-Cメイン電源の切断が発生した場合、PiPowerはRaspberry Piをシームレスに電源供給できます。

PiPowerは、5V/3Aの電源供給を出力でき、様々なRaspberry Piの使用状況に対応しています。 4つの電源インジケータがあり、各インジケータは電源の25%を示し、Raspberry Piの電源を入/切するスイッチも装備しています。

警告

バッテリーを初めて入れるときや、バッテリーを取り外して再度入れるときには、正常に動作しない場合があります。このような場合、Type Cケーブルを充電ポートに差し込んで、保護回路をオフにする必要があります。その後、バッテリーは正常に使用できます。

PiPower Proについて

PiPower Proは、PiPowerを基盤に、ESP32 S2モジュールを統合してモジュールのバッテリー電圧や電流状態、入出力電圧、電流をリアルタイムで監視できるようにしました。また、充電電流のインテリジェントな調整や、入力電源とバッテリー電源の間でのシームレスな切り替えを特長としており、連続した電源出力が確保されます。

Home Assistantと統合することで、ユーザーはすべてのパラメータデータに簡単にアクセスし、スマートデバイスのシナリオの自動化を設定できます。

さらに、PiPower Proは、サブデバイスのオン/オフ状態を制御するための外部IOインターフェースを提供しています。オープンソースのESPHome設定を利用して、ユーザーはIO機能をカスタマイズし、さらに多くのセンサーをシステムに追加することができます。

製品を使用中に何か質問があれば、service@sunfounder.comまでメールをお送りください。できるだけ早くご返信いたします。

部品リスト

_images/media3.png

PiPowerの組み立て方

パッケージ内のコンポーネントに馴染んだ後、PiPowerの組み立てを開始します。

次のステップでは、特にバッテリーの取り付け位置や透明アクリル裏蓋に注意しなければならない詳細が多くあります。

  1. 裏側に粘着テープを貼り付けます。

    _images/assemble1.png
  2. 次に、バッテリーを貼り付けて接続します。

    _images/assemble2.png
  3. バッテリーのワイヤーをケーブルタイで束ねます。

    _images/assemble3.png
  4. 4組のスペーサーを取り付けます。

    _images/assemble4.png
  5. Raspberry Piを上部に取り付けます。

    _images/assemble5.png
  6. 下部に保護プレートを固定します。

    _images/assemble6.png
  7. USB-Cケーブルを接続して、Raspberry Piに電力を供給します。

    _images/assemble7.png
  8. PiPowerを初めて使用する際や、バッテリーを再度接続する際は、USB-Cケーブルを充電ポートに接続して起動する必要があります。

    _images/assemble8.png

    警告

    バッテリーを初めて取り付ける時や、取り外して再度取り付ける時に、正常に動作しない場合があります。この場合、Type Cケーブルを充電ポートに接続して、保護回路をオフにする必要があります。その後、バッテリーは正常に使用できます。

機能一覧

_images/media2.png
  • パススルー充電

  • シャットダウン時の電流:< 0.5mA

  • 入力:

    • USB Type-C, 5V/3A

    • バッテリー入力

  • 出力:

    • USB Type-A, 5V/3A

    • 2x4P P2.54 ピンヘッダー

  • 充電電力:5V/2A

  • 搭載バッテリー

    • タイプ: 3.7V リチウムイオンバッテリー x 2

    • 容量: 2000mAh

    • コネクタ: PH2.0, 3P

  • 過放電保護電圧:6.0V

  • 過充電保護電圧:8.4V

  • サイズ: 90mm x 60mm x 24.9mm

  • 基板上のインジケータ

    • 1 x 充電インジケータ (CHG)

    • 1 x 電源インジケータ (PWR)

    • 4 x バッテリーインジケータ (D4 ~ D7)

  • 基板上の電源スイッチ

  • 基板上のMCU ESP32 S2

詳細説明

STAT LED

ESP32 S2のステータスを示すインジケータです。

  • 消灯: ESP32 S2の電源がオフ。

  • ゆっくり点滅: ESP32 S2の電源はオンですが、Wi-Fiは接続されていません。

  • 点灯: ESP32 S2の電源がオンで、Wi-Fiが接続されています。

注釈

「ESP32 S2がオフ」という状態は、USB Type Cの電源が接続されている状況を指します。この状態では、ESP32 S2は「電源がオフ」という技術的な意味でオフですが、完全にはシャットダウンしていません。電源LEDはESP32 S2の制御下で点灯し、一部の機能が稼働している場合があります。USB Type Cの電源を取り外すと、ESP32 S2は完全にシャットダウンします。

電源経路の切り替え

PiPower Proは、最大出力保護を確保するために、自動的に電源経路を切り替える機能を統合しています。

  1. 外部電源が接続されている場合、5Vの出力は外部のUSB Type Cを介して直接供給され、スイッチでオフにすることができます。外部の電源は、入力電圧が4.6Vを超えることを確認しながら、最大電流でバッテリーを充電します。

  2. 電源が切断される瞬間、システムはシームレスにバッテリー電源への出力に切り替わり、電源の中断中もシステムが正常に動作することを確保します。

  3. 外部電源が4.6V未満の場合、システムは外部デバイスの電力喪失を防ぐためにバッテリーバックアップ電源に自動的に切り替わります。

出力電源のロジック

スイッチ

外部電源

出力ステータス

オン

接続中

外部電源

オン

接続解除または4.6V以下の電圧

バッテリー電源

オフ

接続中

オフ

オフ

接続解除または4.6V以下の電圧

オフ

充電電力

電源がオンの状態では、入力電圧に基づいて充電電流が自動的に調整されます。

充電電流のロジック

スイッチ

充電電流

オン

入力電圧に基づいて調整

オフ

2A

  1. スイッチが「オフ」の状態の場合、PiPower Proは外部に電源を供給せず、充電電流は最大2Aに達し、迅速に充電することができます。0%から100%までの充電時間は約2時間10分です。

  2. 「オン」の状態では、PiPower Proが外部に電源を供給する必要があり、外部のUSBもバッテリーに電源を供給する必要があります。USBの電源供給の電圧が安定していることを確保するために、入力電圧に基づいて充電電流が調整され、電圧が4.6V以上に保たれるようにします。

過放電保護

シングルバッテリーの電圧が3V以下になると、バッテリー保護が作動し、バッテリーはこれ以上放電されません。

バッテリーが取り外されると、オンボードの過放電保護回路のメカニズムにより、電圧は低すぎると見なされ、保護回路が作動します。PiPowerにバッテリーを再度接続すると、バッテリーは正常に動作しません。この場合、Type Cケーブルを充電ポートに差し込むことで保護回路をオフにし、バッテリーを通常通り使用できます。

過充電保護

バッテリーの合計電圧が8.4Vに達すると、充電は終了します。

充電バランス

2つのバッテリーの電圧が等しくない場合、2つのバッテリーの充電電流は自動的に調整され、2つのバッテリーがバランスを取るようになります。

シングルバッテリーが4.2Vを超えると、電圧分配抵抗チャネルが導通し、バッテリーの充電電流が減少または放電されます。

バッテリー

この製品には、2つの3.7V 18650リチウムイオンバッテリーがシリーズ接続されており、XH2.54 3Pコネクタを備え、定格容量は2000mAhです。

  • 成分: リチウムイオン (Li-ion)

  • 容量: 2000mAh、14.8Wh

  • 重量: 90.8g

  • セル: 2

  • コネクタ: XH2.54 3P

  • 過充電保護電圧: セルあたり4.2V

  • 過放電保護: 3V

外部バッテリー

_images/ex_btr0.png

ねじ端子を使用して、自分のバッテリーを接続できます。デバイスは、3.7Vのリチウムイオンまたはリチウムポリマーバッテリー2つのみをサポートしています。バッテリーには保護ボードが付いていることが望ましく、15W以上の出力が確保されることが推奨されます。

警告

同時に外部バッテリーと付属のバッテリーを接続しないでください!

_images/ex_btr.png

温度

出力電力が最大公称5V/3Aに達すると、DC-DC降圧チップU1の温度は約70-80℃に上昇しますので、火傷を防ぐために触れないよう注意し、通気を確保してください。温度がDC-DCの保護温度75℃に達すると、DC-DCは過熱損傷を防ぐためにシャットダウンします。

_images/temp_c.png

D8 LED

D8 LEDは、IP2326充電チップによって提供される充電ステータスインジケーターです。当初、このライトは、充電状態とバッテリーの異常を示すために設計されました。しかし、充電出力で電流の流れがあるかどうかのみを検出できます。この出力電流は、DC-DCコンバータを介して5Vを出力するためにルーティングできます。簡単に言えば、入力電力が不足している場合、バッテリーが電源を補うと、LEDは点灯し続け、誤解を招く可能性があります。ただし、LEDはバッテリーが正常に機能しているかどうかを示すことができるため、残されました(バッテリーが挿入されていない場合、LEDが点滅します)。

バッテリーインジケータ

バッテリーインジケータと電圧との関係は以下の通りです:

  • 4つのLEDすべて点灯: 電圧 > 7.7V

  • 3つのLED点灯: 電圧 > 7.2V

  • 2つのLED点灯: 電圧 > 6.7V

  • 1つのLED点灯: 電圧 > 6.4V

  • 4つのLEDすべて消灯: 電圧 < 6V、この時、バッテリーを充電する必要があります。

使い始め方

PiPower ProはHome Assistantに統合できます。 これを行うには、HassOSがインストールされたRaspberry Piが必要です。 セットアップのための下記のリンクをフォローしてください。

HassOSのインストール

このセクションでは、Raspberry PiにHome Assistantオペレーティングシステムをインストールする手順を案内します。 Raspberry Piのシステムにある既存の内容がすべて失われることに注意してください。 手順を進める前にデータのバックアップが重要です。

ステップ1

Raspberry Piは、Mac OS、Ubuntu 18.04、およびWindowsで動作するグラフィカルなSDカードライティングツールを開発しています。これは、イメージをダウンロードしてSDカードに自動でインストールするため、多くのユーザーにとって最も簡単な選択です。

ダウンロードページ https://www.raspberrypi.org/software/ にアクセスします。ご利用のオペレーティングシステムに対応する Raspberry Pi Imager のリンクをクリックし、ダウンロードが完了したらインストーラーを起動します。

_images/image11.png

ステップ2

インストーラーを起動すると、オペレーティングシステムが実行をブロックしようとする場合があります。例として、Windowsでは次のようなメッセージが表示される場合があります。

このポップアップが表示された場合、 More info をクリックしてから Run anyway をクリックし、Raspberry Pi Imagerのインストール手順に従います。

_images/image12.png

ステップ3

SDカードをコンピューターやラップトップのSDカードスロットに挿入します。

ステップ4

Raspberry Pi Imagerで、インストールしたいOSとインストールするSDカードを選択します。

_images/sp230627_181014.png _images/sp230627_181052.png _images/sp230627_181112.png _images/sp230627_181306.png

ステップ5

使用するSDカードを選択します。

_images/image14.png

ステップ6

WRITE ボタンをクリックします。

_images/sp230627_181444.png

ステップ7

SDカードにファイルがある場合は、それらのファイルをバックアップして永久に失うことを防ぎます。バックアップするファイルがない場合は、 Yes をクリックします。

_images/image18.png

ステップ8

しばらく待った後、書き込みが完了したことを示すウィンドウが表示されます。

_images/sp230628_161104.png

ステップ9

次に、PironmanのWiFiを設定します。

注釈

有線接続を使用してネットワークにアクセスする予定の場合、このステップはスキップできます。

ファイルエクスプローラーを開き、 Hassio-boot という名前のSDカードにアクセスします。

_images/sp230628_095957.png

ルートパーティションに CONFIG という新しいフォルダを作成します。

_images/sp230628_100453.png

CONFIG フォルダ内に network というフォルダを作成します。

_images/sp230628_113426.png

network フォルダ内に、拡張子なしで my-network という新しいテキストファイルを作成します。

_images/sp230628_113506.png

my-network ファイルに次のテキストを書き込み、 MY_SSIDMY_WLAN_SECRET_KEY をご自身のネットワークのSSIDとパスワードに置き換えます:

[connection]
id=my-network
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=MY_SSID
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MY_WLAN_SECRET_KEY

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

ファイルを保存して閉じます。

ステップ10

microSDカードをコンピュータから取り出し、Raspberry Piに挿入します。その後、電源(および必要な場合はイーサネットケーブル)を接続します。

コンピュータに戻って homeassistant.local:8123 に移動します。 それが機能しない場合は、ルーターでIPアドレスを確認できます。

Home Assistantを初めて使用する際、初期設定を実行するためにしばらく待つ必要がある場合があります。

_images/sp230628_141749.png

ステップ11

次に、最初のアカウントの作成を促されます。

_images/sp230627_135949.png

システムは、検出されたデバイスのインストールを促しますが、今のところ、FINISHをクリックしてこれをスキップできます。

_images/sp230627_141016.png

これで、Home Assistantのセットアップが完了しました。

注釈

すでにHome Assistantをお持ちの場合、この部分は無視してください。

Home AssistantでのPiPower-Proカードの設定:

Home AssistantにPiPower Proを追加する

ステップ1

バッテリーを取り付けます。

ステップ2

全てのバッテリーインジケータが点灯するまでUSB-C充電器を接続します(これはバッテリーが完全に充電されていることを意味します)。 電源ボタンを押して電源を入れます。

ステップ3

PiPower Proのネットワークを設定します。 携帯電話(または他のデバイス)でWi-Fiを検索し、 PiPower Pro Fallback Hotspot に接続します。パスワードは 12345678 です。

_images/pipw_host.jpg

ステップ4

接続が完了すると、携帯電話に設定ページが表示されます。ここでPiPowerのWi-Fi設定を完了します。

_images/pipw_wifi.jpg

設定ページが自動的に表示されない場合は、ブラウザを開いて pipower-pro.local を訪問してください。

ステップ5

Home Assistantページを開き、左のサイドバーから設定を選択し、デバイスとサービスを選択します。

_images/sp230803_162403.png

ステップ6

右下の + ADD INTEGRATION をクリックします。

_images/sp230803_162631.png

ステップ7

ESPHome を選択します。

_images/sp230803_162801.png

ステップ8

pipower-pro.local を入力し、送信します。

_images/sp230803_162936.png

ステップ9

エリアを選択し、設定を完了します。

_images/sp230803_165117.png

ステップ10

PiPower Proを正常に追加しました。ダッシュボード上で必要なPiPower Proの設定を追加することができます。

ダッシュボードの設定

  1. Home Assistantのページで、左のサイドバーにある Overview をクリックし、コントロールページに移動します。

    _images/sp230803_182537.png
  2. メニューボタンをクリックして、 Edit Dashboard を選択します。

    _images/sp230803_182632.png
  3. 右下にあるボタンをクリックしてカードを追加し、オプションから希望のカードを選択し、必要に応じて設定を行い、保存します。

    _images/sp230803_182835.png

コードエディターでカードを追加

  1. カードを追加した後、カードのyamlファイルを手動で編集できます。カード編集ページで SHOW CODE EDITOR をクリックしてください。

    _images/sp230803_183128.png
  2. その後、yamlファイルを直接変更してください。私たちはいくつかの便利なPiPower Proの設定を提供しています。以下のyamlコードをそのままボックスにコピーしてください。

    _images/sp230803_183156.png _images/sp230803_183626.png

簡単な概要

_images/ha_btrov.png
type: vertical-stack
cards:
  - type: entities
    entities:
      - entity: switch.pipower_pro_output_switch
      - entity: sensor.pipower_pro_output_source
      - entity: binary_sensor.pipower_pro_external_power
      - entity: sensor.pipower_pro_battery_voltage
      - entity: sensor.pipower_pro_output_voltage
    title: PiPower Pro
    show_header_toggle: true
    state_color: true
  - square: true
    type: grid
    cards:
      - type: gauge
        entity: sensor.pipower_pro_battery_current
        min: -2
        max: 2
        severity:
        green: 0
        yellow: 2
        red: 2
        needle: true
        name: Battery Current
      - type: gauge
        entity: sensor.pipower_pro_output_current
        min: 0
        max: 3
        severity:
        green: 0
        yellow: 2
        red: 2.5
        needle: true
        name: Output Current
      - type: gauge
        entity: sensor.pipower_pro_battery_level
        name: Battery Level
        min: 0
        max: 100
        severity:
        green: 25
        yellow: 10
        red: 0
        needle: true
    columns: 3

バッテリー情報

_images/ha_btrms.png
show_name: false
show_icon: true
show_state: true
type: glance
entities:
  - entity: sensor.pipower_pro_battery_voltage
  - entity: sensor.pipower_pro_battery_current
  - entity: sensor.pipower_pro_battery_capacity
  - entity: binary_sensor.pipower_pro_is_charging
  - entity: sensor.pipower_pro_battery_power
  - entity: sensor.pipower_pro_battery_level
title: Battery
columns: 3

出力情報

_images/ha_opms.png
show_name: false
show_icon: true
show_state: true
type: glance
entities:
  - entity: sensor.pipower_pro_output_voltage
  - entity: sensor.pipower_pro_output_current
  - entity: sensor.pipower_pro_output_power
  - entity: sensor.pipower_pro_output_energy
title: Output

バッテリーチャート

_images/ha_btrcht.png
type: vertical-stack
cards:
  - type: markdown
    content: '## Battery'
  - square: true
    columns: 3
    type: grid
    cards:
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_battery_current
        detail: 2
        name: Current
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_battery_voltage
        detail: 2
        name: Voltage
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_battery_power
        detail: 2
        name: Power

出力チャート

_images/ha_opcht.png
type: vertical-stack
cards:
  - type: markdown
    content: '## Output'
  - square: true
    columns: 3
    type: grid
    cards:
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_output_voltage
        detail: 2
        name: Voltage
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_output_current
        detail: 2
        name: Current
      - hours_to_show: 12
        graph: line
        type: sensor
        entity: sensor.pipower_pro_output_power
        detail: 2
        name: Power

設定

_images/ha_setting.png
type: entities
entities:
  - entity: sensor.pipower_pro_input_voltage
  - entity: sensor.pipower_pro_output_source
  - entity: switch.pipower_pro_external_output
  - entity: switch.pipower_pro_battery_output
  - entity: switch.pipower_pro_esp32_power
  - entity: binary_sensor.pipower_pro_sub_device_power_state
  - entity: switch.pipower_pro_sub_device_power
  - entity: sensor.pipower_pro_version
  - entity: sensor.pipower_pro_battery_capacity_algorithm
  - entity: button.pipower_pro_factory_reset
title: Settings
show_header_toggle: false
state_color: true

PiPower Pro エンティティ

Home Assistantに詳しく、カードのカスタマイズを自分で行いたい場合、使用できるPiPower Proエンティティのリストは以下の通りです。

基本情報
  • binary_sensor.pipower_pro_battery_low - バッテリー低下状態 (bool)

  • binary_sensor.pipower_pro_is_charging - 充電状態 (V)

スイッチ
  • switch.pipower_pro_battery_output - バッテリー出力スイッチ (bool)

  • switch.pipower_pro_esp32_power - ESP32 電源スイッチ (bool)

  • switch.pipower_pro_external_output - 外部出力スイッチ (bool)

出力
  • sensor.pipower_pro_output_voltage - 出力電圧 (V)

  • sensor.pipower_pro_output_current - 出力電流 (A)

  • sensor.pipower_pro_output_power - 出力電力 (W)

  • sensor.pipower_pro_output_energy - 出力エネルギー (Wh) 全出力エネルギーの計算に使用される。サービス経由でリセット可能。詳細はすべてのサービスを参照

バッテリー
  • sensor.pipower_pro_battery_voltage - バッテリー電圧 (V)

  • sensor.pipower_pro_battery_current - バッテリー電流、充電の場合は正、放電の場合は負 (A)

  • sensor.pipower_pro_battery_power - バッテリー出力電力 (W)

  • sensor.pipower_pro_battery_capacity - バッテリー容量 (mAh)

  • sensor.pipower_pro_battery_level - バッテリーレベル (%)

入力
  • sensor.pipower_pro_input_voltage - 外部入力電圧 (V)

サブデバイス制御
  • switch.pipower_pro_sub_device_power - サブデバイス電源制御信号 (bool)

  • binary_sensor.pipower_pro_sub_device_power_state - サブデバイス電源状態 (bool)

その他
  • sensor.pipower_pro_battery_capacity_algorithm - バッテリー容量アルゴリズム (String)

  • sensor.pipower_pro_power_source - 現在の出力ソース: バッテリー/外部 (String)

  • sensor.pipower_pro_battery_factory_capacity - バッテリー工場名義容量 (mAh)

  • binary_sensor.pipower_pro_external_power - 外部入力状態 (bool)

  • button.pipower_pro_factory_reset - 工場設定リセットボタン (bool)

  • update.pipower_pro_firmware - ファームウェア更新

  • switch.pipower_pro_power_switch - 出力スイッチ (bool)

  • sensor.pipower_pro_version - PiPower Proバージョン (String)

すべてのサービス
  • set_battery_factory_capacity - バッテリー工場名義容量の変更 (capacity: int, mAh)、デフォルト2000

  • enable_coulomb_count_beta - クーロン計算アルゴリズムの有効化 (enable: bool)、デフォルトはfalse

  • reset_capacity - 現在の容量を工場名義容量にリセット

  • reset_output_energy - 出力エネルギーを0にリセット

  • set_edv2 - 放電終了電圧2の設定、放電キャリブレーション2のための電圧、デフォルト6.8. クーロンカウントの詳細を参照

  • set_edv1 - 放電終了電圧1の設定、放電キャリブレーション1のための電圧、デフォルト6.5. クーロンカウントの詳細を参照

  • set_edv0 - 放電終了電圧0の設定、放電キャリブレーション0のための電圧、デフォルト6.2. クーロンカウントの詳細を参照

  • set_rcv - リセットキャリブレーションステータスのための電圧の設定、デフォルト8.0. クーロンカウントの詳細を参照

  • simulate_low_power - 低電力トリガーシナリオのテストのための低電力シミュレーション

高度な使用方法:

安全シャットダウンの設定

PiPower Proには、接続デバイスの電源ステータス(以下、サブデバイスと称します)を監視するための2つのピンが標準で設定されています。これにより、遠隔での電源オン、オフ、そしてバッテリーが低くなった際の自動安全シャットダウンが可能となります。

注釈

HassOSを実行しているホストがPiPower Proのサブデバイスとして設定されている場合、そのホストがシャットダウンすると機能が失われ、遠隔電源オンは不可能となります。

  • ピン42およびセンサーエンティティ binary_sensor.pipower_pro_sub_device_power_state はデバイスの現在の状態を検知します。

  • ピン41およびエンティティ switch.pipower_pro_sub_device_power はサブデバイスの電源を制御します。

例として、PiPower ProをRaspberry PiのUPS電源として利用し、その状態を監視し、外部電源が途絶え、バッテリー残量が低下した場合に安全にシャットダウンさせる方法を見ていきましょう。

ステップ1

Raspberry Piの設定を行います。

Raspberry Piの2つのピンをそれぞれ Power Status Signal PinShutdown Signal Pin に設定します。これはdevicetreeを通じて行います。

Raspberry PiシステムのSDカードをPCに挿入し、bootパーティションのルートディレクトリで config.txt を探します。

_images/sp230804_143344.png

このファイルを開き、 [all] の下に次の2行を追加します。

dtoverlay=gpio-poweroff,gpiopin=17
dtoverlay=gpio-shutdown,gpio_pin=18
  • gpio-poweroff はRaspberry Piの電源のオン/オフ状態を示します。正しく設定すると、Raspberry Piは電源がオンの際にこのピンをハイにし、オフの際にはローにします。

  • gpio-shutdown はRaspberry Piのシャットダウンを制御する信号です。正しく設定すると、このピンをローにすることでRaspberry Piがシャットダウンを開始します。

ステップ2

  • PiPower Proのピン42をRaspberry Piの gpio-poweroff ピン(こちらではピン17)に接続します。

  • PiPower Proのピン41をRaspberry Piの gpio-shutdown ピン(こちらではピン18)に接続します。

ステップ3

上記の2つの信号が正常に動作するか確認します。

ダッシュボードに以下の2つのエンティティを追加します:

  • binary_sensor.pipower_pro_sub_device_power_state

  • switch.pipower_pro_sub_device_power

Settings カードを追加する際(カードの追加方法は コードエディターでカードを追加 を参照)、これらの2つのエンティティがそれぞれ PiPower-Pro Sub Device Power State および PiPower-Pro Sub Device Power として表示されます。

_images/sp230804_151521.png

前者を使用してRaspberry Piの動作状態を確認し、後者を使用してRaspberry Piの電源をオフにすることができます。

注釈

PiPower-Pro サブデバイス電源 はRaspberry Piをオフにするだけです。再度オンにするためには、Raspberry Piに電源を供給する必要があります(例: PiPower Pro カードのメインスイッチをオンにする)。

ステップ 4

次に、PiPower Pro が Raspberry Pi を安全にシャットダウンできるように自動化を設定します:

  1. Home Assistant の設定ページを開き、左側のサイドバーの「Settings」をクリックし、「Automations」を選択します。

    _images/sp230804_170032.png
  2. 新しい自動化を作成します。

    _images/sp230804_170118.png _images/sp230804_170148.png
  3. 「Edit in YAML」をクリックします。

    _images/sp230804_170218.png
  4. 既存のコードを以下のコードに置き換えます。

    alias: Safe shutdown RPi
    description: Turn off Raspberry Pi if no external power plug in and battery low
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.pipower_pro_external_power
        from: "on"
        to: "off"
      - platform: numeric_state
        entity_id: sensor.pipower_pro_a03846_battery_level
        below: 25
    condition:
      - condition: and
        conditions:
          - condition: state
            entity_id: binary_sensor.pipower_pro_a03846_external_power
            state: "off"
      - condition: and
        conditions:
          - condition: state
            entity_id: switch.pipower_pro_sub_device_power
            state: "on"
    action:
      - type: turn_off
        device_id: a0ee4e356c85c4f69f765ed72baad129
        entity_id: switch.pipower_pro_sub_device_power
        domain: switch
    mode: single
    
  5. 「Save」をクリックします。

    _images/sp230804_170504.png
  6. 「rename」をクリックします。

    _images/sp230804_170527.png
  7. 1つ前のレベルに戻ります。新しく設定された自動化が表示されるはずです。

    _images/sp230804_170710.png

注釈

さらにいくつかの自動化を作成する必要があります。それらを完了するために前のステップを参照してください。

電力を節約

alias: Save Power
description: Turn off if raspberry pi power off
trigger:
  - platform: state
    entity_id:
      - binary_sensor.pipower_pro_sub_device_power_state
    from: "on"
    to: "off"
condition:
  - condition: state
    entity_id: switch.pipower_pro_sub_device_power
    state: "off"
action:
  - delay:
    hours: 0
    minutes: 0
    seconds: 2
    milliseconds: 0
  - type: turn_off
    device_id: a0ee4e356c85c4f69f765ed72baad129
    entity_id: switch.pipower_pro_a03846_power_switch
    domain: switch
  - type: turn_off
    device_id: a0ee4e356c85c4f69f765ed72baad129
    entity_id: switch.pipower_pro_a03846_esp32_power
    domain: switch
mode: single

RPi 電源オフ同期

alias: Sync Power Off RPi
description: Power Off Raspberry Pi is Switch Off
trigger:
  - platform: state
    entity_id:
      - switch.pipower_pro_a03846_power_switch
    from: "on"
    to: "off"
condition: []
action:
  - type: turn_off
    device_id: a0ee4e356c85c4f69f765ed72baad129
    entity_id: switch.pipower_pro_sub_device_power
    domain: switch
mode: single

RPi 電源オン同期

alias: Sync Power On RPi
description: Power On Raspberry Pi is Switch On
trigger:
  - platform: state
    entity_id:
      - switch.pipower_pro_a03846_power_switch
    from: "off"
    to: "on"
condition: []
action:
  - type: turn_on
    device_id: a0ee4e356c85c4f69f765ed72baad129
    entity_id: switch.pipower_pro_sub_device_power
    domain: switch
mode: single

ステップ 5

低電力状態のシミュレーションを使用してテストをトリガーします:

  1. Developer Tools の SERVICES インターフェースを開きます。

    _images/sp230804_171500.png
  2. ESPHome: pipower_pro_simulate_low_power を見つけて有効にし、「Call Service」ボタンをクリックします。

    _images/sp230804_171721.png

PiPower のバッテリーライトが消え、概要でバッテリーレベルが 10% に低下するのを確認できます。

Raspberry Pi はシャットダウンし、シャットダウンが完了すると 2 秒後に PiPower Pro の電源が切れ、PWR ライトが消えます。

クーロンカウンタ(ベータ版)

クーロンカウンタのアルゴリズムはバッテリー容量の計算の精度を向上させることができますが、現在はベータ段階にあり、大きな誤差が生じる可能性があります。十分な注意を払って使用してください。

クーロンカウンタを有効にする

  1. Home Assistantのページに移動し、左のサイドバーで「Developer Tools」をクリックします。

  2. Developer Toolsのページで、「Services」タブを選択します。

  3. サービスのリストから、 ESPHome: pipower_pro_enable_coulomb_count_beta を選択します。

  4. enable_coulomb_count_beta のスイッチをオンにします。

  5. 下の「Call Service」ボタンをクリックします。

  6. エンティティ sensor.pipower_pro_battery_capacity_algorithm で現在選択されているバッテリー容量のアルゴリズムを確認できます。

アルゴリズム

クーロンカウンタのアルゴリズムは、毎秒バッテリーの電流と電圧の測定を積分してエネルギーを計算します。

Capacity += Voltage * Current

マッチング

この積分によって計算される容量は、現在の時点からの充放電エネルギーのみです。実際のバッテリー容量と関連付けるためのマッチングプロセスが必要です。ここでのマッチング方法はシンプルです。PiPower Proのデフォルトのバッテリー容量はバッテリーの名目容量、すなわち2000mAhです。実際のバッテリー容量はこの値よりも小さいでしょう。バッテリーが充電される限り、容量は最大2000mAh( set_battery_factory_capacity のサービスを使用して変更可能)に設定されるため、バッテリーが完全に充電されたとき、容量値は実際のバッテリー容量の2000mAhと一致し、積分計算値も実際のバッテリー容量値と一致します。

自動キャリブレーション

積分は誤差を蓄積する可能性があり、バッテリーが時間とともに使用されるとバッテリー容量は減少し、名目2000mAh容量に達しないかもしれません。したがって、バッテリー容量をキャリブレートするためのいくつかのキャリブレーション方法を使用する必要があります。

ここでは、補償放電終了電圧(CEDV)キャリブレーション方法を使用します。CEDVキャリブレーション方法の原理は、放電終了時の電圧が比較的正確であり、この時の電圧曲線も最も急であることです。この電圧をキャリブレーションポイントとして使用するのは適切です。したがって、3つのEDVポイントを設定します:edv2(7%)、edv1(3%)、およびedv0(0%)。

これら3つのキャリブレーション電圧を設定した後、バッテリーがこれら3つのポイントに放電されたとき、PiPower Proはバッテリーをキャリブレートします: MaxCapacity = MaxCapacity - Capacity + MaxCapacity * 7% 。電圧の変動により同じポイントでの無制限のキャリブレーションを避けるため、充電がRCV(Reset Calibration Voltage、デフォルト8.0V)に達する前にキャリブレーションは一度に制限されます。edv2、edv1、edv0、およびrcvはServiceサービスで設定できます。詳細は PiPower Pro エンティティ を参照してください。

インジケータ

クーロンカウンタアルゴリズムが有効になると、バッテリーインジケータもクーロンカウンタモードに切り替わります。ただし、バッテリーレベルの読み取りが正しくない、またはバッテリーレベルがリセットされる可能性がわずかにあります。

バッテリーインジケータと電力との関係は次のとおりです:

  • 4つのLEDすべてが点灯:75%

  • 3つのLEDが点灯:50%

  • 2つのLEDが点灯:25%

  • 1つのLEDが点灯:10%

  • 4つのLEDすべてが消灯:0%、バッテリーの充電が必要です。

カスタム開発

PiPower Proの基本機能がご自身のニーズに十分でない場合、PiPower Pro上でカスタム開発を行うことができます。

PiPower Proのすべてのソフトウェアはオープンソースです。以下は、カスタム開発のための基本的なチュートリアルと準備です。

  1. Home Assistantの開発者モードを開く。
    1. Home Assistantの管理ページを開きます。

    2. 左下の「Configuration」を選択します。

  2. ESPHomeをインストール。
    1. Home Assistantの管理ページを開きます。

    2. 左下の「Configuration」を選択します。

    3. 「Add-ons」を選択します。

    4. 「Add」ボタンをクリックします。

    5. "esphome"を検索します。

    6. 「Install」をクリックします。

    7. インストール後、「Start」をクリックします。

    8. 「Add to Sidebar」を選択します。

  3. 新しいデバイスを作成。
    1. サイドバーの「ESPhome」をクリックし、ESPHome管理ページに入ります。

    2. 「New Device」を選択します。

    3. デバイス名を入力します、例:"PiPower Pro"。

    4. 初回設定では、Wi-Fiのアカウントとパスワードも入力する必要があります。

    5. 「ESP32 S2」を選択します。

    6. 確認してインストールをスキップします。

  4. 新しいデバイスを設定。
    1. 作成したばかりのデバイスを選択し、「Edit」をクリックしてYAML編集ページに入ります。

    2. 下部にPiPower Proのテンプレートを追加します:

      packages:
        remote_package: github://sunfounder/pipower-pro/pipower-pro-template.yaml@main
      
    3. 右上の「Install」をクリックして、PiPower Proにインストールします。

複数のPiPower Proユニット

もし同じHome Assistant環境内で複数のPiPower Proユニットを使用する場合、YAMLの設定を変更する必要があります。 "esphome"の下に name_add_mac_suffix: true を追加してください。

esphome:
  name: pipower-pro
  friendly_name: PiPower-Pro
  name_add_mac_suffix: true

IO拡張

J4は拡張用に使用されます。このIOはESP32 S2から提供されています。

IO拡張

機能

ピン

ピン

機能

5V

5V

3V3

3V3

ADC,Touch,GPIO8

8

GND

Ground

ADC,Touch,GPIO9

9

10

GPIO10,Touch,ADC

ADC,DAC,GPIO18

18

36

GPIO36

GPIO37

37

38

GPIO38

GPIO39

39

40

GPIO40

GPIO41

41

42

GPIO42

FAQ

PiPower Proが動作しないのはなぜですか?

初めてバッテリーを入れるときや、バッテリーを外して再度取り付けるとき、 バッテリーが正常に動作しない場合があります。

これは、バッテリーが取り外されたとき、 オンボードの過放電保護回路のメカニズムにより、 電圧が低すぎると判断され、保護回路が作動するためです。

この時、 Type C ケーブルを充電ポートに差し込み、保護回路をリリースする必要があります。 そうすれば、バッテリーは正常に使用できます。

PiPower Proはどのシングルボードコンピューターで使用できますか?

PiPower Proと互換性のあるシングルボードコンピューターは以下に示されています。

互換性リスト

注釈

機能的に互換性があるとは、PiPower Proで正常に電源供給できることを意味します。