简介
DFRobot UPS HAT for Raspberry Pi Zero是一款针对Raspberry Pi Zero系列的不间断电源扩展板,兼容Pi 2/3/A+(不支持树莓派3B+)。UPS HAT可以在系统断电的情况下持续为树莓派提供一定时间的供电,避免诸如用于路由等项目时经常因为突然断电导致系统损坏,有必要使用UPS进行安全的关机。另外在一些移动项目中,例如树莓派照相机、平板、野外数据采集系统中也需要一块电池提供稳定的电源。
我们使用了一颗MAX17043做精确电量检测,并且板载一颗MCU做数据处理,树莓派主板只需要通过基本的I²C通信就可以直接获取电量、电池电压等信息。板载5颗LED灯可以在无需编程的情况下直观的指示当前电池电量。
我们使用了非常好的电源方案,高达90%以上的电源转换效率以及无二极管设计使得我们的UPS扩展板即使在树莓派连续高负荷工作下也能够保持较低的发热。
技术规格
- 供电电压:4.5~5.5V
- 供电电流:(推荐使用2A及以上功率的电源适配器)
- 供电接口:Micro-USB
- 最大充电电流: 1.6A
- 电池接口:PH2.0-2P或可焊接触点
- 适配电池:3.7V锂离子电池
- 输出电压:5V
- 最大输出电流:2A
- 适配主板:树莓派 B/B+/2B/3B/3B+及可能的后续版本
- 通信接口:I²C
- 尺寸:65mmx30mm
- 安装孔尺寸:58mmx23mm
- 工作温度:-40℃~85℃
注意事项
1、3.7V锂电池由于运输限制,并不包含在配送清单中
2、请选择使用满足技术规格参数的3.7V锂离子电池
3、产品工作时电源区域会有正常的一定程度发热,请根据实际应用场景避免其可能带来的安全隐患
4、不支持树莓派3B+使用
功能示意
- 接口描述
序号 | 功能描述 | 状态描述 |
---|---|---|
1 | USB充电口 | 5V直流充电 |
2 | 充电指示灯 | 常量充电/闪烁未检测到电池/熄灭未充电 |
3 | 功能按键 | 固件版本更新及功能说明 |
4 | 电量指示 | 指示当前电量 |
5 | 锂电池焊接点 | 焊接锂电池 |
6 | 树莓派40Pin插口 | 连接树莓派 |
- 灯显与电量关系
电量 | LED灯状态(未充电时) | LED灯状态(充电时) |
---|---|---|
电量<10% | 第一格LED灯为慢闪(频率约为3HZ) | 第一格LED灯为快闪(频率约为6HZ) |
10%≤电量<20% | 第一格LED常亮 | 第一格LED灯为快闪(频率约为6HZ) |
20%≤电量<40% | 第一格、第二格LED常亮 | 第一格LED常亮,第二格LED灯为快闪(频率约为6HZ) |
40%≤电量<60% | 前三格LED常亮 | 前两格LED常亮,第三格LED灯为快闪(频率约为6HZ) |
60%≤电量<80% | 前四格LED常亮 | 前三格LED常亮,第四格LED灯为快闪(频率约为6HZ) |
电量≥80% | LED全亮 | 前四格LED常亮,第五格LED灯为快闪(频率约为6HZ) |
固件版本更新及功能说明 |
版本号 | 变更日期 | 按键功能 | 其它 |
---|---|---|---|
V1.0 | 2018/11/19 | 显示电池当前电量约10秒 | 当电池电量小于10%,5V电源输出将被自动断开。 |
V1.1 | 2019/09/20 | 1、短按显示电池当前电量约3秒 2、长按(>2S)实现开、关5V电源输出。 |
当电池电量小于5%,5V电源输出将被自动断开。当电池电量上升至7%后,需手动按开关按键重新打开电源 |
V1.2 | 2020/12/21 | 1、短按显示电池当前电量约3秒 2、长按(>2S)实现开、关5V电源输出。 |
当电池电量小于5%,5V电源输出将被自动断开。插上充电器,当电池电量上升至7%后,5V电源会自动重新开启。 |
V1.3 | 2021/03/02 | 功能未改动 | 在V1.2版本基础上修复了一些稳定性问题 |
寄存器说明
使用教程
- 通过40Pin与树莓派连接
- 通过树莓派读取电量
如何开启树莓派I2C外设
一般情况下,树莓派系统默认没有开启I2C外设,需要手动进行开启,才能通过I2C总线访问DFRobot UPS HAT for Raspberry Pi Zero相关数据,如电池当前电量、设置定时开机时间等等。
- 开启I2C外设功能
在终端中输入命令:'' sudo raspi-config ,依次选择【 Interfacing Options 】(或者【 Advanced Options 】)->【 I2C 】->【 Yes 】->【 OK ''】
![step 1](https://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_1.png "step 1")
![step 2](https://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_2.png "step 2")
![step 3](https://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_3.png "step 3")
![step 4](https://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_4.png "step 4")
配置完成后重启树莓派生效(重启命令:reboot)
- 查看I2C外设是否配置正确
用lsmod命令查看树莓派是否成功配置I2C外设,如下图所示:
![step 5:成功导入I2C模块](https://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/Alt.png "step 5:成功导入I2C模块")
- 安装测试I2C设备的工具
命令如下:
sudo apt-get install i2c-tools
测试是否安装正确,命令:
sudo i2cdetect -y l
如果出现如下图所示问题
则需要更改'' raspi-blacklist.conf 配置, raspi-blacklist.conf 在 /etc/modprobe.d/ ''目录下,输入命令:
`sudo nano /etc/modprobe.d/raspi-blacklist.conf`
在i2c设备驱动前加“#”,例如:#blacklist i2c-bcm2835,这样I2C外设就可以正常使用了。
查看UPS电量
- 新建脚本
新建ups.py文件,输入内容如下:
import smbus
addr=0x10 \#ups i2c地址
bus=smbus.SMBus(1) \#i2c-1
vcellH=bus.read_byte_data(addr,0x03)
vcellL=bus.read_byte_data(addr,0x04)
socH=bus.read_byte_data(addr,0x05)
socL=bus.read_byte_data(addr,0x06)
capacity=(((vcellH&0x0F)\<\<8)+vcellL)\*1.25 \#容量
electricity=((socH\<\<8)+socL)\*0.003906 \#当前电量百分比
print("capacity=%dmV"%capacity)
print("electricity percentage=%.2f"%electricity)
- 运行脚本
在终端中输入:python3 ups.py 即可查看电量信息。
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。