5V USB插在模块的USB Type C口上,而不是树莓派的USB Type C口。
安装i2c-tools,方便查看I2C地址,在控制台输入:
sudo apt-get install i2c-tools
等待安装成功,执行如下命令查看I2C地址。
sudo i2cdetect -y 1
如果默认已经插入了一个UPS HAT,那么执行如下命令会得到如下的效果:
如果没有识别到:
请锁紧螺丝,建议把排针焊接上,接触更耐固:
我是块适用于Raspberry Pi的不间断电源(UPS)模块,板载带路径管理的开关型锂电池充电芯片,升压芯片和电压电流监测芯片。支持同时充电和放电,可提供稳定5V电压输出,可通过I2C接口监测电池的电压、电流、功率等参数。支持电池电量图标显示,轻松查看电池状态。
USB Type C接口为充电接口 输入电压为5V,充电时LED亮,充满电时熄灭。0FF/ON丝印为电源开关丝印。
注意1:组装时需要先将电源开关拨到OFF一端,断开电源再组装否则容易导致短路烧坏器件。
注意2:首次接上电池时需要充电或者按下BOOT按键激活电池保护芯片才会有电源输出。
注意3:电池满电状态且连接充电电源输出电流大概4A左右,电池电压降低输出电流也会减小,当接过大负载电流过小时可能会出现升压不稳定导致树莓派不断重启。
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/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
将0x01寄存器的值改为0x55后,MCU将在30秒后开始检测充电接口,如果有来电则拉低GPIO3引脚启动树莓派。
运行如下命令将0x01寄存器设置为0x55
i2cset -y 1 0x2d 0x01 0x55
注意1:将0x01设置为0x55后需要立即关闭树莓派,否则如果来电拉低GPIO3引脚时树莓派不是关机状态则不能实现来电启动功能。
注意2:示例程序中已经添加来电启动功能。