UPS-HAT-(E) 使用教程

说明

产品概述

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

锂电池使用注意事项

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

特点

  • 采用弹簧顶针接口设计,适用于Raspberry Pi系列主板
  • 板载Type-C双向快充接口,支持PD3.0等多种充电输入输出协议,最高支持40W功率
  • 板载专用电池电量检测计芯片,支持读取电池电压、电流、功率,剩余电量等参数
  • 可通过 I2C 接口通信,读取Type-C输入输出,电池状态等信息,实时检测模块工作状态
  • 模块采用四节21700锂电池设计,容量更大,续航更久
  • 板子大功率降压芯片,可提供稳定5V 6A输出
  • 板载 MCU 芯片管理,支持上电检测启动功能
  • 支持电池电量图标显示,轻松查看模块状态
  • 提供完善的配套资料手册

产品参数

  • 输出电压:5V
  • 控制接口:I2C
  • 充电电源:双向输入/输出快充协议,最大支持40W功率
  • 输出功率:5V 6A
  • 电池规格:21700可充电电池 3.6V
  • 电流容量:5000mAh(标称)
  • 产品尺寸:56mm × 88mm
  • 通孔直径:3.0mm

接口说明

硬件说明


USB Type C接口为双向快充接口,支持充电和输出,最大功率40W, USB Type A接口为5V输出接口,LED为快充指示灯,识别到快充时亮起。0FF/ON为电源开关丝印。
注意1:严禁反接电池,反接电池有可能会击穿电池保护芯片
注意2:组装电池时按住V1-V2-V3-V4顺序安装,不按顺序安装反接警示灯有可能会亮起。拆装电池需要接充电器充电才能激活输出
注意3:更换电池后需要完成几次完全充放电循环,使芯片自动计算电池参数,电容更准确
注意4:模块实际输出电流可达10A,因散热原因,建议使用时不超过6A,使用更大电流应该添加主动散热
注意5:由于电池型号和温度影响,电池容量有可能会不准确,判断电压是否有电应该以电压值为准

树莓派例程

开启I2C接口

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


然后重启树莓派:

sudo reboot

电池电量检测

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

sudo apt-get install p7zip
wget https://www.waveshare.net/w/upload/7/7e/UPS_HAT_E.7z
7zr x UPS_HAT_E.7z -r -o./
cd UPS_HAT_E
python3 ups.py

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

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

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

电池电量图标显示

打开终端,执行:

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

运行程序查看右上角出现电池标志,如果没有查看程序报错原因,检查I2C接口,以及库是否安装。

重启后右上角出现电池标志说明设置成功了,鼠标移动到电池图标位置将显示电池电量,电压和电量。
电量低于5%,电量过低警告,60S后自动关机,插入电源充电则退出警告界面。

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

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

树莓派5设置5A电流

树莓派5启动会检测Type-C接口PD协议,如果没有检测到则会显示如下提示,并限制3A电流。 
运行如下命令行打开eeprom编辑

sudo rpi-eeprom-config --edit

添加以下设置可以解除3A电流限制,提供5A电流。

PSU_MAX_CURRENT=5000


来电启动原理

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

i2cdetect -y 1


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

将0x01寄存器的值改为0x55后,MCU将在30秒后开始断开树莓派电源,60秒后开始检测充电,如果有来电则开始供电重新启动树莓派。
运行如下命令将0x01寄存器设置为0x55

i2cset -y 1 0x2d 0x01 0x55

注意1:将0x01设置为0x55后需要立即主动关闭树莓派,否则30秒后突然断电容易导致数据丢失。
注意2:示例程序中已经添加来电启动功能。

资料

文档

程序

FAQ


问题:如何给电池充电

  • 快充电源插在模块的USB Type C口上,而不是树莓派的USB Type C口。
  • 模块应该搭配快充充电头使用,普通充电会导致输入功率不够,电池电压越来越低。


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

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


问题:输入输出功率多大。输出电流多少?

  • type-C接口输出功率40W。弹簧顶针输出可达5V 10A,但是为了控制温度建议电流不超过6A。


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

  • 受电池型号和温度影响,容量可能会不准确。更换电池需要完成几次完全充放电循环使芯片计算电池参数后会准确。
  • 使用的电池应该尽量一致,新旧电池混用,电池电压差大都可能会使容量减小。


问题: 电池是什么规格?

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


问题: 指示灯?

  • 板子的指示灯为电源指示灯,无论Type C口电源输出或者输入,只要Type C上有电就会亮起。


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

  • 负数表示输出电流,正数为输入电流。电池正数电流表示充电,电池负数电流表示放电。



问题:如何给电池充电

  • 快充电源插在模块的USB Type C口上,而不是树莓派的USB Type C口。
  • 模块应该搭配快充充电头使用,普通充电会导致输入功率不够,电池电压越来越低。


问题:Pi 5提示功率不足,限制电流输出

  • Pi 5会检测USB电源的功率,不适用USB供电的情况下,会出现限流情况。可以在/boot/firmware/config.txt文件加入以下指令接触限制。
usb_max_current_enable=1 


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

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

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

sudo apt-get install i2c-tools

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

sudo i2cdetect -y 1

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

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


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841