Servo Shield¶
A Servo Shield (v3) akár négy szabványos hobbi szervót hajt meg közvetlenül az OpenMV Cam-ről. A beépített szabályzója 6–36 V-os bemenetet fogad a sorkapcson, és 5,6 V-ot szolgáltat akár 5 A-ig — ami elég ahhoz, hogy egyetlen tápforrásból táplálja mind a kamerát, mind a szervókat.
A teljes adatlapért, fényképekért és rendelésért lásd a Servo Shield termékoldalt.
Kiemelt jellemzők¶
Akár négy hobbi szervó meghajtása a P7 / P8 / P9 / P10 lábakon keresztül
6–36 V bemenet a sorkapcson (fordított polaritást tűrő)
5,6 V akár 5 A-ig a VIN-en — a kamerát és a szervókat táplálja
0–5 V ADC bemenet ±36 V-ig terjedő túlfeszültség-védelemmel
Kétirányú 0–5 V digitális I/O, 3,3 V-ról 5 V-ra történő szintillesztéssel
Lábkiosztás¶
Láb-referencia¶
Láb |
Funkció |
|---|---|
P6 |
Szintillesztett AIN visszaolvasás (0–3,3 V a P6-on) |
P7 |
Servo 1 — bidirectional 3.3 V ↔ 5 V GPIO |
P8 |
Servo 2 — bidirectional 3.3 V ↔ 5 V GPIO |
P9 |
Servo 3 — bidirectional 3.3 V ↔ 5 V GPIO |
P10 |
Servo 4 — bidirectional 3.3 V ↔ 5 V GPIO |
PWR bemenet |
6–36 V széles bemenet a sorkapcson (fordított polaritást tűrő) |
AIN bemenet |
Analóg bemenet a sorkapcson |
VIN kimenet |
5,6 V szabályozott, akár 5 A együttesen a szervók és a kamera számára |
3,3V sín |
A shield beépített elektronikáját táplálja |
GND sín |
Közös föld |
Megjegyzés
Az AIN ±36 V-ig túlfeszültség-védett, és alapértelmezetten 0–5 V-os feszültségbemenet, amely 0–3,3 V-ra van leskálázva a P6-on. Hidald át a 4–20 mA üzemmód söntjét a shield hátoldalán, hogy az AIN-t 4–20 mA-es áramhurok-bemenetre váltsd.
Megjegyzés
A P6–P10 lábak mindegyike egy 0 ohmos ellenálláson keresztül van a kamerához kötve a shield hátoldalán. Távolítsd el az ellenállást azon a lábon, amelyiket más célra szeretnél felhasználni.
Megjegyzés
A shield v2 verzióján a P6–P9 egyirányú 3,3 V → 5 V szintillesztők (csak kimenet). A P10 egy nyitott nyelőelektródás digitális vonal, amely a kamera oldalán 3,3 V-ra, a szervóláb oldalán pedig 5 V-ra van felhúzva. Alapértelmezetten bemenet — a shield a szervólábon lévő 0–5 V-ot leszintezi 0–3,3 V-ra a P10-en. Módosítsd a beépített forrasztott áthidalót, hogy a P10-et kimenetté állítsd, így a P10-en lévő 0–3,3 V-ot 0–5 V-ra szintezi fel a szervólábon.
Használat¶
Hajts meg egy hobbi szervót a P7–P10 lábak bármelyikéről 50 Hz-es PWM jellel. Az impulzusszélesség-tartomány szervónként eltér, ezért hangold a MIN_US és MAX_US értékeket a sajátodhoz — a tipikus értékek 1000–2000 µs körüliek:
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)
Olvasd be az AIN sorkapocs-bemenetet (a szintillesztett eredmény a P6-on jelenik meg):
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)