AE3 Battery Shield

AE3 Battery Shield จ่ายไฟให้ OpenMV AE3 จากแหล่งจ่ายหลากหลาย — 5–36 V, แบตเตอรี่ Li‑Po 3.7 V หนึ่งก้อน หรือ 1.8–5.5 V สำหรับแบตเตอรี่อัลคาไลน์ 3 ก้อนต่ออนุกรม — และเพิ่มช่องเสียบ microSD แบบ SPI ที่พิน P0P3 ทั้งสามช่องจ่ายไฟเชื่อมต่อผ่านขั้วต่อ JST; โล่มาพร้อมอะแดปเตอร์ JST เป็นสายไปยังขั้ว HV input และอะแดปเตอร์ JST เป็นขั้ว DC barrel jack สำหรับขั้ว alkaline input

AE3 Battery Shield

สำหรับ datasheet ฉบับสมบูรณ์ รูปภาพ และการสั่งซื้อ ดูได้ที่ หน้าผลิตภัณฑ์ AE3 Battery Shield

จุดเด่น

  • HV PWR — 5–36 V, ทนแรงดันย้อนกลับถึง −36 V จ่ายไฟให้ AE3 ที่ 3.3 V (สูงสุด 600 mA)

  • BAT — Li‑Po หนึ่งก้อน 3.7 V จ่ายไฟให้ AE3 ที่ 3.0 V (สูงสุด 800 mA) วงจรชาร์จบนบอร์ดทำงานด้วย กระแสชาร์จ 100 mA เมื่อมีแรงดัน 3.3 V บนโล่ — ซึ่งมาจาก USB, HV PWR หรือ 3.3 V ที่ป้อนเข้า AE3 ผ่านขั้วต่อ Qwiic ตัวจับเวลาความปลอดภัย 6.25 ชั่วโมง จำกัดความจุแบตเตอรี่ที่รองรับไว้ที่ 625 mAh

  • LV PWR — 1.8–5.5 V สำหรับ แบตเตอรี่อัลคาไลน์ 3 ก้อนต่ออนุกรม ทนแรงดันย้อนกลับถึง −5.5 V จ่ายไฟให้ AE3 ที่ 3.0 V (สูงสุด 800 mA)

  • ช่องเสียบ microSD ต่อกับ P0P3 ผ่าน SPI พร้อมสวิตช์ควบคุมพลังงานด้วยซอฟต์แวร์ที่ P11

Note

โล่มาพร้อมกับเคสที่ยึด AE3 ให้แน่นกับขั้วต่อ รูยึด M1.6 ที่มุมทั้งสี่ช่วยให้สามารถขันสกรูโล่เข้ากับเคสหรืออุปกรณ์ยึดได้

Tip

ใช้ เครื่องมือประมาณอายุแบตเตอรี่ เพื่อจำลองว่า AE3 ที่จ่ายไฟผ่านโล่นี้จะทำงานได้นานเท่าใดกับแบตเตอรี่ที่กำหนดและรอบการทำงาน active / deep-sleep ที่กำหนด

อ้างอิงพิน

พิน

ฟังก์ชัน

P0

microSD SPI MOSI

P1

microSD SPI MISO

P2

microSD SPI SCLK

P3

microSD SPI CS

P6

power‑good ของวงจรชาร์จ (ต่ำเมื่อมีแรงดัน 3.3 V บนโล่ — USB, HV PWR หรือ Qwiic 3.3 V; การชาร์จจะเกิดขึ้นเฉพาะเมื่อพินนี้ต่ำ)

P7

charging ของวงจรชาร์จ (ต่ำขณะที่กำลังชาร์จ Li‑Po)

P8

มอนิเตอร์แรงดันแบตเตอรี่ Li‑Po — โล่แบ่งแรงดัน 0–5 V ลงเป็น 0–1.8 V ที่พิน

P9

มอนิเตอร์แรงดัน LV input — โล่แบ่งแรงดัน 0–6 V ลงเป็น 0–1.8 V ที่พิน

P11

microSD power enable (ขับสูงเพื่อเปิดใช้งานการ์ด)

HV PWR in

5–36 V บนขั้วต่อ JST (ทนแรงดันย้อนกลับ; มีอะแดปเตอร์ JST เป็นสายแถมมาด้วย)

BAT in

Li‑Po หนึ่งก้อน 3.7 V บนขั้วต่อ JST

LV PWR in

1.8–5.5 V บนขั้วต่อ JST สำหรับแบตเตอรี่อัลคาไลน์ 3 ก้อนต่ออนุกรม (ทนแรงดันย้อนกลับ; มีอะแดปเตอร์ JST เป็นขั้ว DC barrel jack แถมมาด้วย)

ราง 3.3V

จ่ายไฟให้ AE3 และวงจรอิเล็กทรอนิกส์บนบอร์ดของโล่

ราง GND

กราวด์ร่วม

การใช้งาน

เสียบ AE3 เข้ากับโล่และต่อแหล่งจ่ายไฟใดก็ได้หนึ่งอันจากสามช่อง — โล่จะรวม (OR) ราง voltageภายในและจ่ายไฟให้ AE3 จากแหล่งที่มี

Note

หากต่อเฉพาะ BAT (ไม่มี USB, HV PWR หรือ Qwiic 3.3 V ป้อนให้โล่) AE3 จะทำงานที่ 3.0 V จาก Li‑Po วงจรชาร์จจะไม่ทำงาน และ LED แสดงสถานะทั้งสองจะดับ

ช่องเสียบ microSD เชื่อมต่อผ่านบัส SPI ของ AE3 ผ่าน machine.SPI และไดรเวอร์ sdcard มาตรฐาน ขับ P11 ให้สูงเพื่อเปิดใช้งานการ์ด จากนั้นห่อ block device ใน VfsFat แล้ว mount ที่ /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"))

ตรวจสอบสถานะวงจรชาร์จด้วยการอ่านพินสถานะสองพิน P6 (power‑good) จะต่ำทันทีที่มีแรงดัน 3.3 V บนโล่ — จาก USB, HV PWR หรือ 3.3 V ที่ป้อนกลับผ่าน Qwiic ของ AE3 — ซึ่งเป็นช่วงเดียวที่อนุญาตให้วงจรชาร์จทำงานได้ P7 (charging) จะต่ำขณะที่กำลังชาร์จ Li‑Po จริงๆ ทั้งสองพินยังขับ 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")

มอนิเตอร์แรงดันแบตเตอรี่ Li‑Po และ LV input ที่ P8 และ P9 โล่แบ่งแรงดันแต่ละตัวลงมาที่ช่วง ADC 1.8 V ของ AE3 ดังนั้นจึงต้องสเกลค่าที่อ่านได้กลับขึ้นโดยใช้ช่วงสเกลเต็มของ input:

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)