Servo Shield¶
Servo Shield(v3)可直接從 OpenMV Cam 驅動最多四個標準玩具級伺服馬達。其板載穩壓器可在端子台上接受 6–36 V 輸入,並提供 5.6 V、最高 5 A 的輸出——足以從單一電源同時為相機與伺服馬達供電。
如需完整的資料表、照片與訂購資訊,請參閱 Servo Shield 產品頁面。
重點特色¶
透過 P7 / P8 / P9 / P10 驅動最多四個玩具級伺服馬達
端子台上的 6–36 V 輸入(具反向電壓耐受能力)
VIN 上提供 5.6 V、最高 5 A——為相機與伺服馬達供電
0–5 V ADC 輸入,具高達 ±36 V 的過電壓保護
雙向 0–5 V 數位 I/O,具 3.3 V 至 5 V 位準位移
接腳圖¶
接腳參考¶
接腳 |
功能 |
|---|---|
P6 |
經位準位移的 AIN 回讀(P6 上為 0–3.3 V) |
P7 |
伺服馬達 1——雙向 3.3 V ↔ 5 V GPIO |
P8 |
伺服馬達 2——雙向 3.3 V ↔ 5 V GPIO |
P9 |
伺服馬達 3——雙向 3.3 V ↔ 5 V GPIO |
P10 |
伺服馬達 4——雙向 3.3 V ↔ 5 V GPIO |
PWR 輸入 |
端子台上的 6–36 V 寬輸入(具反向電壓耐受能力) |
AIN 輸入 |
端子台上的類比輸入 |
VIN 輸出 |
5.6 V 穩壓輸出,伺服馬達與相機合計最高 5 A |
3.3V 電源軌 |
為擴充板的板載電子元件供電 |
GND 電源軌 |
共用接地 |
備註
AIN 具備高達 ±36 V 的過電壓保護,預設為 0–5 V 電壓輸入,並降壓縮放為 P6 上的 0–3.3 V。將擴充板背面的 4–20 mA 模式分流器橋接起來,即可將 AIN 切換為 4–20 mA 電流迴路輸入。
備註
P6–P10 各接腳皆透過擴充板背面的 0 歐姆電阻接至相機。移除任一想回收作為其他用途接腳上的電阻即可。
備註
在 v2 版本的擴充板上,P6–P9 為單向 3.3 V → 5 V 位準位移器(僅輸出)。P10 是一條開漏式數位線路,相機端上拉至 3.3 V,伺服接腳側上拉至 5 V。預設為輸入——擴充板會將伺服接腳上的 0–5 V 位準位移降至 P10 上的 0–3.3 V。變更板載焊接跳線即可將 P10 翻轉為輸出,將 P10 上的 0–3.3 V 位準位移升至伺服接腳上的 0–5 V。
使用方式¶
以 50 Hz PWM 訊號從 P7–P10 任一接腳驅動玩具級伺服馬達。各伺服馬達的脈衝寬度範圍各異,因此請調整 MIN_US 與 MAX_US 以符合您的伺服馬達——典型值約為 1000–2000 µs:
from machine import Pin, PWM
import time
MIN_US = 1000 # full-left pulse width (microseconds)
MAX_US = 2000 # full-right pulse width
servo = PWM(Pin("P7"), freq=50)
def angle(deg):
pulse_us = MIN_US + (deg * (MAX_US - MIN_US)) // 180
servo.duty_ns(pulse_us * 1000)
while True:
angle(0)
time.sleep(1)
angle(90)
time.sleep(1)
angle(180)
time.sleep(1)
讀取 AIN 端子台輸入(經位準位移的結果會出現在 P6 上):
from machine import ADC
import time
ain = ADC("P6")
while True:
# 0–5 V on the AIN terminal scaled to 0–3.3 V on P6
v = ain.read_u16() * 3.3 / 65535
print("AIN:", v * (5.0 / 3.3), "V")
time.sleep_ms(100)