Servo Shield

Das Servo Shield (v3) steuert bis zu vier standardmäßige Hobby-Servos direkt von der OpenMV Cam an. Sein integrierter Regler akzeptiert einen 6–36-V-Eingang an der Klemmleiste und liefert 5,6 V bei bis zu 5 A — genug, um sowohl die Kamera als auch die Servos aus einer einzigen Quelle zu versorgen.

Servo Shield

Vollständiges Datenblatt, Fotos und Bestellinformationen finden Sie auf der Produktseite des Servo Shields.

Highlights

  • Steuert bis zu vier Hobby-Servos über P7 / P8 / P9 / P10 an

  • 6–36-V-Eingang an der Klemmleiste (verpolungstolerant)

  • 5,6 V bei bis zu 5 A an VIN — versorgt Kamera und Servos

  • 0–5-V-ADC-Eingang mit Überspannungsschutz bis zu ±36 V

  • Bidirektionale 0–5-V-Digital-I/O mit Pegelverschiebung von 3,3 V auf 5 V

Pinbelegung

Servo Shield Pinbelegung

Pin-Referenz

Pin

Funktion

P6

Pegelverschobene AIN-Rücklesung (0–3,3 V an P6)

P7

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

P8

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

P9

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

P10

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

PWR in

6–36-V-Weitbereichseingang an der Klemmleiste (verpolungstolerant)

AIN in

Analogeingang an der Klemmleiste

VIN out

5,6 V geregelt, bis zu 5 A kombiniert für Servos und Kamera

3.3V rail

Versorgt die integrierte Elektronik des Shields

GND rail

Gemeinsame Masse

Bemerkung

AIN ist bis zu ±36 V überspannungsgeschützt und ist standardmäßig ein 0–5-V-Spannungseingang, der auf 0–3,3 V an P6 herunterskaliert wird. Überbrücken Sie den 4–20-mA-Modus-Shunt auf der Rückseite des Shields, um AIN auf einen 4–20-mA-Stromschleifeneingang umzuschalten.

Bemerkung

Jeder der Pins P6–P10 ist über einen 0-Ohm-Widerstand auf der Rückseite des Shields mit der Kamera verbunden. Entfernen Sie den Widerstand an dem Pin, den Sie für andere Zwecke wiederverwenden möchten.

Bemerkung

In der v2-Version des Shields sind P6–P9 unidirektionale Pegelverschieber von 3,3 V → 5 V (nur Ausgang). P10 ist eine Open-Drain-Digitalleitung, die auf der Kameraseite auf 3,3 V und auf der Servo-Pin-Seite auf 5 V hochgezogen wird. Standardmäßig ist sie ein Eingang — das Shield verschiebt den Pegel von 0–5 V am Servo-Pin auf 0–3,3 V an P10 herunter. Ändern Sie die integrierte Lötbrücke, um P10 in einen Ausgang umzuwandeln, der den Pegel von 0–3,3 V an P10 auf 0–5 V am Servo-Pin hochverschiebt.

Verwendung

Steuern Sie einen Hobby-Servo über einen beliebigen der Pins P7–P10 mit einem 50-Hz-PWM-Signal an. Der Impulsbreitenbereich variiert zwischen Servos, passen Sie also MIN_US und MAX_US an Ihre an — typische Werte liegen bei etwa 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)

Lesen Sie den AIN-Klemmleisteneingang aus (das pegelverschobene Ergebnis erscheint an 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)