Servo Shield

Servo Shield (v3) driver upp till fyra vanliga hobbyservon direkt från OpenMV Cam. Dess inbyggda regulator tar emot en ingång på 6–36 V på kopplingsplinten och levererar 5,6 V vid upp till 5 A — tillräckligt för att driva både kameran och servona från en enda strömkälla.

Servo Shield

För fullständigt datablad, foton och beställning, se produktsidan för Servo Shield.

Höjdpunkter

  • Driv upp till fyra hobbyservon via P7 / P8 / P9 / P10

  • 6–36 V-ingång på kopplingsplinten (tål omvänd spänning)

  • 5,6 V vid upp till 5 A på VIN — driver kameran och servona

  • 0–5 V ADC-ingång med överspänningsskydd upp till ±36 V

  • Dubbelriktad 0–5 V digital I/O med nivåväxling från 3,3 V till 5 V

Stiftschema

Stiftschema för Servo Shield

Stiftreferens

Stift

Funktion

P6

Nivåväxlad AIN-avläsning (0–3,3 V på P6)

P7

Servo 1 — dubbelriktad 3,3 V ↔ 5 V GPIO

P8

Servo 2 — dubbelriktad 3,3 V ↔ 5 V GPIO

P9

Servo 3 — dubbelriktad 3,3 V ↔ 5 V GPIO

P10

Servo 4 — dubbelriktad 3,3 V ↔ 5 V GPIO

PWR in

6–36 V brett ingångsintervall på kopplingsplinten (tål omvänd spänning)

AIN in

Analog ingång på kopplingsplinten

VIN ut

5,6 V reglerat, upp till 5 A sammanlagt för servon och kamera

3,3 V-skena

Driver shieldets inbyggda elektronik

GND-skena

Gemensam jord

Anteckning

AIN är överspänningsskyddat upp till ±36 V och har som standard en spänningsingång på 0–5 V, nedskalad till 0–3,3 V på P6. Brygga shunten för 4–20 mA-läget på baksidan av shieldet för att växla AIN till en strömslingsingång på 4–20 mA.

Anteckning

Vart och ett av P6–P10 är kopplat till kameran via ett 0-ohms motstånd på baksidan av shieldet. Ta bort motståndet på det stift du vill återanvända för annat bruk.

Anteckning

På v2-versionen av shieldet är P6–P9 enkelriktade nivåväxlare 3,3 V → 5 V (endast utgång). P10 är en digital linje med öppen drain, uppdragen till 3,3 V på kamerasidan och 5 V på servostiftssidan. Som standard är den en ingång — shieldet nivåväxlar 0–5 V på servostiftet ned till 0–3,3 V på P10. Ändra den inbyggda lödbygeln för att vända P10 till en utgång, med nivåväxling av 0–3,3 V på P10 upp till 0–5 V på servostiftet.

Användning

Driv ett hobbyservo från något av P7–P10 med en 50 Hz PWM-signal. Pulsbreddsintervallet varierar mellan servon, så justera MIN_US och MAX_US för att matcha dina — typiska värden ligger runt 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)

Läs AIN-plintingången (det nivåväxlade resultatet visas på 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)