Power Management HAT

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


说明

产品概述

我是一款树莓派电源管理控制板,能控制树莓派开机、关机(软件关机)、定时开机、定时关机、检测树莓派工作状态、测量工作电流,测量外接锂电池电压。

特点

  • 板载MCU(ATmega328P),支持Arduino编程。
  • 板载RTC时钟芯片(PCF8523),可提供精准时间控制。
  • 板载CP2102芯片,可实现对Arduino一键下载,同时支持查看串口数据。
  • 板载自定义按键,可作为电源键使用,实现树莓派的开机,软件关机,强制关机。
  • 提供电源防反接,防倒灌机制,充分保证电路的安全。
  • 可通过USB接口供电(5V),也可通过外接锂电池供电(2S~4S,7.4V~14.8V),或外接DC 供电(7.0~28V)。
  • 配套电池及电池盒,可提供2S,7.4V电源,可提供容量达2200 * 2mAh。
  • 可对外接电池电压进行检测,对工作电流进行检测,可编程即时切断电源以确保锂电池的工作寿命。
  • 提供完善的配套资料手册,提供丰富的电源管理与控制的Arduino例程。

参数

  • 通信接口:UART, GPIO(自定义协议)
  • 主控芯片:ATmega328P-AU
  • 通信接口:UART + GPIO
  • 通信波特率:默认115200bps (可程序设置其他波特率)
  • 供电方式:USB接口 或 PH2.0接口
  • USB接口电压:5V
  • PH2.0接口电压:DC 7~28V (稳压电源或锂电池)
  • 内置电路:电源防反接、防倒灌电流、电流检测、电压检测
  • 产品尺寸:56.5mm x 65mm
  • 固定孔直径:3.0mm

产品使用

锂电池使用注意事项

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

工作原理

控制树莓派关机工作原理:
Arduino(ATmega328P)通过2个GPIO连接树莓派的两个GPIO,自定义如下通信协议:

树莓派端
树莓派GPIO
(BCM)
连接 Arduino 逻辑功能
GPIO20 PC3 输入,当检测到高电平时,执行关机命令,开机状态下应当检测到低
电平。
GPIO21 PD7 输出,当输出高电平时,表示树莓派已开机,当关机后,将输出低电
平。


Arduino端
Arduino GPIO 连接 树莓派GPIO
(BCM)
逻辑功能
PC3 GPIO20 输出,当输出高电平时,树莓派检测到后将执行关机命令,开机
状态下应当输出低电平。
PD7 GPIO21 输入,当检测到高电平时,表示树莓派已开机,关机状态
下应当检测到低电平。


树莓派端实现该协议:

  • 开机:在开机后将GPIO21置为高电平。
  • 关机:不断检测GPIO20的输入电平,当输入为高电平时,执行关机指令,关机后GPIO21将自动置为低电平。

Arduino(ATmega328P)端实现该协议:

  • 开机:将PC3置为低电平,接通树莓派电源,树莓派开机,检测PD7输入电平,当输入为高电平时,表示树莓派已成功开机。
  • 关机:将PC3置为高电平,树莓派检测到后将执行关机指令,检测PD7输入电平,当输入为低电平时,表明树莓派已成功关机,切断树莓派电源。

基础准备工作

树莓派端准备工作

关机协议配置:

打开树莓派终端窗口,分别执行以下命令,即可配置关机协议:

  • 下载shell脚本
wget https://www.waveshare.net/w/upload/4/44/Power-Management-HAT.zip
unzip Power-Management-HAT.zip
cd Power-Management-HAT
  • 给shell脚本执行权限

        执行

sudo chmod a+x Power-Management-HAT-Setup.sh

Work-2.png

  • 执行shell脚本

        执行

sudo ./Power-Management-HAT-Setup.sh

        执行结果如下图所示,当提示Would you like to reboot now? y/n时,输入y,表示重启树莓派(必须重启树莓派该操作才有效,如果树莓派未重启,必须手动重启树莓派后方生效)。
Work-3.png
注意:须注意查看上述的操作执行后是否有报错,有报错根据提示修正后再继续。

Windows PC端准备工作

  • 安装Arduino IDE

下载完成后,直接点击下一步即可安装,记住安装路径,安装路径将在下一步中用到。

  • 安装Power Management HAT器件包

器件包可以从Gihub下载地址下载,也可以从微雪官网下载,下载完成后,将下载后Power Management HAT文件夹(该文件夹还含有子文件夹Power Management HAT)复制到Arduino安装路径下的hardware文件夹下,如下图所示,执行完该步骤后则可以使用Arduino IDE来开发Power Management HAT了。

Power-Management-Hat.png


  • Arduino IDE开发环境相关配置

首先,重启Arduino IDE,将Power Management Hat的USB连接至电脑,选择相应的串口:
Arduino-2.png

接着,选择Power Management HAT器件:
Arduino-3.png

最后,即可看到关于Power Management HAT相关的例程如下图所示,后续章节将讲解相关例程的使用:
Arduino-4.png

供电准备

  • Power Management HAT插入到树莓派引脚
  • Power Management HAT将为树莓派供电,树莓派无需再供电
  • Power Management HAT采用以下一种方式供电,若同时供电,将自动选择USB供电
  • Power Management HAT采用USB供电
  • Power Management HAT采用配套锂电池盒供电,或另选其它DC电源供电(可选DC电源电压范围为7V-28V)

演示

一键开关机(ButtonBoot

设置过程
  • 将Power Management HAT (后面统称为PM HAT)上的跳线帽插到A
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开ButtonBoot例程,编译,下载(可以根据实际需求,修改开关机按键识别时间)
  • 将DEBUG开关拨到另一端
  • 可调参数如下:
参数 含义 默认值
SHUTDOWN_TIME_MS 长按时间超过该阈值将软件关机。 2000
CUT_POWER_TIME_MS 长按时间超过该阈值将切断电源。 8000
USE_CURRENT_TO_CHECK_PI_STATUS 是否使用工作电流来判断树莓派的工作状态,默认采
用软件来判断树莓派的工作状态。
0
CURRENT_THRESHOLD_MA 工作电流小于该阈值将判定为已关机,默认无效。 85
固件功能
  • 若树莓派已关机:
    • 按下电源键,树莓派将开机
  • 若树莓派已开机:
    • 长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源。
    • 长按电源键8秒以上,将直接切断树莓派电源。

电流检测(MeasureCurrent)

设置过程
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开MeasureCurrent例程,编译,下载
  • 将DEBUG开关拨到另一端
  • 可调参数如下:
参数 含义 默认值
SHUTDOWN_TIME_MS 长按时间超过该阈值将软件关机。 2000
CUT_POWER_TIME_MS 长按时间超过该阈值将切断电源。 8000
固件功能
  • 若树莓派已关机:按下电源键,树莓派将开机
  • 若树莓派已开机:
    • 长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源
    • 长按电源键8秒以上,将直接切断树莓派电源
  • 打开串口终端,可查看到树莓派开机与关机状态的工作电流
    • 如果将跳线帽插到A,打开IDE的串口监视器查看电流情况
    • 如果将跳线帽插到B,在树莓派上用minicom插件查看电流情况

电压检测+低电压自动关机(MeasureVoltage_ShutdownInLowVoltage)

设置过程
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开MeasureVoltage_ShutdownInLowVoltage例程,编译,下载
  • 将DEBUG开关拨到另一端
  • 可调参数如下:
参数 含义 默认值
SHUTDOWN_TIME_MS 长按时间超过该阈值将软件关机。 2000
CUT_POWER_TIME_MS 长按时间超过该阈值将切断电源。 8000
ON_VOLTAGE_VOLT 开机最低电压 6.6
OFF_VOLTAGE_VOLT 低电压关机阈值 6.3
FORCE_OFF_VOLTAGE_VOLT 紧急低电压关机阈值 5.8
LOW_VOLTAGE_TIME _MS 低电压关机等待时间 30000
OVERRIDE_TIME _MS 低电压续航延长时间 3600000

     说明:当电压低于OFF_VOLTAGE时,如果在LOW_VOLTAGE_TIME_IN_MS时间内,按下电源按键,开机时间将延长OVERRIDE_TIME_IN_MS毫秒,但当电压低于FORCE_OFF_VOLTAGE时,将立刻让树莓派软件关机,并切断树莓派电源;当电压高于ON_VOLTAGE时,将重新供电使得树莓派开机。
     注意:单节锂电池的电压在3.0V~4.2V左右,可通过锂电池电压粗略估计电池电量,4.2V的锂电池表示已充满,3.0V左右的锂电池表示电量很低,锂电池大多数时间工作在3.7V;如果单节锂电池电压低于3.0V,则可能造该锂电池永久损毁。 如果采用外接锂电池的方式给Power Management HAT供电,由于Power Management HAT不具有升压功能,则至少需要两节锂电池(包)串联,提供5V以上的电源,此时,请根据具体电池串联的数量设置相应的电压数据,可参考下表提供的数据(如果采用配套锂电池盒的方式给Power Management HAT供电,则请选择2S的参数):

1S(不支持) 2S(1S*2) 3S(1S*3) 4S(1S*4)
ON_VOLTAGE_VOLT 3.3 6.6 9.9 13.2
OFF_VOLTAGE_VOLT 3.15 6.3 9.45 12.6
FORCE_OFF_VOLTAGE_VOLT 2.9 5.8 8.7 11.6
固件功能
  • 若树莓派已关机:

          ο    按下电源键,树莓派将开机

  • 若树莓派已开机:

          ο    长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源

          ο    长按电源键8秒以上,将直接切断树莓派电源

  • 若电压低于设定的阈值,将自动关机。


规定时间段处于开机状态(PowerOnInAPeriodTime)

设置过程
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开PowerOnInAPeriodTime例程,编译,下载
  • 将DEBUG开关拨到另一端
  • 可调参数如下:
参数 含义 默认值
WAKE_UP_START_HOUR 开机时间点-小时 8
WAKE_UP_START_MINUTE 开机时间点-分钟 30
SLEEP_START_HOUR 关机时间点-小时 18
SLEEP_START_MINUTE 关机时间点-小时 30
固件功能

周期性地处于开机状态(PowerOnPeriodicallyOnTimer)

设置过程
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开PowerOnPeriodicallyOnTimer例程或PowerOnPeriodicallyOnAlarm例程,编译,下载
  • 将DEBUG开关拨到另一端
  • 例程区别及可调参数如下:
例程 PowerOnPeriodicallyOnTimer PowerOnPeriodicallyonAlarm
区别 通过定时器唤醒树莓派 通过RTC闹钟定时唤醒树莓派
特点 简洁,但是定时器精度差 精度相对较高


PowerOnPeriodicallyOnTimer
参数 含义 默认值
PERIODIC_TIMER_TIMEBASE 周期单位 eTB_MINUTE
PERIODIC_TIMER_VALUE 周期数值 10
RPI_STAY_AWAKE_TIME _MS 开机时长 60000


PowerOnPeriodicallyOnAlarm
参数 含义 默认值
RPI_WAKE_UP_CYCLE _MINUTE 周期数值 10
RPI_STAY_AWAKE_TIME _MS 开机时长 60000
CURRENT_THRESHOLD_MA 阈值电流(工作电流低于该阈值判定为关机状态) 110
固件功能
  • 树莓派将周期性地处于开机状态

规定时间段周期性地处于开机状态(PowerOnPeriodicallyOnTimerInAPeriodTime)

设置过程
  • 连接PM HAT的USB接口到电脑
  • 打开Arduino IDE软件(需先配置好PM HAT环境)
  • 打开PowerOnPeriodicallyOnTimerInAPeriodTime例程,编译,下载
  • 将DEBUG开关拨到另一端
  • 可调参数如下
PowerOnPeriodicallyOnAlarm
参数 含义 默认值
PERIODIC_TIMER_TIMEBASE 周期单位 eTB_MINUTE
PERIODIC_TIMER_VALUE 周期数值 5
RPI_STAY_AWAKE_TIME _MS 开机时长 60000
WAKE_UP_START_HOUR 开机时间点-小时 8
WAKE_UP_START_MINUTE 开机时间点-分钟 30
SLEEP_START_HOUR 关机时间点-小时 18
SLEEP_START_MINUTE 关机时间点-小时 30
固件功能
  • 树莓派将在规定时间段周期性地处于开机状态


资料


文档

程序

软件

数据手册

相关链接

树莓派入门教程(新)
树莓派入门教程
树莓派OpenCV教程
树莓派littleGL系列教程
树莓派QT教程
树莓派OpenWrt教程

FAQ


实际由于电池限制,最大输出电流仅能达到1.8A左右。


看接入的电池容量大小,和板子带负载整体功耗的,比如电池如果是1000mAH,接到板子如果电池平均放电电流是500mA,就大约是2h。 配套的电池总电量大概在1000mAH左右,正常使用一般在2h左右。


技术支持


联系人:林工
EMAIL:services@waveshare.net
电话:0755-83040712
QQ:3004506335
微信:扫下方二维码添加
Lxw.jpg

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