UPS Module Mini
| ||||||||||||||||||||
| ||||||||||||||||||||
产品概述
这是一块非常迷你的不间断电源(UPS)模块,支持同时充电和放电,可提供稳定5V电压输出,支持I2C通信,可以获取电池的电压、电流、功率跟充电状态等信息。
特点
- 迷你 UPS 扩展板,方便焊接或集成到小车设计、工控设备中
- 可通过 I2C 接口通信,测量电池电压、电流、功率和剩余电量等参数,实时检测模块工作状态
- 板载多个功能引脚,并提供了焊盘跟排针两种充放电方式
- 板载电池保护电路,防过充、防过放、防过流、防短路和防反接,均衡充电,工作稳定更安全
- 板载 5V 稳压芯片,连续输出电流可达 2.5A
- 板载警示指示灯,方便查看电池是否接反和充电状态
- 提供完善的配套资料手册
产品参数
- 输出电压:5V
- 充电电源:5V
- 控制接口:I2C
- 电池规格:350mAh 10440 锂电池 3.7V
- 产品尺寸:61 × 38mm
硬件说明
引脚名 | 描述 |
IN | 电源输入 (5V 3A) |
OUT | UPS 输出(5V 2.5A) |
GND | 电源地 |
UPS OFF | UPS 关闭 (连接 PWR 时 UPS 关闭) |
BOOT | 电池激活 (拉低 500ms 后拉高即可) |
CHARGE | 充电指示 (低电平表示正在充电) |
SCL | I2C 时钟 |
SDA | I2C 数据 |
PWR | UPS 开关 (连接 UPS OFF 时,关闭 UPS 输出) |
注意1:首次接上电池需要注意WARNING LED灯是否亮,如果LED亮则表示对应的电池接反了。电池接反情况下禁止充电。
注意2:首次接上电池有可能会没有电源输出,需要按一下电路板上的BOOT键激活电池保护芯片才会有电源输出。
注意3:要使用产品配置的电源充电,使用其他电源有可能输出电源纹波太大不稳定导致产品损坏。
注意4:电池正极绝缘垫如果弄掉坏了建议不要继续使用容易导致短路起火,拆电池时切忌用螺丝刀撬电池正极容易导致短路要撬电池负极。
锂电池使用注意事项
- 锂聚合物和锂离子电池很不稳定。如果充电或使用不当,可能会导致火灾,人身伤害和财产损失。
- 对电池组充电和放电时,切勿极性连接错误。请勿选用其他劣质的充电器或充电板对锂电池进行充电。
- 请勿混用和使用旧电池和新电池,避免使用其他品牌的电池。
- 如需另购锂电池产品,须确保电池参数与锂电池扩展板兼容,推荐选择正规的电池厂家,并需要自行老化测试确保锂电池能够稳定安全工作。
- 锂电池具有循环寿命,请在达到使用寿命或使用两年时(以先到者为准),用新电池更换旧电池。
- 请妥善放置电池类产品,远离易燃易爆类物品,远离儿童,避免因保管不慎,引发安全事故。
例程使用
树莓派使用说明
硬件连接
注意:此处只是跟主机通信,如果要充放电,需要连接IN跟OUT。
UPS模块引脚 | 树莓派(BCM) |
GND | GND |
SDA | 2 |
SCL | 3 |
CHARGE | 4 |
示例使用
开启I2C接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> I2C -> Yes 开启I2C接口
sudo reboot
请确保I2C没有被其他的设备占用,你可以在/boot/config.txt中间检查
安装库
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
wiringPi
git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
Python
#python2 sudo apt-get update sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install smbus #python3 sudo apt-get update sudo apt-get install python3-pip sudo pip3 install RPi.GPIO sudo pip3 install smbus
下载测试程序
打开树莓派终端,执行:
sudo apt install unzip -y cd ~ sudo wget https://www.waveshare.net/w/upload/5/58/UPS_Module_Mini_Code.zip sudo unzip UPS_Module_Mini_Code.zip cd UPS_Module_Mini_Code/Raspberrypi/
运行测试程序
以下命令请在RaspberryPi下执行,否则不在索引不到目录
C语言
- 重新编译,编译过程可能需要几秒
cd ~/UPS_Module_Mini_Code/Raspberrypi/c/ sudo make clean sudo make -j sudo ./ups_module
python
cd ~/UPS_Module_Mini_Code/Raspberrypi/python/ sudo python UPS_Module_Mini.py
- 运行对应屏幕的程序即可,程序支持python2/3
运行效果
- 从上往下得参数分别是电池电压,电池电流,电池功率,是否在充电。
- In charge:正在充电
- In discharge:正在放电
- 下图显示实际值,不是最大值
放电
充电
C语言库选择
- 我们默认使用自己编写得IO库:USE_DEV_LIB
- 可以通过修改Makefile中的命令进行修改:
# USELIB = USE_BCM2835_LIB # USELIB = USE_WIRINGPI_LIB USELIB = USE_DEV_LIB
- 三选一,需要用谁,解除对应的注释,另外两个需要加上注释,否则以最后一个为主
- 例如:需要使用wiringpi库进行编译,则这样设置:
# USELIB = USE_BCM2835_LIB USELIB = USE_WIRINGPI_LIB # USELIB = USE_DEV_LIB
注意:使用了BCM2835库后需要重启树莓派,否则无法使用Python跟其他库的C程序。
树莓派Pico
硬件连接
注意:此处只是跟主机通信,如果要充放电,需要连接IN跟OUT。
UPS模块引脚 | 树莓派Pico |
GND | GND |
SDA | 8 |
SCL | 9 |
CHARGE | 7 |
C/C++ 开发环境安装
- 使用例程与教程之前,需要搭建开发环境,并且学会工程的基础使用方法
MicroPython 开发环境安装
- 下载Thonny IDE并按照步骤安装
- 安装完成之后,第一次要配置语言和主板环境,由于我们是为了使用Pico,所以注意主板环境选择Raspberry Pi 选项。
- 配置Micrpython环境及选择Pico端口。
- 先将Raspberry Pi Pico 接入电脑,左键点击Thonny右下角的配置环境选项--》选择configture interpreter
- 在弹出的窗口栏中选择MicroPython(Raspberry Pi Pico),同时选择对应的端口。
- 点击ok后返回到Thonny主界面,下载固件库到Pico里面,然后点击停止按钮,在Shell窗口中即可显示当前使用到的环境。
- Pico在windows下载固件库方法: 按住BOOT键后连接电脑后,松开BOOT键,电脑会出现一个可移动磁盘,将固件库复制进去即可。
树莓派环境下
- 打开树莓派终端,执行:
sudo apt install unzip -y cd ~ sudo wget https://www.waveshare.net/w/upload/5/58/UPS_Module_Mini_Code.zip unzip UPS_Module_Mini_Code.zip cd ~/UPS_Module_Mini_Code cd Pico/c/build/
例程使用
C部分
- 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需要自行判断。
进行编译,请确保在c目录:
cd ~/UPS_Module_Mini_Code/Pico/c/
创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可
cd build export PICO_SDK_PATH=../../pico-sdk (注意:务必写对你自己的SDK所在路径)
执行cmake自动生成Makefile文件
cmake ..
执行make生成可执行文件,第一次编译时间比较久
make -j9
编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。
cp UPS_Module_Mini.uf2 /media/pi/RPI-RP2/
python
- 1.树莓派上将~/UPS_Module_Mini_Code/Pico/python/rp2-pico-20230329-unstable-v1.19.1-994-ga4672149b.uf2 文件拷入pico中。
- 2.在树莓派上打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息
以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE
sudo apt upgrade thonny
3.点击File->Open...->~/UPS_Module_Mini_Code/Pico/python/UPS_Module_Mini.py,运行脚本即可
Windows环境下
- 点击下载程序,解压后进入Pico的文件夹中。
C部分
- 进入Pico\c后,使用vs code打开工程
- 选择编译器
- 开始编译
- 编译完成
- 将build中的UPS_Module_Mini.uf2文件拷贝带Pico中,就会自动运行程序了。
python
- 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
- 2.将python目录中rp2-pico-20230329-unstable-v1.19.1-994-ga4672149b.uf2 文件复制到识别的可移动盘(RPI-RP2)中
- 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
- 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口
- 5.文件->打开->UPS_Module_Mini.py,点击运行即可,如下图所示:
运行效果
- 信息内容查看树莓派的运行效果介绍
C
- 需要通过串口调试助手,打开Pico的虚拟串口查看信息
Python
- 运行程序后在shell串口查看信息
MicroPython(适用于Raspberry Pi Pico)
STM32例程使用说明
硬件连接
注意:此处只是跟主机通信,如果要充放电,需要连接IN跟OUT。
模块引脚 | STM32F103RB |
GND | GND |
SDA | PB9 |
SCL | PB8 |
CHARGE | PB5 |
示例下载
例程是基于HAL库进行开发的。
点击下载程序,解压后,打开UPS_Module_Mini_Code\STM32\UPS_Module_Mini\MDK-ARM目录下的UPS_Module_Mini.uvprojx,即可看到程序。
打开main.c,可以看到程序,重新编译下载即可。
运行效果
- 需要通过串口调试助手,打开STM32的虚拟串口查看信息
- 信息内容查看树莓派的运行效果介绍
Arduino软件说明
注:例程均在Arduino uno上进行了测试,如果需要是其他型号的Arduino需要自己确定连接的管脚是否正确。
arduino IDE 安装教程
硬件连接
注意:此处只是跟主机通信,如果要充放电,需要连接IN跟OUT。
UPS模块引脚 | Arduino uno |
GND | GND |
SDA | SDA |
SCL | SCL |
CHARGE | 4 |
运行程序
点击下载程序,然后解压。程序位于UPS_Module_Mini_Code\Arduino\UPS_Module_Mini
安装好Arduino IDE后运行UPS_Module_Mini.ino文件。
打开程序,选择开发板型号Arduino UNO
选择对应COM口
然后点击编译并下载即可
运行效果
- 需要通过串口调试助手,打开Arduino UNO的虚拟串口查看信息
- 信息内容查看树莓派的运行效果介绍
FAQ