Servo Shield

De Servo Shield (v3) stuurt tot vier standaard hobbyservo’s rechtstreeks aan vanaf de OpenMV Cam. De regelaar aan boord accepteert een ingang van 6–36 V op het klemmenblok en levert 5,6 V bij maximaal 5 A — voldoende om zowel de camera als de servo’s vanuit één enkele voeding te voeden.

Servo Shield

Voor de volledige datasheet, foto’s en bestelinformatie, zie de productpagina van de Servo Shield.

Hoogtepunten

  • Stuur tot vier hobbyservo’s aan via P7 / P8 / P9 / P10

  • 6–36 V ingang op het klemmenblok (tolerant voor omgekeerde spanning)

  • 5,6 V bij maximaal 5 A op VIN — voedt de camera en de servo’s

  • 0–5 V ADC-ingang met overspanningsbeveiliging tot ±36 V

  • Bidirectionele 0–5 V digitale I/O met niveauverschuiving van 3,3 V naar 5 V

Pinout

Servo Shield Pinout

Pinreferentie

Pin

Functie

P6

Niveau-verschoven AIN-uitlezing (0–3,3 V op P6)

P7

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

P8

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

P9

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

P10

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

PWR in

6–36 V brede ingang op het klemmenblok (tolerant voor omgekeerde spanning)

AIN in

Analoge ingang op het klemmenblok

VIN out

5,6 V gestabiliseerd, tot 5 A gecombineerd voor servo’s en camera

3.3V-rail

Voedt de elektronica van de shield aan boord

GND-rail

Gemeenschappelijke massa

Notitie

AIN is overspanningsbeveiligd tot ±36 V en is standaard een spanningsingang van 0–5 V, neergeschaald naar 0–3,3 V op P6. Overbrug de 4–20 mA-modus-shunt aan de achterkant van de shield om AIN om te schakelen naar een 4–20 mA-stroomluse-ingang.

Notitie

Elk van P6–P10 is verbonden met de camera via een 0-ohm-weerstand aan de achterkant van de shield. Verwijder de weerstand op elke pin die je voor andere doeleinden wilt hergebruiken.

Notitie

Op de v2-versie van de shield zijn P6–P9 unidirectionele 3,3 V → 5 V niveauverschuivers (alleen uitgang). P10 is een open-drain digitale lijn, met een pull-up naar 3,3 V aan de camerazijde en 5 V aan de servopinzijde. Standaard is het een ingang — de shield verschuift het niveau van 0–5 V op de servopin omlaag naar 0–3,3 V op P10. Wijzig de soldeerjumper aan boord om P10 om te zetten naar een uitgang, waarbij het niveau van 0–3,3 V op P10 omhoog wordt verschoven naar 0–5 V op de servopin.

Gebruik

Stuur een hobbyservo aan vanaf een van P7–P10 met een PWM-signaal van 50 Hz. Het pulsbreedtebereik varieert per servo, dus stem MIN_US en MAX_US af op de jouwe — typische waarden liggen rond 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)

Lees de AIN-klemmenblokingang uit (het niveau-verschoven resultaat verschijnt op 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)