Power Management HAT (B)

来自Waveshare Wiki
跳转至: 导航搜索
Power Management HAT
Power Management HAT(B)
{{{name2}}}
{{{name3}}}
板载接口
RPi USB UART GPIO


说明

产品概述

Power Management HAT(B)是一款树莓派电源管理控制板,可以为树莓派提供一套极为强大的电源管理,如定时开关机,测量工作电压电流等功能都不在话下,并且具有快速负载瞬态响应功能,可以多个电源中快速切换。

特点

  • 板载MCU(RP2040),性能强悍,上手轻松。
  • 板载RTC时钟芯片(PCF85063),可提供精准时间控制。
  • 板载升降压DC-DC芯片(MP28167-A),可提供快速负载瞬态响应。
  • 板载锂电池接口,提供电源防反接,防倒灌机制,充分保证电路的安全。
  • 板载RP2040引脚接口,兼容Raspberry Pi Pico 标准接口,可搭载PICO拓展板。
  • 板载自定义按键,可作为电源键使用,实现树莓派的开机,软件关机,强制关机。
  • 可对输入电源电压进行检测,对工作电流进行检测,可编程即时切断电源以确保锂电池的工作寿命。

主要参数

  • 主控芯片:RP2040
  • 通信接口:UART + GPIO
  • 下载接口:USB + SWD(Debug)
  • 通信波特率:默认115200bps (可程序设置其他波特率)
  • 供电方式:USB接口 或 PH2.0接口
  • USB接口电压:5V
  • PH2.0接口电压:3.3-4.2V(3.7V锂电池)
  • 内置电路:电池防反接电路、防倒灌电路、电流与电压检测电路
  • 产品尺寸:56.5mm x 65mm
  • 固定孔直径:3.0mm

硬件连接

RP2040 GPIO 描述
GPIO0 UART0_TX引脚,连接到树莓派D15引脚
GPIO1 UART0_RX引脚,连接到树莓派D14引脚
GPIO6 I2C1_SDA引脚,连接到所有I2C设备的SDA引脚
GPIO7 I2C1_SCL引脚,连接到所有I2C设备的SCL引脚
GPIO19 用户按键引脚,通常用来控制电源开关
GPIO21 RTC中断引脚,当RTC闹钟触发时,会被RTC芯片拉低
GPIO22 树莓派软关机引脚,连接到树莓派D20引脚
GPIO23 树莓派运行引脚,连接到树莓派D21引脚
GPIO24 电源控制引脚,当其拉低时,电源切断,反之,电源接通
GPIO25 状态LED引脚,用于展示当前运行状态
GPIO29 输入电压采集硬件,此处电压约为1/10输入电压

产品使用

使用前须知

锂电池使用注意事项

  • 锂聚合物和锂离子电池很不稳定。如果充电或使用不当,可能会导致火灾,人身伤害和财产损失。
  • 对电池组充电和放电时,切勿极性连接错误。请勿选用其他劣质的充电器或充电板对锂电池进行充电。
  • 请勿混用和使用旧电池和新电池,避免使用其他品牌的电池。
  • 如需另购锂电池产品,须确保电池参数与锂电池扩展板兼容,推荐选择正规的电池厂家,并需要自行老化测试确保锂电池能够稳定安全工作。
  • 锂电池具有循环寿命,请在达到使用寿命或使用两年时(以先到者为准),用新电池更换旧电池。
  • 请妥善放置电池类产品,远离易燃易爆类物品,远离儿童,避免因保管不慎,引发安全事故。

工作原理与例程简介

GPIO协议(自定义协议)

  • 本协议基于软件编程完成,故需要RP2040和树莓派运行实例程序。
  • 本协议通过两个RP204的GPIO和树莓派GPIO相连,实现检测树莓派运行状态和提示树莓派关机
RP2040 GPIO 树莓派GPIO 描述
GPIO22 D20 树莓派软关机引脚,默认由RP2040拉低,提示树莓派软件关机时拉高
树莓派应当检测到该引脚被拉高后执行关机程序。
GPIO23 D21 树莓派运行引脚,默认由树莓派开机后拉高
RP2040可以通过该引脚检测树莓派是否开机。

例程:

树莓派使用教程

配置pico编译环境

  1. 下载安装脚本
    cd ~
    wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
    
  2. 给与运行权限并运行
    chmod +x pico_setup.sh
    ./pico_setup.sh
    
  3. 重启树莓派
    sudo reboot
    

openocd

  • Power Management HAT(B)已将SWD(debug)连接到了树莓派接口上,可以直接使用debug接口下载程序或者调试
  1. 下载openocd所需库 源码
    cd ~/pico
    sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0-
    dev
    
  2. 下载openocd源码
    git clone https://github.com/raspberrypi/openocd.git --recursive --branch rp2040 --depth=1
    
  3. 编译并安装
    cd openocd
    ./bootstrap
    ./configure --enable-ftdi --enable-sysfsgpio --enable-bcm2835gpio
    make -j3
    sudo make install
    

国内用户

  • 因为网络原因,国内用户连接github并不稳定,我们另外提供了一份安装包,可以跳过github克隆的过程
    • 若已经成功配置了pico环境,可以直接跳过本章
  1. 下载有关编译库
    sudo apt update
    sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential -y
    sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0-dev -y
    
  2. 下载压缩包并解压
    cd ~
    sudo apt-get install p7zip-full -y
    #wget https://github.com/EngineerWill/Pico-lib/releases/download/v1.0/Pico-lib.7z
    wget https://ghproxy.com/https://github.com/EngineerWill/Pico-lib/releases/download/v1.0/Pico-lib.7z
    7z x ./Pico-lib.7z
    

openocd

cd ~/pico/openocd/
./bootstrap
./configure --enable-ftdi --enable-sysfsgpio --enable-bcm2835gpio
make -j4
sudo make install

软关机脚本

  • Power Management HAT (B)需要通过脚本才能实现软关机和树莓派的运行检测
  • 下载脚本并运行
wget https://www.waveshare.net/w/upload/4/44/Power-Management-HAT.zip
unzip Power-Management-HAT.zip
cd Power-Management-HAT
sudo chmod a+x Power-Management-HAT-Setup.sh
sudo ./Power-Management-HAT-Setup.sh
  • 执行结果如下图所示,当提示Would you like to reboot now? y/n时,输入y,表示重启树莓派
  • 必须重启树莓派该操作才有效,如果树莓派未重启,必须手动重启树莓派后方生效
    Work-3.png

注意:须注意查看上述的操作执行后是否有报错,有报错根据提示修正后再继续。

例程使用

获取例程

cd ~
wget https://www.waveshare.net/w/upload/2/27/Power-example.7z
7z x ./Power-example.7z

编译例程

  • 默认例程为周期性开机例程
cd ~/Power-example/build/
export PICO_SDK_PATH=/home/pi/pico/pico-sdk
cmake ..
make -j

烧录程序

  • 注意:烧录程序会导致RP2040复位和供电中断
  • 故烧录程序时应使用树莓派的电源口进行供电而不是使用Power Management HAT(B)供电。

使用SWD烧录程序

  • 我们已经将RP2040的SWD接口连接到了树莓派上,可以直接通过openocd进行
openocd -f interface/raspberrypi-swd.cfg -f target/rp2040.cfg -c "program ./Power_Management_HAT.elf verify reset exit"

使用USB烧录程序

  • 树莓派基金会已经在RP2040内固化了UF2的引导程序,通过以下几个步骤
  1. 将树莓派的USB和板子的USB接口连接在一起
  2. 按下复位按键与BOOT按键
  3. 先释放复位按键,再释放BOOT按键
  4. 将对应的文件拖入弹出的海量存储器中
  • 可以参考下图(图为树莓派官方为Hello World例程制作的GIF图)

Hello-World-640x360-v2.gif

串口监控

开启串口功能

  • 执行如下命令进入树莓派配置
    sudo raspi-config
  • 开启串口功能
    1. 选择Interfacing Options并进入
      Serial-Open-1.png
    2. 选择Serial Port
      Serial-Open-2.png
    3. 选择关闭串口调试功能
      Serial-Open-3.png
    4. 选择开启串口硬件
      Serial-Open-4.png
    5. 系统提示如下
      Serial-Open-5.png

minicom

  • minicom 是 Linux 下一款常用的命令行串口调试工具。
  • 其功能与 Windows 下的超级终端相似,可以通过串口控制外部的硬件设备,通常用于对嵌入式设备进行管理。
  1. 安装并运行minicom
    sudo apt-get install minicom -y
    sudo minicom -D /dev/ttyS0
    
  2. 此时可以看到例程定时返回的运行信息(此处例程为定时开关例程)
    Power management hat b 01.jpg

例程说明

  • 例程切换,需要通过在main函数中将对应的初始化和循环函数开启,并屏蔽其余例程的函数
  • 下文图中就开启了Period_Time例程
    Power-management-example-code1.jpg

通用规则或者功能

状态灯

  • 状态灯均遵循以下规则
    1. 关机状态或者电源关断状态,状态灯约以0.83HZ的频率闪烁(慢闪)
    2. 开机状态或者电源开启状态,状态灯约以2.5HZ的频率闪烁(快闪)
    3. 等待开机中或者等待关机中,状态灯常亮

电流判断

  • 通过电流判断设备状态
    1. 该功能可实时判断设备开关机,并关闭电源,起到节省能源的效果
    2. 该功能默认关闭(可通过 ./examples/examples.h/USE_CURRENT_TO_CHECK_PI_STATUS设置开启)
    3. 通过判断当前电流值是否小于关机电流,若小于则认为设备已经关机,则关闭电源( 关机电流设置./examples/examples.h/Shutdown_Current_Ma,需要根据自身设备进行调整,否则该功能无法起效或者设备无法开机)

开机与关机

  • 开机流程
    1. 通过RTC或者按键触发开机
    2. 打开电源,并通过GPIO判断是否已开机,开机默认最大等待时间为90秒,超过最大等待值则认为已经开机(最大等待时间由lib/Power_Management_Lib/Power_Management_Lib.c/Power_Wait_Time_S设置)
  • 软关机流程
    1. 通过按键触发软关机
    2. 通过GPIO判断设备已经关机,若设备已关机则关闭电源,关机默认最大等待时间为60秒,超过最大等待值则认为已经关机,将强制关闭电源(最大等待时间由lib/Power_Management_Lib/Power_Management_Lib.c/Wait_Boot_Time_S设置)
  • 强制关机流程
    1. 通过RTC、长按按键和电流触发关机
    2. 强制关闭电源,设备关闭。


Button_Ctr例程

  • 实现功能:使用PWR按键开关机
  1. 当树莓派关机
    • 按下PWR按键则开机
  2. 当树莓派开机
    • 默认长按PWR按键超过2S但不到8S,尝试将树莓派软关机
    • 默认长按PWR按键超过8S则尝试直接关闭电源

Period_Time例程

  • 定时开关机
    1. 当时间到达指定时间Power_On_Time(默认为 9:00:30)时开机
    2. 当时间到达指定时间Power_Off_Time (默认为 10:00:00)时关机

Cycle_Time例程

  • 循环开关机
    1. 保持开机时间Power_On_Keep_Time(默认为1800S)
    2. 保持关机机时间Power_Off_Keep_Time(默认为3600S)


FAQ


理论输出最大电流3A,实际最大输出电流受到供电限制,如使用3.7V锂电池(满电的情况下),最大输出电流可以达到2A。


与供电和输出电流有关,如使用配套3000mah3.7V锂电池,输出电流保持为1A,约可使用2小时(受到温度和电池状态有关)。


技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证