RS422/RS485 Shield

ה-RS422/RS485 Shield מעניק ל-OpenMV Cam קישור טורי דיפרנציאלי למרחק רב המתאים לאפיקים תעשייתיים, עם הזנת כניסה רחבה, הגנה מפני נחשולים ו-ADC/I/O דיגיטלי.

RS422/RS485 Shield

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

עיקרי הדברים

  • RS-422 או RS-485 במהירות 10 Mb/s עם סיומת מובנית

  • כניסת 6-36 V, עמידה למתח הפוך

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

  • I/O דיגיטלי של 0-5 V להדקי סנכרון מצלמה, מוגן מפני קצר

Pinout

RS422/RS485 Shield Pinout

טבלת פינים

פין

תפקיד

P4

RS-422 / RS-485 TX → מניע את קו ה-out הדיפרנציאלי

P5

RS-422 / RS-485 RX ← קולט את קו ה-in הדיפרנציאלי

P6

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

P10

SYN — I/O דיגיטלי open-drain על בלוק ההדקים

PWR in

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

AIN in

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

VIN out

5.4 V בזרם של עד 600 mA מהמייצב המובנה

מסילת 3.3V

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

מסילת GND

הארקה משותפת

הערה

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

הערה

SYN הוא קו דיגיטלי open-drain, מושך אל 3.3 V בצד המצלמה ואל 5 V בצד הדק ה-SYN. כברירת מחדל הוא כניסה — ה-shield מסיט את 0–5 V על SYN אל 0–3.3 V על P10. שנו את גשר ההלחמה המובנה כדי להפוך את P10 ליציאה, תוך הסטת 0–3.3 V על P10 אל 0–5 V על SYN.

הערה

כל אחד מ-P4, P5, P6 ו-P10 מחובר אל המצלמה כברירת מחדל דרך גשר הלחמה — פתחו את הגשר על כל פין שברצונכם להחזיר לשימוש בלתי-קשור. גשרו של P6 נמצא בצד האחורי של ה-shield; אלה של P4, P5 ו-P10 בצד הקדמי.

הערה

נגדי הסיומת המובנים מחוברים כברירת מחדל — פתחו את גשרי ההלחמה התואמים בצד האחורי כדי לנתקם. שניים מכסים את זוג RS-422 A/B ושניים מכסים את זוג RS-422 Y/Z (המשמש גם כסיומת RS-485 A/B), ארבעה גשרים בסך הכל.

אודות RS-422 ו-RS-485

שני התקנים שולחים נתונים טוריים כאות מאוזן (דיפרנציאלי) על זוגות שזורים לקישורים למרחק רב ועמידים לרעש:

  • RS-422 הוא דו-כיווני מלא (full-duplex) על ארבעה חוטים. מנע משדר על זוג TX ייעודי המסומן Y/Z, והעמית משדר חזרה על זוג RX נפרד המסומן A/B. משדר אחד ועד עשרה קולטים לכל זוג.

  • RS-485 הוא בדרך כלל חצי-דו-כיווני (half-duplex) על שני חוטים. השידור והקליטה חולקים זוג יחיד, הקרוי A/B במונחי RS-485 אך פיזית אותם קווי Y/Z על ה-shield הזה. עד שלושים ושני צמתים יכולים לחלוק את האפיק וכל אחד מהם יכול להניע אותו.

כיצד ה-shield תומך בשניהם

ה-shield נושא שני משדרי-קולטים מסוג THVD1426, כל אחד מסוגל לטפל בכל אחד מהתקנים:

  • המשדר-קולט הראשון מניע את זוג ה-Y/Z (המשמש גם כזוג RS-485 A/B). הוא היחיד שהמנע שלו מחובר, ולכן כל התעבורה היוצאת מהמצלמה יוצאת דרך זוג זה ללא תלות במצב.

  • המשדר-קולט השני מניע את זוג ה-A/B. המנע שלו מקובע — משדר-קולט זה הוא לקליטה בלבד וחשוב רק במצב RS-422 של ארבעה חוטים.

הקולטים של שני המשדרים-קולטים מאופשרים תמיד, ויציאות ה-RX שלהם מצורפות ב-AND על קו קליטה יחיד חזרה אל המצלמה:

  • במצב RS-485 של שני חוטים, רק המשדר-קולט הראשון פעיל. חווטו את האפיק אל Y/Z; צד ה-A/B נותר סרק ושער ה-AND פשוט מעביר את ה-RX של המשדר-קולט הראשון.

  • במצב RS-422 של ארבעה חוטים, העמית משדר אל המצלמה על זוג ה-A/B (נקלט על ידי המשדר-קולט השני) בעוד שהמצלמה משדרת על Y/Z (כאשר הקולט של המשדר-קולט הראשון מחזיר בהד את הנתונים היוצאים שלו). שער ה-AND משלב אותם — איזה זוג שרואה דופק נמוך (סיבית התחלה, נתונים) מגיע אל המצלמה.

תוויות בלוק ההדקים משקפות את המיפוי הכפול:

  • RS-422 (ארבעה חוטים) — TX out על Y/Z, RX in על A/B.

  • RS-485 (שני חוטים) — TX/RX חולקים את זוג ה-Y/Z (= A/B במינוח RS-485). השאירו את הדקי ה-A/B על ה-shield מנותקים.

שימוש

הערה

מספר ההתקן ההיקפי UART(3) למטה עוקב אחר מיפוי ה-STM32. במעבד אחר ייתכן שהאפיק המחווט לפינים אלה שונה — בדקו את המדריך של הלוח שלכם.

תקשרו עם עמית טורי דיפרנציאלי על P4 (TX) / P5 (RX):

from machine import UART

uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())

קראו את כניסת בלוק ההדקים AIN דרך הפין המוסט P6:

from machine import ADC
import time

ain = ADC("P6")

while True:
    v = ain.read_u16() * 3.3 / 65535
    print("AIN:", v * (5.0 / 3.3), "V")
    time.sleep_ms(100)

הגיבו לקצה יורד על קו ה-SYN — למשל, כדי לסנכרן את המצלמה עם התקן אחר המושך את SYN למצב נמוך:

from machine import Pin

def on_sync(pin):
    print("SYN falling edge")

syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)