AE3 电池扩展板¶
AE3 电池扩展板可通过多种电源为 OpenMV AE3 供电——5–36 V、一节 3.7 V 锂聚合物电池,或为 3 节串联的碱性电池提供 1.8–5.5 V——并在 P0–P3 上增加了一个 SPI microSD 卡插槽。所有三路电源输入都接到 JST 端子上;扩展板随附一个用于宽范围输入的 JST 转猪尾线适配器和一个用于碱性电池输入的 JST 转 DC 圆头插孔适配器。
完整的数据手册、照片和订购信息请参阅 AE3 电池扩展板产品页面。
亮点¶
HV PWR —— 5–36 V,可耐受 −36 V 的反向电压。以 3.3 V(最高 600 mA)为 AE3 供电。
BAT —— 3.7 V 单节锂聚合物电池。以 3.0 V(最高 800 mA)为 AE3 供电。只要扩展板上有 3.3 V 可用——由 USB、HV PWR 或通过 Qwiic 连接器馈入 AE3 的 3.3 V 提供——板载充电器便以 100 mA 充电电流 运行。一个 6.25 小时的安全定时器将支持的电池容量上限设为 625 mAh。
LV PWR —— 1.8–5.5 V,用于 3 节串联的碱性电池,可耐受 −5.5 V 的反向电压。以 3.0 V(最高 800 mA)为 AE3 供电。
microSD 卡插槽 通过 SPI 接到
P0–P3,并在P11上配有软件控制的电源开关。
备注
扩展板随附一个外壳,可将 AE3 牢固地固定在连接器上。四个边角处的 M1.6 安装孔让你能够将扩展板螺接到机壳或夹具上。
小技巧
使用 电池寿命估算器 来推算在给定的有源/深度睡眠占空比下,通过此扩展板供电的 AE3 在给定电池上能运行多久。
引脚参考¶
引脚 |
功能 |
|---|---|
P0 |
microSD SPI MOSI |
P1 |
microSD SPI MISO |
P2 |
microSD SPI SCLK |
P3 |
microSD SPI CS |
P6 |
充电器 电源正常(当扩展板上存在 3.3 V 时为低电平——来自 USB、HV PWR 或 Qwiic 3.3 V;只有在此为低电平时才会进行充电) |
P7 |
充电器 充电中(在锂聚合物电池正在充电时为低电平) |
P8 |
锂聚合物电池电压监测——扩展板在该引脚处将 0–5 V 分压到 0–1.8 V |
P9 |
LV 输入电压监测——扩展板在该引脚处将 0–6 V 分压到 0–1.8 V |
P11 |
microSD 电源使能(拉高以为卡供电) |
HV PWR 输入 |
JST 端子上的 5–36 V(可耐受反向电压;随附 JST 转猪尾线适配器) |
BAT 输入 |
JST 端子上的 3.7 V 单节锂聚合物电池 |
LV PWR 输入 |
JST 端子上的 1.8–5.5 V,用于 3 节串联的碱性电池(可耐受反向电压;随附 JST 转 DC 圆头插孔适配器) |
3.3V 电源轨 |
为 AE3 和扩展板的板载电子器件供电 |
GND 电源轨 |
公共地 |
用法¶
将 AE3 插到扩展板上,并连接三路电源输入中的任意一路——扩展板会在内部对各电源轨进行或运算,并从存在的电源中为 AE3 供电。
备注
在仅连接 BAT(没有 USB、HV PWR 或 Qwiic 3.3 V 馈入扩展板)时,AE3 以 3.0 V 由锂聚合物电池供电,充电器处于空闲状态,两个状态 LED 均熄灭。
microSD 插槽通过 machine.SPI 和标准 sdcard 驱动暴露在 AE3 的 SPI 总线上。将 P11 拉高以为卡供电,然后将块设备封装进 VfsFat 并将其挂载到 /sdcard:
import os
import machine
import sdcard
machine.Pin("P11", machine.Pin.OUT, value=1) # enable card power
spi = machine.SPI(0)
cs = machine.Pin("P3", machine.Pin.OUT, value=1)
sd = sdcard.SDCard(spi, cs, baudrate=20_000_000)
os.mount(os.VfsFat(sd), "/sdcard")
print(os.listdir("/sdcard"))
通过读取充电器的两个状态引脚来监视其状态。一旦扩展板上存在 3.3 V——来自 USB、HV PWR 或通过 AE3 的 Qwiic 馈回的 3.3 V——P6(电源正常)便变为低电平,这也是允许充电器运行的时刻。在锂聚合物电池实际充电时,P7(充电中)变为低电平。这两个引脚还驱动板载状态 LED——P6 点亮一个 绿色 LED,P7 点亮一个 红色 LED:
from machine import Pin
pg = Pin("P6", Pin.IN, Pin.PULL_UP)
chg = Pin("P7", Pin.IN, Pin.PULL_UP)
if not pg.value():
print("Charger powered")
if not chg.value():
print("Battery charging")
else:
print("Battery full or no battery")
else:
print("Running off battery only")
在 P8 和 P9 上监测锂聚合物电池电压和 LV 输入电压。扩展板将每路电源分压到 AE3 的 1.8 V ADC 范围内,因此请按输入的满量程范围将读数按比例放大回去:
from machine import ADC
import time
lipo = ADC("P8") # 0–5 V at the input
lv = ADC("P9") # 0–6 V at the input
while True:
# 0–1.8 V at the pin → 0–5 V on the battery rail
vbat = lipo.read_u16() * 1.8 / 65535 * (5.0 / 1.8)
# 0–1.8 V at the pin → 0–6 V on the LV rail
vlv = lv.read_u16() * 1.8 / 65535 * (6.0 / 1.8)
print("Li‑Po:", vbat, "V LV:", vlv, "V")
time.sleep_ms(500)