Servo Shield

A Servo Shield (v3) akár négy szabványos hobbi szervót hajt meg közvetlenül az OpenMV Cam-ről. A beépített szabályzója 6–36 V-os bemenetet fogad a sorkapcson, és 5,6 V-ot szolgáltat akár 5 A-ig — ami elég ahhoz, hogy egyetlen tápforrásból táplálja mind a kamerát, mind a szervókat.

Servo Shield

A teljes adatlapért, fényképekért és rendelésért lásd a Servo Shield termékoldalt.

Kiemelt jellemzők

  • Akár négy hobbi szervó meghajtása a P7 / P8 / P9 / P10 lábakon keresztül

  • 6–36 V bemenet a sorkapcson (fordított polaritást tűrő)

  • 5,6 V akár 5 A-ig a VIN-en — a kamerát és a szervókat táplálja

  • 0–5 V ADC bemenet ±36 V-ig terjedő túlfeszültség-védelemmel

  • Kétirányú 0–5 V digitális I/O, 3,3 V-ról 5 V-ra történő szintillesztéssel

Lábkiosztás

Servo Shield lábkiosztás

Láb-referencia

Láb

Funkció

P6

Szintillesztett AIN visszaolvasás (0–3,3 V a P6-on)

P7

Servo 1 — bidirectional 3.3 V ↔ 5 V GPIO

P8

Servo 2 — bidirectional 3.3 V ↔ 5 V GPIO

P9

Servo 3 — bidirectional 3.3 V ↔ 5 V GPIO

P10

Servo 4 — bidirectional 3.3 V ↔ 5 V GPIO

PWR bemenet

6–36 V széles bemenet a sorkapcson (fordított polaritást tűrő)

AIN bemenet

Analóg bemenet a sorkapcson

VIN kimenet

5,6 V szabályozott, akár 5 A együttesen a szervók és a kamera számára

3,3V sín

A shield beépített elektronikáját táplálja

GND sín

Közös föld

Megjegyzés

Az AIN ±36 V-ig túlfeszültség-védett, és alapértelmezetten 0–5 V-os feszültségbemenet, amely 0–3,3 V-ra van leskálázva a P6-on. Hidald át a 4–20 mA üzemmód söntjét a shield hátoldalán, hogy az AIN-t 4–20 mA-es áramhurok-bemenetre váltsd.

Megjegyzés

A P6–P10 lábak mindegyike egy 0 ohmos ellenálláson keresztül van a kamerához kötve a shield hátoldalán. Távolítsd el az ellenállást azon a lábon, amelyiket más célra szeretnél felhasználni.

Megjegyzés

A shield v2 verzióján a P6–P9 egyirányú 3,3 V → 5 V szintillesztők (csak kimenet). A P10 egy nyitott nyelőelektródás digitális vonal, amely a kamera oldalán 3,3 V-ra, a szervóláb oldalán pedig 5 V-ra van felhúzva. Alapértelmezetten bemenet — a shield a szervólábon lévő 0–5 V-ot leszintezi 0–3,3 V-ra a P10-en. Módosítsd a beépített forrasztott áthidalót, hogy a P10-et kimenetté állítsd, így a P10-en lévő 0–3,3 V-ot 0–5 V-ra szintezi fel a szervólábon.

Használat

Hajts meg egy hobbi szervót a P7–P10 lábak bármelyikéről 50 Hz-es PWM jellel. Az impulzusszélesség-tartomány szervónként eltér, ezért hangold a MIN_US és MAX_US értékeket a sajátodhoz — a tipikus értékek 1000–2000 µs körüliek:

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)

Olvasd be az AIN sorkapocs-bemenetet (a szintillesztett eredmény a P6-on jelenik meg):

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)