A MAX485 RS485 modul segítségével a Raspberry PI -vel

Using the MAX485 RS485 Module with the Raspberry Pi

Max485 A modul lehetővé teszi, hogy a Raspberry Pi kommunikáljon a RS485 protokoll, amelyet széles körben használnak az ipari automatizáláshoz, a Modbus kommunikációhoz és a távolsági soros adatátvitelhez. Ez az útmutató megmutatja, hogyan lehet csatlakozni, konfigurálni és használni a Max485 RS485 modul a Raspberry PI -vel Python használatával.


Mire lesz szüksége

  1. Málna PI (Bármely modell GPIO -támogatással, például PI 3, PI 4)
  2. MAX485 RS485 modul
  3. RS485 eszköz (pl. Modbus érzékelő, ipari vezérlő)
  4. Jumper vezetékek
  5. Python telepítve a málna pi -n

1. lépés: A MAX485 modul megértése

A Max485 a TTL-to-RS485 adó-vevő Ez lehetővé teszi a Raspberry Pi számára, hogy RS485 jeleket küldjön és fogadjon.

Főbb jellemzők:

  • Támogatja a félduplex RS485 kommunikációt
  • Folytatódik 5 V -os teljesítmény (Kompatibilis a 3.3 V -os logikával a Raspberry PI -n)
  • Felhasználás TX, RX, DE és RE csapok a kommunikációvezérléshez

2. lépés: A MAX485 huzalozása a Raspberry PI -hez

MAX485 PIN Málna pi tű Funkció
VCC 5V (2. érintkező) Tápegység
GND GND (6. érintkező) Föld
Rovar GPIO15 (10. érintkező) RS485 adatok fogadása (RX)
Off GPIO14 (8. érintkező) RS485 adatátvitel (TX)
RE GPIO18 (12. érintkező) Fogadás engedélyezése (alacsony a fogadáshoz)
De GPIO18 (12. érintkező) Az illesztőprogram engedélyezése (magas küldési lehetőség)
A RS485 egy vonal Csatlakozzon az RS485 eszközhöz
B RS485 B vonal Csatlakozzon az RS485 eszközhöz

Jegyzet: A RE és De A csapokat együtt irányítják GPIO18, az átvitel engedélyezése vagy letiltása.


3. lépés: Engedélyezze az UART -t a Raspberry PI -n

  1. Nyissa meg a Raspberry PI konfigurációs eszközt:

    sudo raspi-config
    
  2. Navigál Interfész opciók> Soros port.

  3. Tiltsa le a soros konzolt, de Engedélyezze a soros hardvert.

  4. Indítsa újra a Raspberry Pi -t:

    sudo reboot
    
  5. Ellenőrizze, hogy a A soros eszköz áll rendelkezésre:

    ls /dev/serial*
    

    Látnod kell /dev/serial0.


4. lépés: Telepítse a szükséges Python könyvtárakat

  1. Frissítse a Raspberry Pi -t:
    sudo apt update && sudo apt upgrade -y
    
  2. Telepítse a Python soros kommunikációs könyvtárat:
    pip3 install pyserial
    

5. lépés: Python kód az RS485 -en keresztüli kommunikációhoz

Alapvető Python -kód, hogy adatokat küldjön és fogadjon az RS485 -en keresztül

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. lépés: Az RS485 kommunikáció alkalmazása a Raspberry Pi -vel

  1. Ipari automatizálás - Kommunikáljon a PLC -kkel, érzékelőkkel és vezérlőkkel a Modbus RTU használatával.
  2. Távolsági kommunikáció - Az RS485 támogatja nagy hatótávolságú adatátvitel legfeljebb 1200 méter.
  3. Több eszközhálózatok - Csatlakoztasson több eszközt ugyanazon az RS485 buszon.
  4. Intelligens energiamérők -Olvassa el a MODBUS-kompatibilis energiamérőket.
  5. IoT és adatnaplózás - Gyűjtse össze az érzékelő adatait, és továbbítsa azt felhőkiszolgálókra.

Hibaelhárítás

  1. Nincs kommunikáció

    • Ellenőrizze a kábelezési csatlakozásokat, biztosítva A és B vonalak helyesen csatlakoztatva vannak.
    • Ellenőrizze ezt Az UART engedélyezve van felhasználás sudo raspi-config.
    • Gondoskodjon a Az RS485 eszköz ugyanazt az adatátviteli sebességet használja Ahogy a Python -ban beállították.
  2. Az engedély megtagadta a hibát

    • Adja hozzá a felhasználót a dialout Csoport a soros porthoz való hozzáféréshez:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. Szemétfigurák a kapott adatokban

    • Gondoskodjon arról, hogy mindkét eszköz használja Ugyanazok az adatátviteli sebesség és a soros beállítások.
    • Ellenőrizze árnyékolt kábelek szükséges a hosszabb távolságokhoz.

Következtetés

A Max485 modul lehetővé teszi a Raspberry Pi kommunikációját RS485, ideálissá téve ipari automatizálás, modbus eszközök és távolsági soros adatátvitel- Az útmutató követésével létrehozhatja kétirányú kommunikáció a Raspberry PI és az RS485 eszközök között IoT és beágyazott rendszerprojektekhez. 🚀

Hagyj egy megjegyzést

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.