(SKU:DFR0494)DFRobot Raspberry Pi UPS HAT

来自DFRobot Product Wiki
跳转至: 导航搜索
FireBeetle Board-ESP32

目录

概述

DFRobot FireBeetle萤火虫系列是专为物联网设计的低功耗微控制器。此款FireBeetle Board - ESP32板载ESP-WROOM-32双核芯片,支持WiFi和蓝牙双模通信,外围兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。主控器支持USB和外接3.7V锂电池两种供电方式,可实现双电源下自动切换电源功能,并支持USB和外接DC两种充电方式。体积小巧,接口方便,上手简单,可直接应用于物联网低功耗项目。
FireBeetle Board - ESP32主板在硬件上做了特殊的arduino IDE兼容,不用手动切换boot模式,实现一键下载。在编程方面,支持Arduino、idf(linux)、micropython等多种方式,并且,对于Arduino IDE做了引脚映射,可以直接传递Dx来配置引脚,使用方式上兼容UNO,从而降低了使用的门槛。

请注意:ESP32仍然针对开发人员,并不是所有的外设都具有示例代码的完整功能,还有一些bug需要被发现和修复。在Arduino IDE下,IO管脚功能以及I2C/SPI可以直接调用,其他功能依旧在开发中。

特性

  • DFRobot FireBeetle系列兼容
  • 低功耗(Ultra-low power 为10uA)
  • 响应速度快(最高400KHz)
  • 性价比高
  • 小尺寸,方便安装


性能描述

  • 工作电压:3.3V
  • 输入电压:3.3V~5V
  • 支持低功耗:10uA
  • 支持最大放电电流:600mA@3.3V LDO
  • 支持最大充电电流:500mA
  • 支持USB充电
  • 处理器:Tensilica LX6双核处理器(一核处理高速连接;一核独立应用开发)
  • 主频:240MHz
  • SRAM:520KB
  • Flash:16Mbit
  • Wi-Fi标准:FCC/CE/TELEC/KCC
  • Wi-Fi协议:802.11 b/g/n/d/e/i/k/r (802.11n,速度高达150 Mbps),A-MPDU和A-MSDU聚合,支持0.4us防护间隔
  • 频率范围:2.4~2.5 GHz
  • 蓝牙协议:符合蓝牙v4.2 BR/EDR和BLE标准
  • 蓝牙音频:CVSD和SBC音频低功耗:10uA
  • 工作电流:80mA(平均)
  • 频率范围:2.4~2.5GHz
  • 支持Arduino一键下载
  • 支持micropython
  • 片上时钟:40MHz晶振、32.768KHz晶振
  • 数字I/O:10(arduino默认)
  • 模拟输入:5(arduino默认)
  • SPI:1(arduino默认)
  • I2C:1(arduino默认)
  • I2S:1(arduino默认)
  • LED_BUILTIN:D9
  • 接口方式:FireBeetle系列兼容
  • 工作温度:-40℃~+85℃
  • 模块尺寸:24 × 53(mm)/0.94 x 2.09(inches)
  • 安装孔尺寸:内径3.1mm/外径6mm


引脚布局

FireBeetle Board - ESP32主板在硬件上除了兼容乐鑫官网的引脚布局,还做了特殊的 Arduino IDE的PIN兼容,使用Arduino IDE编译时可以直接使用Dx(x=0,1,2,3,4...)来控制相应的 GPIO 口。

Fig1: FireBeetle Board-ESP32 PinOUT
Warning yellow.png

注:NC不连接,VCC为电源电压输出(5V-USB 供电时, 3.7V-锂电池供电时)


使用教程

     DFRobot Raspberry Pi UPS HAT与树莓派引脚完全兼容,在使用上直接将UPS HAT插接在树莓派上即可。

Warning yellow.png

注:锂电池的放电电流需要大于2A,允许的最大充电电流大于2A。

锂电池校准

     DFRobot Raspberry Pi UPS HAT所需要挂载的锂电池是3.7V锂电池,锂电池的容量理论上可以是任何值,但为了保证在没有外部供电的情况下UPS HAT提供的电源更长,建议所使用的锂电池容量在2000mAH以上。

  • 第一次使用

     在第一次使用时,需要对锂电池进行校正,UPS HAT会对锂电池充分放电,直至锂电池电量为0,然后再充电,完成一次放电、充电过程后,UPS HAT会自动计算出该锂电池的实际容量。而后,UPS HAT会将相关数据保存在flash中,即使拔掉锂电池数据也不会丢失。在放电过程中,UPS HAT给树莓派供电,禁止USB电源输入端给UPS HAT充电,Power灯常亮,电池容量指示灯从左向右依次闪烁,表示初始化放电过程;在充电过程中,允许USB电源输入端给UPS HAT充电,电池容量指示灯从右向左依次闪烁,表示初始化充电过程。

Warning yellow.png

注:建议在初始化时,直接连接USB外部供电,当放电完成后,UPS HAT会自动开启USB外部供电充电功能。在放电过程中,必须连接上树莓派,否则消耗电流过小,UPS HAT默认树莓派出于关机状态,UPS HAT将自动断电。


  • 更换电池

     在实际使用过程中,或许会更换更大或者更小容量的电池,这时需要再次对UPS HAT进行初始化,并对新的锂电池重新校正。操作方法:拔掉锂电池->按住电源键->插上锂电池。这时,UPS HAT会恢复出厂设置,并开始对锂电池充分放电,过程和第一次使用一样。

电源按键

     DFRobot Raspberry Pi UPS HAT板载一个电源按键,可以强制给树莓派开机或关机。

  • 开机

     在关机状态下,所有指示灯全部熄灭,轻按一下电源按键开机,Power灯亮,电池电量指示灯亮(指示当前电池实际电量),并使能树莓派电源。

  • 树莓派关机

     在树莓派正常供电情况下,长按电源按键2秒,关闭树莓派电源,UPS仍处于开机状态,电池电量指示灯亮,当树莓派关机10~15s后,UPS自动关机。

  • UPS关机

     在树莓派正常供电情况下,长按电源按键5秒,关闭树莓派电源,关闭UPS电源,所有指示灯常灭。

如何给锂电池充电

     DFRobot Raspberry Pi UPS HAT提供了micro USB接口给锂电池充电,最大充电电流为2A,充电完成后,自动切断USB电源。在实际使用过程中,由于锂电池的老化,锂电池的实际容量将会发生变化,UPS HAT将根据实际容量进行校准。当UPS关机时,插上USB外部电源供电,UPS将自动开机,进行充电,并开机树莓派电源。

Warning yellow.png

注:当插上USB外部供电后,UPS将给锂电池充电,同时,将从USB外部电源端直接给树莓派供电;拔掉USB外部电源端后,UPS自动切换为锂电池供电。

指示灯

     DFRobot Raspberry Pi UPS HAT一共有5个指示灯,其中四个指示灯是用于当前电池电量百分比指示,当电池满电量时,四个指示灯全亮。其次,该四个指示灯还用于锂电池充电指示,插上USB充电时,灯会根据当前电量进行闪烁。

  • 电池电量指示

     在开机情况下,四个LED指示灯全亮,表示当前电池满容量,随后根据当前容量的百分比进行指示。

  • 充电指示

     插上USB后,进行电池充电,四个LED指示灯会依次从右向左Blink,表示正在充电。

  • 定时开机指示

     UPS HAT具有定时开启树莓派供电功能,当设定了定时开机时间后,Power指示灯会每5秒闪烁一次,表示定时开机功能开启。

  • 树莓派正常供电

     当UPS HAT正常给树莓派供电时,Power指示灯常亮,反之,常灭。

如何开启树莓派I2C外设

     一般情况下,树莓派系统默认没有开启I2C外设,需要手动进行开启,才能通过I2C总线访问DFRobot Raspberry Pi UPS HAT相关数据,如电池当前电量、设置定时开机时间等等。

  • 开启I2C外设功能

     在终端中输入命令: sudo raspi-config ,依次选择【 Interfacing Options 】(或者【 Advanced Options 】)->【 I2C 】->【 Yes 】->【 OK

step 1
step 2
step 3
step 4


     配置完成后重启树莓派生效(重启命令:reboot

  • 查看I2C外设是否配置正确

     用lsmod命令查看树莓派是否成功配置I2C外设,如下图所示:

step 5:成功导入I2C模块


  • 安装测试I2C设备的工具

     命令如下:

sudo apt-get install i2c-tools

     测试是否安装正确,命令:

sudo i2cdetect -y l
step 7:检测到总线上的I2C设备


     如果出现如下图所示问题

step 8:什么设备也没连接

则需要更改 raspi-blacklist.conf 配置, raspi-blacklist.conf /etc/modprobe.d/ 目录下,输入命令:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

    在i2c设备驱动前加“#”,例如:#blacklist i2c-bcm2835,这样I2C外设就可以正常使用了。

  • 安装UPS软件

     DFRobot针对UPS HAT提供了C语言版本和python版本的软件,可以直接使用该文件进行UPS HAT数据访问,点击下载raspberrypi_ups.py,或者在树莓派终端通过git命令直接获取,输入命令:

git clone https://github.com/DFRobot/raspberrypi_ups.git
step 9

下载成功后会有一个raspberrypi_ups目录,如下图所示:

step 10:raspberpi_ups目录


  • 安装脚本

     用cd命令进入raspiberrypi_ups目录中,通过ls命令查看该目录下的内容

cd raspiberrypi_ups
ls
step 11

通过如下命令安装:

sh setup.sh

通过如下命令卸载:

sh uninstall.sh

使用

  • 查看帮助信息

     显示帮助信息,输入如下命令:

ups -h
step 12:帮助信息

当然也可以通过python命令来获取帮助信息,进入pythonups目录(命令:cd pythonups),命令如下:

python ups.py -h
step 13:脚本帮助信息
  • 查看当前UPS状态

     通过如下命令可以实时查看当前DFRobot Raspberry Pi UPS HAT状态。

ups -i
step 14
  • 设置RGB灯
ups -rgb 100 100 100
  • 定时关机

     如在5分钟后自动关闭树莓派,树莓派关机后,UPS将自动关机。

ups -s 5
  • 定时开机

     如设置5分钟后开启树莓派,定时时间计算是以实际的UPS关机后开始计算,最大定时时间为65536分钟,即1092小时。

ups -t 5
  • 定时运行某个特定程序

     定时运行某个特点程序,是指树莓派正常开机后,定时一段时间运行<exe>程序。

ups -r <min> <exe>
  • 音频功放

     设置音频功放的使能,0表示关闭,1表示使能

ups -a 1

你可以通过命令alsamixer来调节音量大小

step 15:通过键盘上的“↑”和“↓”调节
  • 设置关机电流

     设置树莓派的关机电流,单位是mA,当放电电流低于这个值时,被视为外设已经关机,持续10秒后,UPS进入关机状态。最小值为10mA

ups -e 10
  • 设置看门狗

     正常安装UPS驱动文件后,会在后台自动运行看门狗程序。默认情况下,看门狗超时时间是30秒,如果超时没有给UPS HAT喂狗(与UPS HAT进行通信即可),UPS HAT视为树莓派已经死机,并将强制给树莓派断电重启。看门狗可设置范围为:0x1E~0XFF。设置方法如下:进入树莓派终端,用nano打开ups_wdog.c文件。

nano raspberrypi_ups/ups_wdog.c

在代码的第七行更改参数为看门狗时间,代码如下:


#include <wiringPiI2C.h>
#include <unistd.h>
#include <signal.h>
#define ID 0x18
int fd;
void fun(int signal_num){
    wiringPiI2CWriteReg8(fd,0x09,0x2);
}

void main(){
    fd = wiringPiI2CSetup(0x18);
    signal(SIGTERM,fun);
    while(1){
        wiringPiI2CWriteReg8(fd,0x0f,0x1e);  //0x1e为看门狗时间,更改该参数即可更改看门狗时间
        sleep(5);
    }
}

设置完成后,保存该文件,重新安装驱动。通过如下命令安装:

sh setup.sh

重启树莓派生效。

DFRobot Raspberry Pi UPS HAT寄存器

DFRobot Raspberry Pi UPS HAT寄存器一览表
寄存器(8bit) 功能 读写 数据范围 默认值 数据说明
0x00 产品ID R 0xDF 该位用于产品校验
0x01 版本 R 0x10 该位用于版本校验[0x10表示V1.0]
0x02 锂电池电量 R 0x00-0x64 0x00 0~100%
0x03

0x04

ADC1高位

ADC1低位

R

R

0x00-0x0F

0x00-0xFF

0x00

0x00

如高位0x01,低位0x02,表示ADC1读取值为0x0102。ADC采集范围为0~1023
0x05

0x06

ADC2高位

ADC2低位

R

R

0x00-0x0F

0x00-0xFF

0x00

0x00

如高位0x01,低位0x02,表示ADC2读取值为0x0102。ADC采集范围为0~1023
0x07

0x08

VCC电压高位

VCC电压低位

R

R

0x00-0x10

0x00-0x68

【单位:毫伏(mV)】

当前电压值

0x09 功能使能寄存器 R/W 0x00-0xFF 0x00 【bit0为1表示音频功放开,Bit0为0表示音频功放关】

0x01:使能功放设备

0x0A RGB灯R控制 R/W 0x00-0xFF 0x00 设置RED控制引脚占空比,设置范围:0~255
0x0B RGB灯G控制 R/W 0x00-0xFF 0x00 设置GREEN控制引脚占空比,设置范围:0~255
0x0C RGB灯B控制 R/W 0x00-0xFF 0x00 设置BLUE控制引脚占空比,设置范围:0~255
0x0D

0x0E

定时通电时间设置高位

定时时间设置低位

R/W 0x00-0xFF 0x00 【单位:分(min)】

高位0x01低位0x02表示设置定时开机时间为0x0102即258分钟

Note:设置好以后在断电使能执行后开始计时,定时通电之后所有位清零。所有位为0表示无此功能


0x0F 看门狗时间设置 R/W 0x00-0xFF 0x1E 【单位:秒(sec)】

0x1E表示设置喂狗时间为30秒

Note:从通电到等待第一次接收I2C数据,等待时长设置为2分钟,之后按照设置的时间30秒进行看门狗功能。当30秒内与树莓派没有通信,则强制给树莓派断电重启

0x10 设置关机电流 R/W 0x0A~0xFF 0x0A 【单位:毫安(mA)】

当放电电流低于这个值时,被视为外设已经关机,持续10秒后,UPS进入关机状态


尺寸图

  • pin脚间距:2.54mm
  • 安装孔间距:24mm/53mm
  • 安装孔尺寸:3.1mm
  • 主板尺寸:29.00mm×58.00mm
  • 板厚:1.6mm
Fig1: FireBeetle Board-ESP32主板尺寸图

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


个人工具
名字空间

变换
操作
导航
工具箱