Servo Shield¶
Il Servo Shield (v3) pilota fino a quattro servocomandi hobbistici standard direttamente dalla OpenMV Cam. Il suo regolatore integrato accetta un ingresso 6–36 V sulla morsettiera ed eroga 5,6 V fino a 5 A — sufficienti per alimentare sia la camera sia i servocomandi da un’unica sorgente.
Per il datasheet completo, le foto e l’acquisto consulta la pagina prodotto del Servo Shield.
Punti salienti¶
Pilota fino a quattro servocomandi hobbistici tramite P7 / P8 / P9 / P10
Ingresso 6–36 V sulla morsettiera (tollerante all’inversione di tensione)
5,6 V fino a 5 A su VIN — alimenta la camera e i servocomandi
Ingresso ADC 0–5 V con protezione da sovratensione fino a ±36 V
I/O digitale bidirezionale 0–5 V con shift di livello da 3,3 V a 5 V
Pinout¶
Riferimento dei pin¶
Pin |
Funzione |
|---|---|
P6 |
Lettura AIN con shift di livello (0–3,3 V su P6) |
P7 |
Servo 1 — GPIO bidirezionale 3,3 V ↔ 5 V |
P8 |
Servo 2 — GPIO bidirezionale 3,3 V ↔ 5 V |
P9 |
Servo 3 — GPIO bidirezionale 3,3 V ↔ 5 V |
P10 |
Servo 4 — GPIO bidirezionale 3,3 V ↔ 5 V |
PWR in |
Ingresso ampio 6–36 V sulla morsettiera (tollerante all’inversione di tensione) |
AIN in |
Ingresso analogico sulla morsettiera |
VIN out |
5,6 V regolati, fino a 5 A complessivi per servocomandi e camera |
Linea 3.3V |
Alimenta l’elettronica integrata dello shield |
Linea GND |
Massa comune |
Nota
AIN è protetto da sovratensione fino a ±36 V e per impostazione predefinita è un ingresso in tensione 0–5 V, ridotto a 0–3,3 V su P6. Ponticella lo shunt della modalità 4–20 mA sul retro dello shield per commutare AIN in un ingresso a loop di corrente 4–20 mA.
Nota
Ciascuno dei pin P6–P10 è collegato alla camera tramite una resistenza da 0 ohm sul retro dello shield. Rimuovi la resistenza su qualsiasi pin che vuoi riutilizzare per scopi non correlati.
Nota
Nella versione v2 dello shield, P6–P9 sono shifter di livello unidirezionali 3,3 V → 5 V (solo uscita). P10 è una linea digitale open-drain, con pull-up a 3,3 V sul lato camera e a 5 V sul lato del pin servo. Per impostazione predefinita è un ingresso: lo shield esegue lo shift di livello da 0–5 V sul pin servo a 0–3,3 V su P10. Modifica il ponticello a saldare integrato per trasformare P10 in un’uscita, eseguendo lo shift di livello da 0–3,3 V su P10 a 0–5 V sul pin servo.
Utilizzo¶
Pilota un servocomando hobbistico da uno qualsiasi dei pin P7–P10 con un segnale PWM a 50 Hz. L’intervallo di larghezza dell’impulso varia tra i servocomandi, quindi regola MIN_US e MAX_US in base ai tuoi — i valori tipici sono intorno a 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)
Leggi l’ingresso della morsettiera AIN (il risultato con shift di livello appare su 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)