FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

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

Using the MAX485 RS485 Module with the Raspberry Pi

De MAX485 module stelt de Raspberry Pi in staat om te communiceren via de RS485 protocol MAX485 RS485-module met de Raspberry Pi met behulp van Python.


Wat u nodig hebt

  1. Raspberry Pi
  2. MAX485 RS485-module
  3. RS485-apparaat
  4. Jumpdraden
  5. Python geïnstalleerd op de Raspberry Pi

Stap 1: Begrijpen van de MAX485-module

De MAX485 TTL-to-RS485 transceiver waarmee de Raspberry Pi RS485-signalen kan verzenden en ontvangen.

Belangrijkste kenmerken:

  • Ondersteunt half-duplex RS485-communicatie
  • Werkt op 5V voeding
  • Gebruik TX, RX, DE en RE pinnen voor communicatiecontrole

Step 2: Wiring the MAX485 to the Raspberry Pi

MAX485-pin Raspberry Pi Pin Functie
VCC 5V (Pin 2) Voeding
GND GND (Pin 6) Grond
RO GPIO15 (Pin 10) RS485-gegevensontvangst (RX)
DI GPIO14 (Pin 8) RS485-gegevensoverdracht (TX)
RE GPIO18 (Pin 12) Ontvangst inschakelen (LAAG om te ontvangen)
DE GPIO18 (Pin 12) Driver inschakelen (HOOG om te verzenden)
A RS485 A-lijn Verbinding maken met RS485-apparaat
B RS485 B-lijn Verbinding maken met RS485-apparaat

Opmerking: RE en DE pinnen worden samen aangestuurd door GPIO18, enabling or disabling transmission.


Step 3: Enable UART on the Raspberry Pi

  1. Open de Raspberry Pi-configuratietool:

    sudo raspi-config
    
  2. Navigeer 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.


Step 4: Install Required Python Libraries

  1. Update je Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de Python-bibliotheek voor seriële communicatie:
    pip3 install pyserial
    

Step 5: Python Code to Communicate via RS485

Basic Python Code to Send and Receive Data via RS485

python
import serial
import RPi.GPIO as GPIO
import time

# Definieer GPIO-pin voor RE/DE-besturing
RS485_CONTROL = 18  

# GPIO instellen
GPIO.setmode(GPIO.BCM)
GPIO.setup(RS485_CONTROL, GPIO.OUT)

# Configureer de seriële verbinding
ser = serial.Serial(
    port='/dev/serial0',  # Raspberry Pi UART-poort
    baudrate=9600,        # Stel de baudrate in die overeenkomt met het RS485-apparaat
    timeout=1
)

def send_data(data):
    GPIO.output(RS485_CONTROL, GPIO.HIGH)  # Transmissie inschakelen
    time.sleep(0.01)  # Kleine vertraging voor het verzenden
    ser.write(data.encode())  # Gegevens verzenden als bytes
    time.sleep(0.01)  # Kleine vertraging om te zorgen dat de gegevens zijn verzonden
    GPIO.output(RS485_CONTROL, GPIO.LOW)  # Ontvangst inschakelen

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

try:
    while True:
        send_data("Hello RS485 Device!\n")
        print("Gegevens verzonden!")

        # Wachten op antwoord
        response = receive_data()
        if response:
            print(f"Ontvangen: {response}")

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

Step 6: Applications of RS485 Communication with Raspberry Pi

  1. Industrial Automation
  2. Communicatie op Lange Afstand gegevensoverdracht over lange afstand tot 1200 meter.
  3. Netwerken voor meerdere apparaten
  4. Slimme energiemeters
  5. IoT and Data Logging

Probleemoplossing

  1. Geen communicatie

    • Controleer de bedradingsaansluitingen en zorg ervoor dat A- en B-lijnen
    • Controleer of UART is ingeschakeld met behulp van sudo raspi-config.
    • Zorg ervoor dat de RS485-apparaat gebruikt dezelfde baudrate zoals ingesteld in Python.
  2. Foutmelding: Toegang Geweigerd

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

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

Conclusie

De MAX485-module stelt de Raspberry Pi in staat om te communiceren via RS485 industrial automation, Modbus devices, and long-distance serial data transmission bidirectionele communicatie tussen de Raspberry Pi en RS485-apparaten Bureau voor IoT- en embedded system-projecten. 🚀

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.

Laat een reactie achter