Servo Shield

Servo Shield (v3), OpenMV Cam’den doğrudan en fazla dört standart hobi servosunu sürer. Kart üzerindeki regülatörü terminal bloğunda 6–36 V giriş kabul eder ve 5 A’ya kadar 5.6 V verir — hem kameraya hem de servolara tek bir kaynaktan güç vermeye yeterlidir.

Servo Shield

Tam veri sayfası, fotoğraflar ve sipariş bilgileri için Servo Shield ürün sayfasına bakın.

Öne çıkanlar

  • P7 / P8 / P9 / P10 üzerinden en fazla dört hobi servosunu sürün

  • Terminal bloğunda 6–36 V giriş (ters voltaj toleranslı)

  • VIN’de 5 A’ya kadar 5.6 V — kameraya ve servolara güç verir

  • ±36 V’a kadar aşırı voltaj korumalı 0–5 V ADC girişi

  • 3.3 V’tan 5 V’a seviye dönüştürmeli çift yönlü 0–5 V dijital I/O

Pin Çıkışı

Servo Shield Pin Çıkışı

Pin referansı

Pin

İşlev

P6

Seviye dönüştürülmüş AIN geri okuması (P6’da 0–3.3 V)

P7

Servo 1 — çift yönlü 3.3 V ↔ 5 V GPIO

P8

Servo 2 — çift yönlü 3.3 V ↔ 5 V GPIO

P9

Servo 3 — çift yönlü 3.3 V ↔ 5 V GPIO

P10

Servo 4 — çift yönlü 3.3 V ↔ 5 V GPIO

PWR girişi

Terminal bloğunda 6–36 V geniş giriş (ters voltaj toleranslı)

AIN girişi

Terminal bloğundaki analog giriş

VIN çıkışı

5.6 V regüle, servolar ve kamera için toplamda 5 A’ya kadar

3.3V hattı

Shield’in dahili elektroniğine güç verir

GND hattı

Ortak toprak

Not

AIN, ±36 V’a kadar aşırı voltaj korumalıdır ve varsayılan olarak 0–5 V voltaj girişidir; P6’da 0–3.3 V’a ölçeklenir. AIN’i 4–20 mA akım döngüsü girişine çevirmek için shield’in arkasındaki 4–20 mA mod şöntünü köprüleyin.

Not

P6–P10’un her biri, shield’in arkasındaki 0 ohm’luk bir dirençle kameraya bağlıdır. İlgisiz kullanımlar için geri almak istediğiniz herhangi bir pindeki direnci çıkarın.

Not

Shield’in v2 sürümünde P6–P9 tek yönlü 3.3 V → 5 V seviye dönüştürücülerdir (yalnızca çıkış). P10, kamera tarafında 3.3 V’a ve servo pini tarafında 5 V’a yükseltilmiş açık drenajlı bir dijital hattır. Varsayılan olarak bir giriştir — shield, servo pinindeki 0–5 V’u P10’da 0–3.3 V’a düşürerek seviye dönüştürür. P10’u çıkışa çevirmek için kart üzerindeki lehim atlama telini değiştirin; bu, P10’daki 0–3.3 V’u servo pininde 0–5 V’a yükseltir.

Kullanım

P7–P10’un herhangi birinden 50 Hz PWM sinyaliyle bir hobi servosunu sürün. Darbe genişliği aralığı servolar arasında değişir; bu nedenle MIN_US ve MAX_US değerlerini kendi servonuza uyacak şekilde ayarlayın — tipik değerler yaklaşık 1000–2000 µs civarındadır:

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)

AIN terminal bloğu girişini okuyun (seviye dönüştürülmüş sonuç P6’da görünür):

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)