AE3 Battery Shield

AE3 Battery Shield cấp nguồn cho OpenMV AE3 từ nhiều loại nguồn khác nhau — 5–36 V, pin Li‑Po 3,7 V, hoặc 1,8–5,5 V cho 3 pin kiềm nối tiếp — và bổ sung khe cắm microSD qua SPI trên P0P3. Cả ba đầu vào nguồn đều dùng đầu nối JST; shield đi kèm với bộ chuyển đổi JST‑sang‑dây nối cho đầu vào điện áp cao và bộ chuyển đổi JST‑sang‑jack‑DC cho đầu vào pin kiềm.

AE3 Battery Shield

Để xem datasheet đầy đủ, ảnh sản phẩm và thông tin đặt hàng, hãy truy cập trang sản phẩm AE3 Battery Shield.

Điểm nổi bật

  • HV PWR — 5–36 V, chịu được điện áp ngược đến −36 V. Cấp nguồn cho AE3 ở mức 3,3 V (tối đa 600 mA).

  • BAT — Pin Li‑Po đơn 3,7 V. Cấp nguồn cho AE3 ở mức 3,0 V (tối đa 800 mA). Bộ sạc tích hợp hoạt động ở dòng sạc 100 mA bất cứ khi nào có 3,3 V trên shield — được cấp từ USB, HV PWR, hoặc 3,3 V đưa vào AE3 qua đầu nối Qwiic. Bộ hẹn giờ an toàn 6,25 giờ giới hạn dung lượng pin được hỗ trợ tối đa là 625 mAh.

  • LV PWR — 1,8–5,5 V cho 3 pin kiềm nối tiếp, chịu được điện áp ngược đến −5,5 V. Cấp nguồn cho AE3 ở mức 3,0 V (tối đa 800 mA).

  • Khe cắm microSD kết nối với P0P3 qua SPI, với công tắc nguồn điều khiển bằng phần mềm trên P11.

Ghi chú

Shield đi kèm với vỏ giữ AE3 chắc chắn vào đầu nối. Bốn lỗ bắt vít M1.6 ở bốn góc cho phép bắt chặt shield vào vỏ máy hoặc giá đỡ.

Mẹo

Sử dụng công cụ ước tính tuổi thọ pin để tính toán thời gian hoạt động của AE3 khi được cấp nguồn qua shield này với loại pin và chu kỳ hoạt động/ngủ sâu nhất định.

Tham chiếu chân

Chân

Chức năng

P0

microSD SPI MOSI

P1

microSD SPI MISO

P2

microSD SPI SCLK

P3

microSD SPI CS

P6

Nguồn tốt của bộ sạc (mức thấp khi có 3,3 V trên shield — USB, HV PWR, hoặc Qwiic 3,3 V; việc sạc chỉ xảy ra khi chân này ở mức thấp)

P7

Đang sạc của bộ sạc (mức thấp khi pin Li‑Po đang được sạc)

P8

Cảm biến điện áp pin Li‑Po — shield phân áp 0–5 V xuống còn 0–1,8 V tại chân

P9

Cảm biến điện áp đầu vào LV — shield phân áp 0–6 V xuống còn 0–1,8 V tại chân

P11

Bật nguồn microSD (kéo lên cao để cấp nguồn cho thẻ)

HV PWR in

5–36 V trên đầu nối JST (chịu được điện áp ngược; kèm bộ chuyển đổi JST‑sang‑dây nối)

BAT in

Pin Li‑Po đơn 3,7 V trên đầu nối JST

LV PWR in

1,8–5,5 V trên đầu nối JST cho 3 pin kiềm nối tiếp (chịu được điện áp ngược; kèm bộ chuyển đổi JST‑sang‑jack‑DC)

3.3V rail

Cấp nguồn cho AE3 và các linh kiện tích hợp trên shield

GND rail

Đất chung

Sử dụng

Cắm AE3 vào shield và kết nối một trong ba đầu vào nguồn — shield tự động kết hợp các nguồn nội bộ và cấp điện cho AE3 từ nguồn nào đang có.

Ghi chú

Khi chỉ kết nối BAT (không có USB, HV PWR, hoặc Qwiic 3,3 V cấp cho shield), AE3 chạy ở mức 3,0 V từ pin Li‑Po, bộ sạc ở trạng thái chờ và cả hai đèn LED trạng thái đều tắt.

Khe cắm microSD được truy cập qua bus SPI của AE3 thông qua machine.SPI và driver sdcard chuẩn. Kéo P11 lên cao để cấp nguồn cho thẻ, sau đó bọc thiết bị khối trong VfsFat và gắn kết tại /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"))

Theo dõi trạng thái bộ sạc bằng cách đọc hai chân trạng thái. P6 (nguồn tốt) xuống mức thấp ngay khi có 3,3 V trên shield — từ USB, HV PWR, hoặc 3,3 V đưa trở lại qua Qwiic của AE3 — đây cũng là lúc bộ sạc được phép hoạt động. P7 (đang sạc) xuống mức thấp khi pin Li‑Po đang thực sự được sạc. Cả hai chân cũng điều khiển đèn LED trạng thái tích hợp — P6 bật đèn LED xanh lá, P7 bật đèn 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")

Theo dõi điện áp pin Li‑Po và điện áp đầu vào LV trên P8P9. Shield phân áp mỗi nguồn xuống dải ADC 1,8 V của AE3, vì vậy cần nhân kết quả đọc lại với dải toàn thang của đầu vào:

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)