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.
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¶
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)