AE3 Battery Shield¶
Das AE3 Battery Shield versorgt die OpenMV AE3 aus einer breiten Palette von Quellen — 5–36 V, eine 3,7-V-Li-Po-Zelle oder 1,8–5,5 V für 3 in Reihe geschaltete Alkali-Zellen — und ergänzt einen SPI-microSD-Kartensockel an P0–P3. Alle drei Stromeingänge landen auf JST-Klemmen; das Shield wird mit einem JST-auf-Pigtail-Adapter für den Weitbereichseingang und einem JST-auf-DC-Hohlstecker-Adapter für den Alkali-Eingang geliefert.
Vollständiges Datenblatt, Fotos und Bestellinformationen finden Sie auf der Produktseite des AE3 Battery Shield.
Highlights¶
HV PWR — 5–36 V, verpolungstolerant bis −36 V. Versorgt die AE3 mit 3,3 V (bis zu 600 mA).
BAT — 3,7-V-Einzelzellen-Li-Po. Versorgt die AE3 mit 3,0 V (bis zu 800 mA). Das On-Board-Ladegerät arbeitet mit einem Ladestrom von 100 mA, sobald 3,3 V am Shield verfügbar sind — bereitgestellt über USB, HV PWR oder 3,3 V, die der AE3 über ihren Qwiic-Anschluss zugeführt werden. Ein 6,25-Stunden-Sicherheitstimer begrenzt die unterstützte Akkukapazität auf 625 mAh.
LV PWR — 1,8–5,5 V für 3 in Reihe geschaltete Alkali-Zellen, verpolungstolerant bis −5,5 V. Versorgt die AE3 mit 3,0 V (bis zu 800 mA).
microSD-Kartensockel, über SPI an
P0–P3angeschlossen, mit einem softwaregesteuerten Stromschalter anP11.
Bemerkung
Das Shield wird mit einem Gehäuse geliefert, das die AE3 fest gegen den Steckverbinder hält. Vier M1.6-Befestigungslöcher in den Ecken ermöglichen es, das Shield an einem Gehäuse oder einer Halterung festzuschrauben.
Tipp
Verwenden Sie den Batterielaufzeit-Schätzer, um zu modellieren, wie lange die über dieses Shield versorgte AE3 mit einem bestimmten Akku bei einem bestimmten Aktiv-/Tiefschlaf-Tastverhältnis läuft.
Pin-Referenz¶
Pin |
Funktion |
|---|---|
P0 |
microSD-SPI MOSI |
P1 |
microSD-SPI MISO |
P2 |
microSD-SPI SCLK |
P3 |
microSD-SPI CS |
P6 |
Ladegerät power-good (niedrig, wenn 3,3 V am Shield anliegen — USB, HV PWR oder Qwiic 3,3 V; das Laden erfolgt nur, solange dies niedrig ist) |
P7 |
Ladegerät charging (niedrig, während der Li-Po geladen wird) |
P8 |
Li-Po-Akkuspannungsüberwachung — das Shield teilt 0–5 V am Pin auf 0–1,8 V herunter |
P9 |
LV-Eingangsspannungsüberwachung — das Shield teilt 0–6 V am Pin auf 0–1,8 V herunter |
P11 |
microSD power enable (auf High treiben, um die Karte zu versorgen) |
HV PWR in |
5–36 V an einer JST-Klemme (verpolungstolerant; JST-auf-Pigtail-Adapter enthalten) |
BAT in |
3,7-V-Einzelzellen-Li-Po an einer JST-Klemme |
LV PWR in |
1,8–5,5 V an einer JST-Klemme für 3 in Reihe geschaltete Alkali-Zellen (verpolungstolerant; JST-auf-DC-Hohlstecker-Adapter enthalten) |
3,3-V-Schiene |
Versorgt die AE3 und die On-Board-Elektronik des Shields |
GND-Schiene |
Gemeinsame Masse |
Verwendung¶
Stecken Sie eine AE3 auf das Shield und verbinden Sie einen beliebigen der drei Stromeingänge — das Shield verknüpft die Schienen intern per ODER und versorgt die AE3 aus derjenigen Quelle, die gerade vorhanden ist.
Bemerkung
Wenn nur BAT angeschlossen ist (kein USB, kein HV PWR und keine Qwiic-3,3-V-Versorgung des Shields), läuft die AE3 mit 3,0 V aus dem Li-Po, das Ladegerät ist im Leerlauf und beide Status-LEDs sind aus.
Der microSD-Sockel wird am SPI-Bus der AE3 über machine.SPI und den Standard-sdcard-Treiber bereitgestellt. Treiben Sie P11 auf High, um die Karte zu versorgen, kapseln Sie dann das Blockgerät in ein VfsFat und binden Sie es unter /sdcard ein:
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"))
Überwachen Sie den Status des Ladegeräts, indem Sie seine beiden Status-Pins auslesen. P6 (power-good) geht auf Low, sobald 3,3 V am Shield anliegen — von USB, HV PWR oder über den Qwiic-Anschluss der AE3 zurückgespeisten 3,3 V — was auch der Zeitpunkt ist, zu dem das Ladegerät arbeiten darf. P7 (charging) geht auf Low, während der Li-Po tatsächlich geladen wird. Beide Pins treiben außerdem On-Board-Status-LEDs an — P6 lässt eine grüne LED leuchten, P7 eine rote 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")
Überwachen Sie die Li-Po-Akku- und die LV-Eingangsspannung an P8 und P9. Das Shield teilt jede Versorgung auf den 1,8-V-ADC-Bereich der AE3 herunter, skalieren Sie den Messwert daher anhand des Vollausschlagbereichs des Eingangs wieder hoch:
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)