Raspberry Pi ile Max485 RS485 modülünü kullanma

Using the MAX485 RS485 Module with the Raspberry Pi

Max485 Modül, Raspberry Pi'nin Rs485 protokolüendüstriyel otomasyon, modbus iletişimi ve uzun mesafeli seri veri iletimi için yaygın olarak kullanılan. Bu kılavuz size nasıl bağlanacağınızı, yapılandıracağınızı ve kullanacağınızı gösterecektir. Raspberry Pi ile Max485 RS485 Modülü Python kullanma.


Ne İhtiyacınız Olacak

  1. Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
  2. MAX485 RS485 Modülü
  3. Rs485 cihazı (örn. Modbus sensörü, endüstriyel denetleyici)
  4. Jumper telleri
  5. Python yüklü Raspberry Pi'de

1. Adım: Max485 modülünü anlamak

. Max485 bir TTL-TO-RS485 Alıcı Bu, Raspberry Pi'nin Rs485 sinyalleri göndermesini ve almasını sağlar.

Temel Özellikler:

  • Yarı dubleks RS485 iletişimini destekler
  • Üzerinde çalışır 5V Güç (Raspberry Pi'de 3.3V mantığı ile uyumlu)
  • Kullanma TX, RX, DE ve RE iletişim kontrolü için pimler

Adım 2: Max485'i Raspberry Pi'ye bağlama

Max485 pimi Raspberry Pi Pimi İşlev
VCC 5V (pim 2) Güç kaynağı
Gnd GND (pim 6) Zemin
Ro GPIO15 (pim 10) RS485 Veri Alım (RX)
Di GPIO14 (pim 8) RS485 Veri İletimi (TX)
TEKRAR GPIO18 (pim 12) Enable al (alacak düşük)
DE GPIO18 (pim 12) Sürücü etkinleştirme (göndermek için yüksek)
A Rs485 bir çizgi Rs485 cihazına bağlanın
B Rs485 B hattı Rs485 cihazına bağlanın

Not: . TEKRAR Ve DE Pimler birlikte kontrol edilir GPIO18, iletimi etkinleştirme veya devre dışı bırakma.


Adım 3: Raspberry Pi'de UART'ı etkinleştirin

  1. Raspberry Pi yapılandırma aracını açın:

    sudo raspi-config
    
  2. Gezmek Arayüz Seçenekleri> Seri bağlantı noktası.

  3. Seri konsolu devre dışı bırak ancak Seri Donanımı Etkinleştir.

  4. Raspberry Pi'yi yeniden başlatın:

    sudo reboot
    
  5. Doğrula Seri cihaz mevcuttur:

    ls /dev/serial*
    

    Görmelisin /dev/serial0.


4. Adım: Gerekli Python kütüphanelerini kurun

  1. Raspberry Pi'nizi güncelleyin:
    sudo apt update && sudo apt upgrade -y
    
  2. Python Seri İletişim Kütüphanesi'ni yükleyin:
    pip3 install pyserial
    

Adım 5: Rs485 üzerinden iletişim kurmak için Python kodu

Rs485 üzerinden veri göndermek ve almak için temel Python kodu

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()

Adım 6: Rs485'in Raspberry Pi ile iletişim uygulamaları

  1. Endüstriyel otomasyon - Modbus RTU kullanarak PLC'ler, sensörler ve denetleyicilerle iletişim kurun.
  2. Uzun mesafeli iletişim - Rs485 destekler uzun menzilli veri iletimi 1200 metreye kadar.
  3. Çok Avantı Ağları - Aynı RS485 veri yoluna birden çok cihaz bağlayın.
  4. Akıllı Enerji Sayaçları -Modbus uyumlu enerji sayaçlarını okuyun.
  5. IoT ve Veri Günlüğü - Sensör verilerini toplayın ve bulut sunucularına iletin.

Sorun giderme

  1. İletişim yok

    • Kablo bağlantılarını kontrol edin, sağlayarak A ve B çizgileri doğru bağlanır.
    • Doğrula Uart etkinleştirildi kullanma sudo raspi-config.
    • Sağlamak RS485 cihazı aynı baud hızını kullanır Python'da ayarlandığı gibi.
  2. İzin reddedildi

    • Kullanıcıyı ekleyin dialout Seri bağlantı noktası erişimi için grup:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. Alınan verilerde çöp karakterleri

    • Her iki cihazın da kullanmasını sağlayın Aynı baud hızı ve seri ayarlar.
    • Kelinmek korumalı kablolar daha uzun mesafeler için gereklidir.

Çözüm

. MAX485 Modülü Raspberry Pi'nin iletişim kurmasını sağlar Rs485, için ideal Endüstriyel otomasyon, modbus cihazları ve uzun mesafeli seri veri iletimi. Bu kılavuzu izleyerek kurabilirsiniz Raspberry Pi ve Rs485 cihazları arasındaki çift yönlü iletişim IoT ve gömülü sistem projeleri için. 🚀

Yorum bırak

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.