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