באמצעות מודול MAX485 RS485 עם ה- Raspberry Pi

Using the MAX485 RS485 Module with the Raspberry Pi

THE MAX485 המודול מאפשר ל- Raspberry Pi לתקשר באמצעות פרוטוקול RS485, הנמצא בשימוש נרחב לאוטומציה תעשייתית, תקשורת Modbus והעברת נתונים סידורי למרחקים ארוכים. מדריך זה יראה לך כיצד לחבר, להגדיר ולהשתמש ב- MAX485 RS485 מודול עם ה- Raspberry Pi באמצעות פייתון.


מה תצטרך

  1. Raspberry Pi (כל דגם עם תמיכה ב- GPIO, למשל, pi 3, pi 4)
  2. MAX485 RS485 מודול
  3. מכשיר RS485 (למשל, חיישן מודבוס, בקר תעשייתי)
  4. חוטי מגשר
  5. פיתון מותקן על ה- Raspberry Pi

שלב 1: הבנת מודול MAX485

THE MAX485 הוא א משדר TTL-TO-RS485 זה מאפשר ל- Raspberry Pi לשלוח ולקבל אותות RS485.

תכונות מפתח:

  • תומך בתקשורת של חצי דופלקס RS485
  • פועל ב כוח 5V (תואם לוגיקה של 3.3 וולט ב- Raspberry Pi)
  • שימושים Tx, rx, de ו- re סיכות לבקרת תקשורת

שלב 2: חיווט MAX485 ל- Raspberry Pi

PIN MAX485 סיכת פטל pi פוּנקצִיָה
VCC 5V (סיכה 2) ספק כוח
GND GND (סיכה 6) טָחוּן
RO GPIO15 (סיכה 10) נתוני RS485 מקבלים (RX)
Di GPIO14 (סיכה 8) RS485 שידור נתונים (TX)
מִחָדָשׁ GPIO18 (סיכה 12) לקבל אפשרות (LOW לקבל)
דה GPIO18 (סיכה 12) מנהל התקן אפשר (גבוה לשלוח)
א RS485 קו התחבר למכשיר RS485
ב קו RS485 B. התחבר למכשיר RS485

פֶּתֶק: THE מִחָדָשׁ וכן דה סיכות נשלטות יחד על ידי GPIO18, הפעלה או השבתת שידור.


שלב 3: הפעל את UART ב- Raspberry Pi

  1. פתח את כלי התצורה של Raspberry Pi:

    sudo raspi-config
    
  2. נווט אל אפשרויות ממשק> יציאה סדרתית.

  3. השבת את הקונסולה הסדרתית אך הפעל את החומרה הסדרתית.

  4. אתחל מחדש את ה- Raspberry Pi:

    sudo reboot
    
  5. ודא ש- מכשיר סידורי זמין:

    ls /dev/serial*
    

    אתה צריך לראות /dev/serial0.


שלב 4: התקן ספריות פיתון הנדרשות

  1. עדכן את ה- Raspberry Pi שלך:
    sudo apt update && sudo apt upgrade -y
    
  2. התקן את ספריית התקשורת הסדרתית של Python:
    pip3 install pyserial
    

שלב 5: קוד פייתון לתקשר באמצעות RS485

קוד פייתון בסיסי לשלוח ולקבל נתונים באמצעות rs485

import serial
import RPi.GPIO as GPIO
import time

# Define GPIO pin for RE/DE control
RS485_CONTROL = 18  

# Set up GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(RS485_CONTROL, GPIO.OUT)

# Configure the serial connection
ser = serial.Serial(
    port='/dev/serial0',  # Raspberry Pi UART port
    baudrate=9600,        # Set baud rate to match RS485 device
    timeout=1
)

def send_data(data):
    GPIO.output(RS485_CONTROL, GPIO.HIGH)  # Enable transmission
    time.sleep(0.01)  # Small delay before sending
    ser.write(data.encode())  # Send data as bytes
    time.sleep(0.01)  # Small delay to ensure data is sent
    GPIO.output(RS485_CONTROL, GPIO.LOW)  # Enable receiving

def receive_data():
    GPIO.output(RS485_CONTROL, GPIO.LOW)  # Enable reception
    data = ser.readline().decode('utf-8').strip()
    return data

try:
    while True:
        send_data("Hello RS485 Device!\n")
        print("Data sent!")

        # Wait for a response
        response = receive_data()
        if response:
            print(f"Received: {response}")

        time.sleep(2)
except KeyboardInterrupt:
    print("Exiting...")
finally:
    ser.close()
    GPIO.cleanup()

שלב 6: יישומים של תקשורת RS485 עם Raspberry Pi

  1. אוטומציה תעשייתית - תקשרו עם PLCs, חיישנים ובקרים באמצעות Modbus RTU.
  2. תקשורת למרחקים ארוכים - RS485 תומכים העברת נתונים לטווח ארוך עד 1200 מטר.
  3. רשתות מרובות מכשירים - חבר מכשירים מרובים באותו אוטובוס RS485.
  4. מוני אנרגיה חכמים -קרא מוני אנרגיה תואמים של Modbus.
  5. רישום IoT ו- Data - אסוף נתוני חיישנים והעביר אותם לשרתי ענן.

פתרון בעיות

  1. אין תקשורת

    • בדוק חיבורי חיווט, הבטחת קווי A ו- B מחוברים נכון.
    • אמת את זה UART מופעל באמצעות sudo raspi-config.
    • להבטיח את מכשיר RS485 משתמש באותו קצב Baud כפי שנקבע בפייתון.
  2. שגיאה שנדחתה הרשאה

    • הוסף את המשתמש ל dialout קבוצה לגישה ליציאה סדרתית:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. תווי זבל בנתונים שהתקבלו

    • ודא ששני המכשירים משתמשים אותו שיעור baud והגדרות סדרתיות.
    • בדוק אם כבלים מוגנים נחוצים למרחקים ארוכים יותר.

מַסְקָנָה

THE מודול MAX485 מאפשר ל- Raspberry Pi לתקשר RS485, מה שהופך אותו לאידיאלי עבור אוטומציה תעשייתית, מכשירי מודבוס והעברת נתונים סדרתית למרחקים ארוכיםו על ידי ביצוע מדריך זה תוכלו להקים תקשורת דו כיוונית בין מכשירי Raspberry PI ו- RS485 לפרויקטים של מערכות IoT ומוטמעים. 🚀

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.