Servo Shield¶
Servo Shield (v3) steruje maksymalnie czterema standardowymi serwami modelarskimi bezpośrednio z kamery OpenMV Cam. Wbudowany regulator przyjmuje wejście 6–36 V na listwie zaciskowej i dostarcza 5,6 V przy maksymalnie 5 A — wystarczająco, aby zasilić zarówno kamerę, jak i serwa z jednego źródła.
Pełną kartę katalogową, zdjęcia i informacje o zamawianiu znajdziesz na stronie produktu Servo Shield.
Najważniejsze cechy¶
Sterowanie maksymalnie czterema serwami modelarskimi przez P7 / P8 / P9 / P10
Wejście 6–36 V na listwie zaciskowej (tolerancja na odwrotną polaryzację)
5,6 V przy maksymalnie 5 A na VIN — zasila kamerę i serwa
Wejście ADC 0–5 V z ochroną przed przepięciem do ±36 V
Dwukierunkowe cyfrowe I/O 0–5 V z konwersją poziomów 3,3 V na 5 V
Wyprowadzenia¶
Opis pinów¶
Pin |
Funkcja |
|---|---|
P6 |
Odczyt AIN po konwersji poziomu (0–3,3 V na P6) |
P7 |
Serwo 1 — dwukierunkowe GPIO 3,3 V ↔ 5 V |
P8 |
Serwo 2 — dwukierunkowe GPIO 3,3 V ↔ 5 V |
P9 |
Serwo 3 — dwukierunkowe GPIO 3,3 V ↔ 5 V |
P10 |
Serwo 4 — dwukierunkowe GPIO 3,3 V ↔ 5 V |
PWR in |
Szerokie wejście 6–36 V na listwie zaciskowej (tolerancja na odwrotną polaryzację) |
AIN in |
Wejście analogowe na listwie zaciskowej |
VIN out |
5,6 V stabilizowane, do 5 A łącznie dla serw i kamery |
Szyna 3.3V |
Zasila wbudowaną elektronikę nakładki |
Szyna GND |
Wspólna masa |
Informacja
AIN jest chronione przed przepięciem do ±36 V i domyślnie działa jako wejście napięciowe 0–5 V, skalowane w dół do 0–3,3 V na P6. Zewrzyj zworę trybu 4–20 mA z tyłu nakładki, aby przełączyć AIN na wejście pętli prądowej 4–20 mA.
Informacja
Każdy z pinów P6–P10 jest połączony z kamerą przez rezystor 0 omów z tyłu nakładki. Usuń rezystor na dowolnym pinie, który chcesz odzyskać do innych zastosowań.
Informacja
W wersji v2 nakładki piny P6–P9 to jednokierunkowe konwertery poziomu 3,3 V → 5 V (tylko wyjście). P10 to cyfrowa linia typu open-drain, podciągnięta do 3,3 V po stronie kamery i 5 V po stronie pinu serwa. Domyślnie jest wejściem — nakładka konwertuje poziom 0–5 V na pinie serwa w dół do 0–3,3 V na P10. Zmień wbudowaną zworę lutowniczą, aby przełączyć P10 w wyjście, konwertujące poziom 0–3,3 V na P10 w górę do 0–5 V na pinie serwa.
Użycie¶
Steruj serwem modelarskim z dowolnego z pinów P7–P10 sygnałem PWM 50 Hz. Zakres szerokości impulsu różni się między serwami, więc dostrój MIN_US i MAX_US do swoich — typowe wartości to około 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)
Odczytaj wejście listwy zaciskowej AIN (wynik po konwersji poziomu pojawia się na 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)