3006 RPi5-UPS Scap-PD 5V5A

来自Mcuzone Wiki

关键词

树莓派5、超级电容、UPS、PD握手、5V5A、边充边放、I2C检测电流电压、长续航、平衡、性能、22F、100F、GPIO检测

一、简介

UPS_Scap_PD_5V5A是一款专为树莓派5设计的基于超级电容的UPS电源模块。支持12V PD充电,支持边充边放,支持USB-C加USB-A加顶针三种方式输出,总输出可达5V5A,其中USB-C接口输出支持树莓派5所需的5V5A PD协议。可选22F,60F和100F超级电容以应对不同的续航时长要求。具备电源总开关和泄放电路,可固定于树莓派下方通过顶针供电或者通过USB C对C小板供电。具备电量监测电路,并可通过I2C接口读取超级电容电压和充放电电流以此来估算续航时间。

二、硬件资源

输入 USB-C接口供电,PD握手电压12V,请务必使用PD或者QC电源供电;输入功率建议30W起步;

电源输入后分两路:一路降压到5.2V直接给目标板供电;

另一路给超级电容充电,为了安全起见,充电到5.2V后停止充电。这两路之间有隔离电路,因此不会同时进行输出。

输出 5V5A输出,采用高效升压和降压DC-DC电源芯片;

双接口,USB-C和USB-A接口,两个接口共享5V5A;

USB-C带有PD握手协商功能,可采用USB-C小板对树莓派5供电,可实现5V5A PD握手协议;也可以用于接其他开发板;

USB-A,可对其它用电设备供电;

超级电容 串联结构,可选22F/60F/100F,满足不同的续航要求,电容充满最高电压为5.4V;
掉电检测 一个掉电检测插针;若是树莓派5,可以通过40Pin的GPIO26检测外部电源是否掉电;
电流电压检测 可通过I2C接口读取超级电容的电压和电流,并通过电流方向判断是在充电状态还是放电状态;
唤醒顶针 断电自启电路,仅适用于树莓派5;
可自定义关断电压 分别对应续航优先或输出能力优先,关断电压分1.6V/2V/2.4V,出货默认1.6V;
开关/按键 一个电源开关,可关断输出以确保安全拆装模块;

一个放电按键,用于快速放电以便安全收纳;比如在使用完毕后,建议按此键为超级电容进行放电,确保安全。

LED灯 一个电源指示灯;

5个超级电容的电量指示灯,22F充电时间为3分钟左右,100F充电时间为15分钟左右;

尺寸 85*56mm。
版本 2个版本,分树莓派5版本和普通版本;

树莓派5版本:配USB C-C转接板,I2C接口和掉电检测接口均为顶针设计;

普通版本:配USB A-C线,I2C接口和掉电检测接口均为2.54mm插针。

注意:超级电容因为能量大且内阻小,在有电的时候禁止超级电容的正负极短接;也禁止两个超级电容电路的两端正负极短接。对于因超级电容两极短接导致的任何风险我们概不承担,请小心使用。因超级电容两极短接导致的器件损坏不在保修范围内。

3006_UPS_Scap_PD_05.jpg

3006_UPS_Scap_PD_06.jpg

树莓派5专用顶针版:

3006_UPS_Scap_PD_07.jpg

普通版本:

3006_UPS_Scap_PD_08.jpg

三、续航时间

外部电源断电后自动切换到超级电容供电,以供主板保存数据关闭系统。超级电容UPS在各个截止关闭电压下,实测的可维持时间列表如下:

(注:三种模式,即长续航模式、平衡模式、性能模式,是通过线路板上的电阻来调节的,出厂默认是长续航模式。)

100F版本,充电至5.2V开始放电:

输出电压电流 可维持时间
长续航模式(1.6V关闭) 平衡模式(2V关闭) 性能模式(2.4V关闭)
5V5A 9s 9s 9s
5V4A 15.5s 15.5s 15.5s
5V3A 24.5s 24.5s 24.5s
5V2A 47.5s 47s 44s
5V1A 1min41s 1min36s 1min28s
5V0.5A 3min31s 3min19s 3min01s

60F版本,充电至5.2V开始放电:

输出电压电流 可维持时间
长续航模式(1.6V关闭) 平衡模式(2V关闭) 性能模式(2.4V关闭)
5V5A 5.5s 5.5s 5.5s
5V4A 9s 9s 9s
5V3A 14s 14s 14s
5V2A 27s 27s 25s
5V1A 58s 54s 51s
5V0.5A 1min57s 1min53s 1min47s

22F版本,充电至5.2V开始放电:

输出电压电流 可维持时间
长续航模式(1.6V关闭) 平衡模式(2V关闭) 性能模式(2.4V关闭)
5V5A 3s 3s 3s
5V4A 4s 4s 4s
5V3A 6s 6s 6s
5V2A 11s 11s 10s
5V1A 26s 24s 23s
5V0.5A 55s 51s 47s

四、相关说明

4.1 PD握手协议

树莓派5的电源C口采用非标PD握手协议,故若输入的电源不符合树莓派5的握手协议,即使输入的电压和电流符合5V5A的要求,树莓派系统或者Ubuntu系统也会提示此电源不支持5V5A,如图红框所示(以树莓派系统为例):

3003_21700_5V5A_PD_16.jpg

我们的超级电容模块输出C口自带PD握手协议,可实现与树莓派5握手,供电5V5A,所以系统不会弹出红框信息。

▶如果使用超级电容模块同时给两个树莓派5供电,则可以在USB-A口上插上我司的USB A-C PD适配器,也可以实现和树莓派5正常握手协商,系统不弹窗。如下图所示:

3006_UPS_Scap_PD_14.jpg

4.2 掉电检测的特征

超级电容掉电后恢复供电的几种时序分析:

系统运行中断电,正常关机并在超级电容放电完毕后重新来电 正常启动
系统运行中断电,正常关机并在超级电容未放完电前重新来电 正常启动
系统运行中断电,并在保存数据执行关机命令前重新来电 退出关机流程,继续运行
系统运行中断电,并在保存数据执行关机命令前多次重新来电 退出关机流程,继续运行
系统运行中断电,并在保存数据执行关机命令后的1-2秒重新来电 死区,无法启动[注意]

超级电容UPS板上具备单片机进行电源管理,当外部电源恢复后会通过顶针给树莓派5一个开机信号,如果此时系统处于关机状态则会开机;如果系统正在运行则树莓派系统下会弹出对话框窗口,如下图所示:

5001_CM5_WiFi7-PoE_47.jpg

应用程序需要及时清除该对话框以免连续掉电并恢复两次后触发强行关机。我司提供的演示代码里面已经包含了清除该对话框的代码。

注意:在执行关机命令后显示屏上会短暂的显示“plymouth-poweroff.service”,大概1-2秒,如果在此时电源恢复则系统无法启动,并将一直处于关机状态直至下次掉电后重新来电才能启动。进入该死区的概率非常之低,对于本地使用无需担心,如果是远程无人值守请仔细评估。

五、电压电流实时监测

超级电容UPS可以通过I2C电路,读取电压和电流的数值,监测超级电容的状态。

此操作基于树莓派系统版本为:2024-11-19-raspios-bookworm-arm64.img.xz

树莓派系统下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

5.1 树莓派系统

5.1.1 打开I2C接口

本UPS是通过I2C接口查看电源实时参数,需要在树莓派系统下打开I2C接口:

左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces

将I2C打开,如图所示:

3003_21700_5V5A_PD_07.jpg

这样就完成了相关配置。

5.1.2 查看电源实时参数

打开树莓派终端,下载查看电源实时参数软件:

wget -O INA219.py http://www.mcuzone.com/wiki/3006_UPS_Scap_PD/INA219.py.zip

随后运行该软件,即可看到电源实时参数:

python INA219.py

充电时:

3006_UPS_Scap_PD_10.jpg

放电时:

3006_UPS_Scap_PD_11.jpg

注意:这里的“当前运行时间”指的是INA219.py这个程序的运行时间,而不是实际的充电时间。

此是超级电容UPS在充满电的情况下(电容电压5.2V左右)开始放电,放电到电容电压3V以下重新开始充电,直至充满(电容电压5.2V左右)为止。

5.2 Ubuntu系统

此操作基于Ubuntu系统版本为:ubuntu-24.10-preinstalled-desktop-arm64+raspi.img.xz

Ubuntu系统下载地址:

https://ubuntu.com/download/raspberry-pi

5.2.1 打开I2C接口

本UPS是通过I2C接口查看电源实时参数,需要确认Ubuntu系统是否打开了I2C接口:

sudo nano /boot/firmware/config.txt

查看红框处的i2c_arm是否设置了on,如果没有,请按下图进行设置:

5.2.2 查看电源实时参数

打开Ubuntu系统终端,首先安装smbus支持:

sudo apt-get install python3-smbus

然后下载查看电源实时参数软件:

wget -O INA219.py http://www.mcuzone.com/wiki/3006_UPS_Scap_PD/INA219.py.zip

随后运行该软件,即可看到电源实时参数:

python3 INA219.py

充电时:

3006_UPS_Scap_PD_12.jpg

放电时:

3006_UPS_Scap_PD_13.jpg

注意:这里的“当前运行时间”指的是INA219.py这个程序的运行时间,而不是实际的充电时间。

此是超级电容UPS在充满电的情况下(电容电压5.2V左右)开始放电,放电到电容电压3V以下重新开始充电,直至充满(电容电压5.2V左右)为止。

六、掉电检测演示

板载一路掉电检测电路,如果是树莓派5,是直接接40Pin GPIO中的GPIO26来检测。具体操作见下(以树莓派系统为例,需要事先打开I2C接口)。

6.1 掉电指示脚本演示

脚本代码如下(脚本名为gpiot.sh):

3009_UPS_Scap_19.jpg

运行下面的命令,给脚本添加权限:

sudo chmod +x gpiot.sh

然后运行脚本:

./gpiot.sh

运行结果为,当输入电源正常连接时(即充电状态),终端显示:

3009_UPS_Scap_10.jpg

此时GPIO26的状态为hi(高电平)。

当输入电源断开时(即放电状态),终端显示:

3009_UPS_Scap_11.jpg

此时GPIO26的状态为lo(低电平)。

脚本的运行结果视频示例:

参考脚本:

http://www.mcuzone.com/wiki/3009_UPS_Scap/gpiot.sh.zip

注意:下载完毕后将文件名改为gpiot.sh,并拷贝到树莓派系统下使用。

6.2 掉电保存系统演示

经测试,2024年7月以后的树莓派官方系统需要先安装运行库才能运行本程序,安装方法为在树莓派终端中执行:

sudo apt install python3-rpi.gpio

sudo apt install python3-rpi-lgpio

然后运行程序,显示如下:

sudo python Mcuzone_RPi5_SCap_UPS_demo.py

3006_UPS_Scap_PD_15.jpg

此时断开超级电容UPS的输入电源。程序将保存系统设置,并自动开始倒计时,然后自动关机:

如果系统运行中断电,并在保存数据执行关机命令前重新来电,则会退出关机流程,继续运行系统:

购买后如需此程序,可以联系我们客服获取!

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2025 野芯科技