简介
DFRobot Raspberry Pi UPS HAT是一款针对Raspberry Pi的不间断电源扩展板。UPS HAT可以在系统断电的情况下持续为树莓派提供一定时间的供电,避免诸如用于路由等项目时经常因为突然断电导致系统损坏,有必要使用UPS进行安全的关机。另外在一些移动项目中,例如树莓派照相机、平板、野外数据采集系统中也需要一块电池提供稳定的电源。
我们使用了一颗MAX17043做精确电量检测,并且板载一颗MCU做数据处理,树莓派主板只需要通过基本的I²C通信就可以直接获取电量、电池电压等信息。板载5颗LED灯可以在无需编程的情况下直观的指示当前电池电量。
我们使用了非常好的电源方案,高达90%以上的电源转换效率以及无二极管设计使得我们的UPS扩展板即使在树莓派连续高负荷工作下也能够保持较低的发热。
注意:此产品不适用于树莓派5
技术规格
- 供电电压:4.5~5.5V
- 供电电流:(推荐使用2A及以上功率的电源适配器)
- 供电接口:Micro-USB
- 最大充电电流: 1.6A
- 电池接口:PH2.0-2P或可焊接触点
- 适配电池:3.7V锂离子电池
- 输出电压:5V
- 最大输出电流:2A
- 通信接口:I²C
- 尺寸:65mmx56mm
- 安装孔尺寸:58mmx49mm
- 工作温度:-40℃~85℃
注意事项
1、3.7V锂电池由于运输限制,并不包含在配送清单中
2、请选择使用满足技术规格参数的3.7V锂离子电池
3、产品工作时电源区域会有正常的一定程度发热,请根据实际应用场景避免其可能带来的安全隐患
功能示意
- 接口描述
** 序号 ** | ** 功能描述 ** | ** 状态描述 ** |
---|---|---|
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版本基础上修复了一些稳定性问题 |
寄存器说明
寄存器(8bit) | 名称 | 读写 | 数据范围 | 默认值 | 描述 |
---|---|---|---|---|---|
0x00 | 设备地址 | R/W | 0x01-0x7F | 0x10 | I2C从机地址,默认地址为0x10,改变地址后,模块重新上电后新地址才生效 |
0x01 | 产品ID | R | 0x00-0xFF | 0xDF | 用于产品校验 |
0x02 | 固件版本 | R | 0x00-0xFF | 0x10 | 0x10表示V1.0,0x11表示V1.1 |
0x03 0x04 |
电压值寄存器高位(VCELL_H) 电压值寄存器低位(VCELL_L) |
R R |
0x00-0xFF 0x00-0xFF |
0x00 0x00 |
LSB表示1.25mV,与电压值寄存器高位一起组成12位的电压值. 例:VCELL_H = 0x0A, VCELL_L = 0x50, VCELL =0x0A50 * 1.25 = 3300mV |
0x05 0x06 |
电量值寄存器高位(SOC_H) 电量值寄存器低位(SOC_L) |
R R |
0x00-0xFF 0x00-0xFF |
0x00 0x00 |
LSB代表0.003906%电量。例:SOC_H = 0x3C,SOC_L = 0xFF,读出的电量值SOC = 0x3CFF * 0.003096 ≈ 60.99% |
使用教程
- 通过40Pin与树莓派连接
- 通过树莓派读取电量
如何开启树莓派I2C外设
一般情况下,树莓派系统默认没有开启I2C外设,需要手动进行开启,才能通过I2C总线访问DFRobot Raspberry Pi UPS HAT相关数据,如电池当前电量、设置定时开机时间等等。
- 开启I2C外设功能
在终端中输入命令:'' sudo raspi-config ,依次选择【 Interfacing Options 】(或者【 Advanced Options 】)->【 I2C 】->【 Yes 】->【 OK ''】
![step 1](http://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_1.png "step 1") ![step 2](http://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_2.png "step 2") ![step 3](http://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_3.png "step 3") ![step 4](http://imgtest.dfrobot.com.cn/DFRobotCnWikiImage/scrot_4.png "step 4")
配置完成后重启树莓派生效(重启命令:reboot)
- 查看I2C外设是否配置正确
用lsmod命令查看树莓派是否成功配置I2C外设,如下图所示:
![step 5:成功导入I2C模块](http://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或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。 |