Använda MAX485 RS485 -modulen med Raspberry Pi

Using the MAX485 RS485 Module with the Raspberry Pi

De Max485 Modul tillåter Raspberry Pi att kommunicera med Rs485 -protokollet, som används allmänt för industriell automatisering, MODBUS-kommunikation och seriell överföring av långdistansdata. Den här guiden visar hur du ansluter, konfigurerar och använder MAX485 RS485 -modul med Raspberry Pi med Python.


Vad du behöver

  1. Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
  2. MAX485 RS485 -modul
  3. Rs485 -enhet (t.ex. Modbus -sensor, industriell styrenhet)
  4. Bulttrådar
  5. Python installerad på Raspberry Pi

Steg 1: Förstå MAX485 -modulen

De Max485 är en TTL-till-RS485-sändtagare Det gör att Raspberry Pi kan skicka och ta emot Rs485 -signaler.

Nyckelfunktioner:

  • Stöder halvduplex RS485-kommunikation
  • Driver 5V Power (Kompatibel med 3.3V -logik på Raspberry Pi)
  • Användning Tx, rx, de och re stift för kommunikationskontroll

Steg 2: Kopplar max485 till Raspberry Pi

Max485 stift Hallon pi Fungera
Vcc 5V (stift 2) Strömförsörjning
Gard GND (stift 6) Jord
Ro GPIO15 (stift 10) RS485 Data Mottagning (RX)
Di GPIO14 (stift 8) RS485 Data Sänder (TX)
RE GPIO18 (stift 12) Ta emot aktivera (låg att ta emot)
De GPIO18 (stift 12) Driver Aktivera (hög att skicka)
En Rs485 en linje Anslut till Rs485 -enheten
B Rs485 B -linje Anslut till Rs485 -enheten

Notera: De RE och De stift styrs tillsammans av Gpio18, aktivera eller inaktivera överföring.


Steg 3: Aktivera Uart på Raspberry Pi

  1. Öppna Raspberry PI -konfigurationsverktyget:

    sudo raspi-config
    
  2. Navigera till Gränssnittsalternativ> Seriell port.

  3. Inaktivera seriekonsolen men Aktivera seriell hårdvara.

  4. Starta om Raspberry Pi:

    sudo reboot
    
  5. Verifiera att Seriell enhet är tillgänglig:

    ls /dev/serial*
    

    Du borde se /dev/serial0.


Steg 4: Installera nödvändiga pythonbibliotek

  1. Uppdatera din Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installera Python Serial Communication Library:
    pip3 install pyserial
    

Steg 5: Python -kod för att kommunicera via Rs485

Grundläggande Python -kod för att skicka och ta emot data via 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()

Steg 6: Tillämpningar av Rs485 -kommunikation med Raspberry Pi

  1. Industriautomation - Kommunicera med PLC: er, sensorer och styrenheter med Modbus RTU.
  2. Långdistanskommunikation - Rs485 stöder långsiktig dataöverföring upp till 1200 meter.
  3. Flera enhetsnätverk - Anslut flera enheter på samma RS485 -buss.
  4. Smarta energimätare -Läs modbuskompatibla energimätare.
  5. IoT och dataloggning - Samla sensordata och överföra dem till molnservrar.

Felsökning

  1. Ingen kommunikation

    • Kontrollera ledningsanslutningar, se till A- och B -linjer är korrekt anslutna.
    • Verifiera att Uart är aktiverad användning sudo raspi-config.
    • Se till Rs485 -enheten använder samma baudhastighet som satt i Python.
  2. Tillstånd nekad fel

    • Lägg till användaren till dialout Grupp för seriell portåtkomst:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. Skräpkaraktärer i mottagna data

    • Se till att båda enheterna använder samma baudhastighet och serieinställningar.
    • Kontrollera om skärmkablar behövs för längre avstånd.

Slutsats

De MAX485 -modul gör det möjligt för Raspberry Pi att kommunicera över Rs485, vilket gör det idealiskt för Industrial Automation, Modbus Devices och Long Distance Serial Data Transmission. Genom att följa den här guiden kan du etablera Bidirectional kommunikation mellan Raspberry PI och RS485 -enheterna för IoT och inbäddade systemprojekt. 🚀

Lämna en kommentar

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.