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.

Servo Shield

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

Pinout del Servo Shield

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)