UPS-HAT-D教程

资料

文档

程序

相关资料

FAQ


问题: 拔插电池后无法输出?

  • 更换电池后需要先充电或者按BOOT按键激活电池保护电路,开关打到ON即可输出。


问题:输出电流多少?

  • 电池满电状态且连接充电电源输出电流大概4A左右,电池电压越低输出电流就越小,当电流不足就会自动断电。
  • 如果接大功率负载可能会出现电流不足升压不稳定导致树莓派不断重启。


问题:剩余电量示数跳变不准?

  • 剩余电量是通过电池电压判断大概电量,充电的时候电压会比电池实际电压高,所以插上电源瞬间电压会跳变。
  • 理想充满电为4.2V,单实际充满电后电压可能会有回落,电压比4.2V要低一点。


问题: 电池是什么规格?

  • 21700锂电池,外径为21mm,高度为70.0mm。标称电压为3.7V,充满电电压为4.2V。


问题: 充电指示灯?

  • 充电时蓝灯亮,充满电后熄灭。故障时蓝灯闪烁。


问题: 为什么打印的电流是负数?

  • 在给树莓派供电,电流是流出的。


问题:如何给电池充电

5V USB插在模块的USB Type C口上,而不是树莓派的USB Type C口。


问题:运行程序,提示IO ERROR

  • I2C 没打开,请打开树莓派的I2C
  • 顶针接触不良,可以用以下指令检测是否有识别到设备:

安装i2c-tools,方便查看I2C地址,在控制台输入:

sudo apt-get install i2c-tools

等待安装成功,执行如下命令查看I2C地址。

sudo i2cdetect -y 1

如果默认已经插入了一个UPS HAT,那么执行如下命令会得到如下的效果:

如果没有识别到:
请锁紧螺丝,建议把排针焊接上,接触更耐固:


说明


产品概述

我是块适用于Raspberry Pi的不间断电源(UPS)模块,板载带路径管理的开关型锂电池充电芯片,升压芯片和电压电流监测芯片。支持同时充电和放电,可提供稳定5V电压输出,可通过I2C接口监测电池的电压、电流、功率等参数。支持电池电量图标显示,轻松查看电池状态。

特点

  • 采用弹簧顶针接口设计,适用于Raspberry Pi系列主板
  • 板载锂电池充电芯片,支持动态路径管理,供电更稳定
  • 板载升压芯片,可提供稳定5V电压输出
  • 可通过I2C接口通信,测量电池电压、电流、功率和剩余电量等参数,实时检测模块工作状态
  • 板载电池保护电路,防过充、防过放、防过流、防短路,工作稳定更安全
  • 板载充电指示灯,方便查看电池工作状态
  • 提供完善的配套资料手册

产品参数

  • 输出电压:5V
  • 充电电源:5V,Micro USB接口
  • 控制接口:I2C
  • 电池规格:21700可充电电池 3.6V
  • 电流容量:5000mAh(标称)
  • 产品尺寸:30mm × 65mm
  • 通孔直径:2.5mm

接口说明

硬件说明

USB Type C接口为充电接口 输入电压为5V,充电时LED亮,充满电时熄灭。0FF/ON丝印为电源开关丝印。
注意1:组装时需要先将电源开关拨到OFF一端,断开电源再组装否则容易导致短路烧坏器件。
注意2:首次接上电池时需要充电或者按下BOOT按键激活电池保护芯片才会有电源输出。
注意3:电池满电状态且连接充电电源输出电流大概4A左右,电池电压降低输出电流也会减小,当接过大负载电流过小时可能会出现升压不稳定导致树莓派不断重启。

锂电池使用注意事项

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

树莓派例程

开启I2C接口

  • 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 
选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

然后重启树莓派:

sudo reboot

INA219 电池电量检测

在使用树莓派演示该例程时,只需要将模块插到树莓派排针中即可,或者通过杜邦线接到树莓派的I2C接口,VCC接3.3V
输入如下命令运行程序

sudo apt-get install p7zip
wget https://www.waveshare.net/w/upload/5/59/UPS_HAT_D.7z
7zr x UPS_HAT_D.7z -r -o./
cd UPS_HAT_D
python3 INA219.py

程序运行后会输出电池电压,电流,功率以及电池剩余电量百分比等数值。

注意:如果电流为负数则表示电池输出电流(可认为树莓派负载电流),电流为正数则表示电池充电电流。
当系统负载大而电池电压低时,有可能会出现电池电流不足而导致系统不断重启的情况。这个是不希望看到的。实际应用中可以通过判断电池电压过低自动关机避免。
示例程序中已经添加电池电压判断,电池电压过低而没有外接电源充电时,程序会60s内关闭系统。
程序显示如下语句表示电池电压过低,需要及时充电,否则程序会自动关机。

Voltage Low,please charge in time,otherwise it will shut down in 58 s

电池电量图标显示

打开终端,执行:

cd ~/UPS_HAT_D
./main.sh   #千万不要加sudo 
sudo reboot

重启后右上角出现电池标志说明设置成功了,鼠标移动到电池图标位置将显示电池电量,电压和电量。

如果没有效果测试测试如下:

cd ~/UPS_HAT_D
DISPLAY=':0.0' python3 batteryTray.py

运行程序查看右上角出现电池标志,如果没有查看程序报错原因,检查I2C接口,以及库是否安装。
电量低于5%,电量过低警告,60S后自动关机,插入电源充电则退出警告界面。

来电启动原理

当检测到电压过低时,可以使用程序控制树莓派保存数据后再关机,避免树莓派突然断电而导致数据丢失。
但是树莓派关机后,再次来电充电时树莓派不会自动启动,但是可以通过拉低GPIO3引脚(即SCL引脚)启动树莓派。
打开终端,执行如下命令检测i2c地址。

i2cdetect -y 1


其中0x43为INA219的地址,0x2D为MCU芯片的i2c地址。运行下面指令可以查看寄存器值。其中0x00,0x01,0x02寄存器的分别为0x0a,0x0b,0x0c。

将0x01寄存器的值改为0x55后,MCU将在30秒后开始检测充电接口,如果有来电则拉低GPIO3引脚启动树莓派。
运行如下命令将0x01寄存器设置为0x55

i2cset -y 1 0x2d 0x01 0x55

注意1:将0x01设置为0x55后需要立即关闭树莓派,否则如果来电拉低GPIO3引脚时树莓派不是关机状态则不能实现来电启动功能。
注意2:示例程序中已经添加来电启动功能。