Power Management HAT (B)
来自Waveshare Wiki
| ||||||||||||||||||
| ||||||||||||||||||
说明
产品概述
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编译环境
- 下载安装脚本
cd ~ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
- 给与运行权限并运行
chmod +x pico_setup.sh ./pico_setup.sh
- 重启树莓派
sudo reboot
openocd
- Power Management HAT(B)已将SWD(debug)连接到了树莓派接口上,可以直接使用debug接口下载程序或者调试
- 下载openocd所需库 源码
cd ~/pico sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0- dev
- 下载openocd源码
git clone https://github.com/raspberrypi/openocd.git --recursive --branch rp2040 --depth=1
- 编译并安装
cd openocd ./bootstrap ./configure --enable-ftdi --enable-sysfsgpio --enable-bcm2835gpio make -j3 sudo make install
国内用户
- 因为网络原因,国内用户连接github并不稳定,我们另外提供了一份安装包,可以跳过github克隆的过程
- 若已经成功配置了pico环境,可以直接跳过本章
- 下载有关编译库
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
- 下载压缩包并解压
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
注意:须注意查看上述的操作执行后是否有报错,有报错根据提示修正后再继续。
例程使用
获取例程
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的引导程序,通过以下几个步骤
- 将树莓派的USB和板子的USB接口连接在一起
- 按下复位按键与BOOT按键
- 先释放复位按键,再释放BOOT按键
- 将对应的文件拖入弹出的海量存储器中
- 可以参考下图(图为树莓派官方为Hello World例程制作的GIF图)
串口监控
开启串口功能
- 执行如下命令进入树莓派配置
sudo raspi-config
- 开启串口功能
minicom
- minicom 是 Linux 下一款常用的命令行串口调试工具。
- 其功能与 Windows 下的超级终端相似,可以通过串口控制外部的硬件设备,通常用于对嵌入式设备进行管理。
-
安装并运行minicom
sudo apt-get install minicom -y sudo minicom -D /dev/ttyS0
-
此时可以看到例程定时返回的运行信息(此处例程为定时开关例程)
FAQ
理论输出最大电流3A,实际最大输出电流受到供电限制,如使用3.7V锂电池(满电的情况下),最大输出电流可以达到2A。
与供电和输出电流有关,如使用配套3000mah3.7V锂电池,输出电流保持为1A,约可使用2小时(受到温度和电池状态有关)。