Met behulp van de Max485 Rs485 -module met de Raspberry Pi

Using the MAX485 RS485 Module with the Raspberry Pi

De Max485 Module kan de Raspberry Pi communiceren met behulp van de RS485 -protocol, die veel wordt gebruikt voor industriële automatisering, modbuscommunicatie en seriële gegevensoverdracht op lange afstand. Deze gids laat u zien hoe u de Max485 RS485 -module met de Raspberry Pi Python gebruiken.


Wat u nodig hebt

  1. Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
  2. Max485 RS485 -module
  3. RS485 -apparaat (bijv. Modbus -sensor, industriële controller)
  4. Jumper draden
  5. Python geïnstalleerd Op de Raspberry Pi

Stap 1: Inzicht in de Max485 -module

De Max485 is een TTL-to-RS485 transceiver Dat stelt de Raspberry Pi in staat Rs485 -signalen te verzenden en te ontvangen.

Belangrijkste kenmerken:

  • Ondersteunt half-duplex RS485-communicatie
  • Werkt op 5V kracht (compatibel met 3.3V -logica op de Raspberry Pi)
  • Gebruik Tx, rx, de en re Pinnen voor communicatiebeheersing

Stap 2: De max485 bedraden naar de Raspberry Pi

Max485 pin Raspberry Pi Pin Functie
VCC 5V (pin 2) Stroomvoorziening
GND GND (pin 6) Grond
RO Gpio15 (pin 10) RS485 Gegevens ontvangen (RX)
Di Gpio14 (pin 8) RS485 Data Stransmit (TX)
MET BETREKKING TOT Gpio18 (pin 12) Ontvangen inschakelen (laag te ontvangen)
De Gpio18 (pin 12) Bestuurder inschakelen (hoog om te verzenden)
A RS485 A -lijn Maak verbinding met RS485 -apparaat
B RS485 B -lijn Maak verbinding met RS485 -apparaat

Opmerking: De MET BETREKKING TOT En De pinnen worden samen gecontroleerd door GPIO18, het inschakelen of uitschakelen van verzending.


Stap 3: Schakel UART in op de Raspberry Pi

  1. Open de Raspberry Pi -configuratie -tool:

    sudo raspi-config
    
  2. Navigeren naar Interface -opties> seriële poort.

  3. Schakel de seriële console uit, maar Schakel de seriële hardware in.

  4. Start de Raspberry Pi opnieuw op:

    sudo reboot
    
  5. Controleer of de Serieel apparaat is beschikbaar:

    ls /dev/serial*
    

    Je zou moeten zien /dev/serial0.


Stap 4: Installeer de vereiste Python -bibliotheken

  1. Update uw Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de python seriële communicatiebibliotheek:
    pip3 install pyserial
    

Stap 5: Python -code om te communiceren via RS485

Basis Python -code om gegevens te verzenden en ontvangen 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()

Stap 6: Toepassingen van RS485 -communicatie met Raspberry Pi

  1. Industriële automatisering - Communiceer met PLC's, sensoren en controllers met behulp van Modbus RTU.
  2. Langdurige communicatie - RS485 ondersteunt langetermijn data-transmissie tot 1200 meter.
  3. Multi-apparaatnetwerken - Verbind meerdere apparaten op dezelfde RS485 -bus.
  4. Slimme energiemeters -Lees Modbus-compatibele energiemeters.
  5. IoT- en gegevensregistratie - Verzamel sensorgegevens en verzenden deze naar cloudservers.

Problemen oplossen

  1. Geen communicatie

    • Controleer bedrading verbindingen A en B lijnen zijn correct verbonden.
    • Controleer dat UART is ingeschakeld gebruik sudo raspi-config.
    • Zorg voor de RS485 -apparaat gebruikt dezelfde baudrate zoals ingesteld in Python.
  2. Toestemming geweigerd fout

    • Voeg de gebruiker toe aan de dialout Groep voor toegang tot seriële poorten:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. Garbage -tekens in ontvangen gegevens

    • Zorg ervoor dat beide apparaten gebruiken Dezelfde baudrate en seriële instellingen.
    • Controleer of afgeschermde kabels zijn nodig voor langere afstanden.

Conclusie

De Max485 -module stelt de frambozen Pi in staat om over te communiceren RS485, waardoor het ideaal is voor Industriële automatisering, Modbus-apparaten en seriële gegevensoverdracht op lange afstand. Door deze gids te volgen, kunt u zich vestigen Bidirectionele communicatie tussen de Raspberry Pi en Rs485 -apparaten voor IoT- en embedded systeemprojecten. 🚀

Laat een reactie achter

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.