Servo Shield

ה-Servo Shield (v3) מניע עד ארבעה מנועי הגה (servo) סטנדרטיים של חובבים ישירות מתוך ה-OpenMV Cam. המייצב המובנה שלו מקבל כניסת 6–36 V על בלוק ההדקים ומספק 5.6 V בזרם של עד 5 A — די כדי להזין הן את המצלמה והן את מנועי ההגה מספק יחיד.

Servo Shield

ל-datasheet המלא, תמונות והזמנה ראו את עמוד המוצר של Servo Shield.

עיקרי הדברים

  • הנעת עד ארבעה מנועי הגה דרך P7 / P8 / P9 / P10

  • כניסת 6–36 V על בלוק ההדקים (עמידה למתח הפוך)

  • 5.6 V בזרם של עד 5 A על VIN — מזין את המצלמה ואת מנועי ההגה

  • כניסת ADC של 0–5 V עם הגנת מתח-יתר עד ±36 V

  • I/O דיגיטלי דו-כיווני של 0–5 V עם הסטת מתח מ-3.3 V ל-5 V

Pinout

Servo Shield Pinout

טבלת פינים

פין

תפקיד

P6

קריאת AIN מוסטת-מתח (0–3.3 V על P6)

P7

Servo 1 — GPIO דו-כיווני 3.3 V ↔ 5 V

P8

Servo 2 — GPIO דו-כיווני 3.3 V ↔ 5 V

P9

Servo 3 — GPIO דו-כיווני 3.3 V ↔ 5 V

P10

Servo 4 — GPIO דו-כיווני 3.3 V ↔ 5 V

PWR in

כניסת רוחב 6–36 V על בלוק ההדקים (עמידה למתח הפוך)

AIN in

כניסה אנלוגית על בלוק ההדקים

VIN out

5.6 V מיוצב, עד 5 A משולב למנועי ההגה ולמצלמה

מסילת 3.3V

מזין את האלקטרוניקה המובנית של ה-shield

מסילת GND

הארקה משותפת

הערה

AIN מוגן מפני מתח-יתר עד ±36 V וברירת המחדל שלו היא כניסת מתח של 0–5 V, מוקטנת ל-0–3.3 V על P6. גשרו את שאנט מצב 4–20 mA בצד האחורי של ה-shield כדי להחליף את AIN לכניסת לולאת-זרם 4–20 mA.

הערה

כל אחד מ-P6–P10 קשור אל המצלמה דרך נגד 0-ohm בצד האחורי של ה-shield. הסירו את הנגד על כל פין שברצונכם להחזיר לשימוש בלתי-קשור.

הערה

בגרסת v2 של ה-shield, P6–P9 הם מסיטי מתח חד-כיווניים 3.3 V → 5 V (יציאה בלבד). P10 הוא קו דיגיטלי open-drain, מושך אל 3.3 V בצד המצלמה ואל 5 V בצד פין ה-servo. כברירת מחדל הוא כניסה — ה-shield מסיט את 0–5 V על פין ה-servo אל 0–3.3 V על P10. שנו את גשר ההלחמה המובנה כדי להפוך את P10 ליציאה, תוך הסטת 0–3.3 V על P10 אל 0–5 V על פין ה-servo.

שימוש

הניעו מנוע הגה של חובבים מכל אחד מ-P7–P10 עם אות PWM בתדר 50 Hz. טווח רוחב-הדופק משתנה בין מנועי הגה, לכן כווננו את MIN_US ו-MAX_US כך שיתאימו לשלכם — ערכים אופייניים נעים סביב 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)

קראו את כניסת בלוק ההדקים AIN (התוצאה המוסטת מופיעה על 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)