AE3 Battery Shield

O AE3 Battery Shield alimenta a OpenMV AE3 a partir de uma vasta gama de fontes — 5–36 V, uma célula Li-Po de 3,7 V, ou 1,8–5,5 V para 3 pilhas alcalinas em série — e adiciona um conector microSD em SPI nos pinos P0P3. As três entradas de alimentação ligam-se a terminais JST; o shield inclui um adaptador JST para pigtail para a entrada de alta tensão e um adaptador JST para conector DC barrel para a entrada alcalina.

AE3 Battery Shield

Para datasheet completo, fotografias e encomendas consulte a página do produto AE3 Battery Shield.

Destaques

  • HV PWR — 5–36 V, tolerante a inversão de polaridade até −36 V. Alimenta a AE3 a 3,3 V (até 600 mA).

  • BAT — Li-Po de célula única a 3,7 V. Alimenta a AE3 a 3,0 V (até 800 mA). O carregador integrado funciona a uma corrente de carga de 100 mA sempre que 3,3 V estão disponíveis no shield — fornecidos por USB, HV PWR, ou 3,3 V injetados na AE3 pelo conector Qwiic. Um temporizador de segurança de 6,25 h limita a capacidade máxima suportada da bateria a 625 mAh.

  • LV PWR — 1,8–5,5 V para 3 pilhas alcalinas em série, tolerante a inversão de polaridade até −5,5 V. Alimenta a AE3 a 3,0 V (até 800 mA).

  • Conector microSD ligado aos pinos P0P3 via SPI, com interruptor de alimentação controlado por software em P11.

Nota

O shield é fornecido com uma caixa que mantém a AE3 firmemente encostada ao conector. Quatro furos de montagem M1.6 nos cantos permitem fixar o shield a uma caixa ou suporte.

Dica

Utilize o estimador de autonomia de bateria para modelar quanto tempo a AE3 alimentada através deste shield funcionará com uma determinada bateria e um dado ciclo de trabalho ativo/sono profundo.

Referência de pinos

Pino

Função

P0

microSD SPI MOSI

P1

microSD SPI MISO

P2

microSD SPI SCLK

P3

microSD SPI CS

P6

Carregador power-good (baixo quando 3,3 V estão presentes no shield — USB, HV PWR, ou 3,3 V via Qwiic; o carregamento só ocorre enquanto este sinal está baixo)

P7

Carregador a carregar (baixo enquanto o Li-Po está a ser carregado)

P8

Monitor de tensão da bateria Li-Po — o shield divide 0–5 V para 0–1,8 V no pino

P9

Monitor de tensão de entrada LV — o shield divide 0–6 V para 0–1,8 V no pino

P11

microSD power enable (colocar em nível alto para alimentar o cartão)

HV PWR in

5–36 V num terminal JST (tolerante a inversão de polaridade; adaptador JST para pigtail incluído)

BAT in

Li-Po de célula única a 3,7 V num terminal JST

LV PWR in

1,8–5,5 V num terminal JST para 3 pilhas alcalinas em série (tolerante a inversão de polaridade; adaptador JST para conector DC barrel incluído)

Rail 3.3V

Alimenta a AE3 e a eletrónica integrada do shield

Rail GND

Massa comum

Utilização

Ligue uma AE3 ao shield e conecte qualquer uma das três entradas de alimentação — o shield faz a combinação OR dos rails internamente e alimenta a AE3 a partir da fonte disponível.

Nota

Com apenas BAT ligado (sem USB, HV PWR, ou 3,3 V via Qwiic a alimentar o shield), a AE3 funciona a 3,0 V com o Li-Po, o carregador está inativo, e ambos os LEDs de estado estão apagados.

O conector microSD está exposto no barramento SPI da AE3 através de machine.SPI e do driver padrão sdcard. Coloque P11 em nível alto para alimentar o cartão, depois envolva o dispositivo de bloco num VfsFat e monte-o em /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"))

Monitorize o estado do carregador lendo os seus dois pinos de estado. P6 (power-good) fica baixo assim que 3,3 V estão presentes no shield — via USB, HV PWR, ou 3,3 V injetados pelo Qwiic da AE3 — que é também quando o carregador está autorizado a funcionar. P7 (a carregar) fica baixo enquanto o Li-Po está efetivamente a ser carregado. Ambos os pinos acionam também LEDs de estado integrados — P6 acende um LED verde, P7 acende um LED vermelho

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")

Monitorize as tensões da bateria Li-Po e da entrada LV em P8 e P9. O shield divide cada alimentação para o intervalo ADC de 1,8 V da AE3, pelo que é necessário reescalar a leitura para o intervalo completo de cada entrada:

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)