ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้โมดูล Max485 RS485 กับ Raspberry Pi

Using the MAX485 RS485 Module with the Raspberry Pi

เดอะ MAX485 โมดูลช่วยให้ Raspberry Pi สามารถสื่อสารโดยใช้ โปรโตคอล RS485, ซึ่งถูกใช้อย่างแพร่หลายสำหรับระบบอัตโนมัติในอุตสาหกรรม การสื่อสาร Modbus และการส่งข้อมูลอนุกรมระยะไกล คู่มือนี้จะแสดงวิธีการเชื่อมต่อ ตั้งค่า และใช้งาน MAX485 โมดูล RS485 กับ Raspberry Pi โดยใช้ Python.


สิ่งที่คุณต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. MAX485 โมดูล RS485
  3. อุปกรณ์ RS485 (เช่น เซ็นเซอร์ Modbus, คอนโทรลเลอร์อุตสาหกรรม)
  4. สายจัมเปอร์
  5. ติดตั้ง Python แล้ว บน Raspberry Pi

ขั้นตอนที่ 1: ทำความเข้าใจ โมดูล MAX485

MAX485 คือ ทรานซีฟเวอร์แปลงสัญญาณ TTL เป็น RS485 ที่ช่วยให้ Raspberry Pi สามารถส่งและรับสัญญาณ RS485 ได้.

คุณสมบัติเด่น:

  • รองรับการสื่อสาร RS485 แบบ half-duplex
  • ทำงานบน ไฟเลี้ยง 5V (เข้ากันได้กับลอจิก 3.3V บน Raspberry Pi)
  • การใช้งาน TX, RX, DE, และ RE ขาสำหรับการควบคุมการสื่อสาร

ขั้นตอนที่ 2: การต่อสาย MAX485 เข้ากับ Raspberry Pi

ขา MAX485 พิน Raspberry Pi ฟังก์ชัน
VCC 5V (ขา 2) แหล่งจ่ายไฟ
GND GND (ขา 6) พื้น
RO GPIO15 (ขา 10) การรับข้อมูล RS485 (RX)
DI GPIO14 (ขา 8) RS485 การส่งข้อมูล (TX)
RE GPIO18 (ขา 12) เปิดใช้งานการรับ (LOW เพื่อรับ)
DE GPIO18 (ขา 12) เปิดใช้งานไดรเวอร์ (HIGH เพื่อส่ง)
A สาย A ของ RS485 เชื่อมต่อกับอุปกรณ์ RS485
B สาย B ของ RS485 เชื่อมต่อกับอุปกรณ์ RS485

หมายเหตุ: เดอะ RE และ DE พินถูกควบคุมพร้อมกันโดย GPIO18, การเปิดหรือปิดการส่งข้อมูล.


ขั้นตอนที่ 3: เปิดใช้งาน UART บน Raspberry Pi

  1. เปิดเครื่องมือกำหนดค่า Raspberry Pi:

    sudo raspi-config
    
  2. ไปที่ ตัวเลือกอินเทอร์เฟซ > พอร์ตอนุกรม.

  3. ปิดใช้งานคอนโซลอนุกรมแต่ เปิดใช้งานฮาร์ดแวร์พอร์ตอนุกรม.

  4. รีบูต Raspberry Pi:

    sudo reboot
    
  5. ตรวจสอบให้แน่ใจว่า อุปกรณ์แบบอนุกรมพร้อมใช้งาน:

    ls /dev/serial*
    

    คุณควรเห็น /dev/serial0.


ขั้นตอนที่ 4: ติดตั้งไลบรารี Python ที่จำเป็น

  1. อัปเดต Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งไลบรารีสำหรับการสื่อสารแบบอนุกรมของ Python:
    pip3 install pyserial
    

ขั้นตอนที่ 5: โค้ด Python สำหรับสื่อสารผ่าน RS485

โค้ด Python พื้นฐานสำหรับการส่งและรับข้อมูลผ่าน 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()

ขั้นตอนที่ 6: การประยุกต์ใช้การสื่อสาร RS485 กับ Raspberry Pi

  1. ระบบอัตโนมัติในอุตสาหกรรม – สื่อสารกับ PLC, เซ็นเซอร์ และตัวควบคุม โดยใช้ Modbus RTU
  2. การสื่อสารระยะไกล – รองรับ RS485 การส่งข้อมูลระยะไกล สูงสุดถึง 1200 meters.
  3. เครือข่ายหลายอุปกรณ์ – เชื่อมต่ออุปกรณ์หลายเครื่องบนบัส RS485 เดียวกัน.
  4. มิเตอร์พลังงานอัจฉริยะ – อ่านมิเตอร์พลังงานที่รองรับ Modbus.
  5. IoT และการบันทึกข้อมูล – รวบรวมข้อมูลจากเซ็นเซอร์และส่งไปยังเซิร์ฟเวอร์บนคลาวด์

การแก้ไขปัญหา

  1. ไม่มีการสื่อสาร

    • ตรวจสอบการเชื่อมต่อสายไฟ โดยให้แน่ใจว่า ไลน์ A และ B เชื่อมต่ออย่างถูกต้อง.
    • ตรวจสอบว่า เปิดใช้งาน UART แล้ว การใช้ sudo raspi-config.
    • ให้แน่ใจว่า อุปกรณ์ RS485 ใช้บอดเรตเดียวกัน ตามที่ตั้งค่าใน Python.
  2. ข้อผิดพลาด: ปฏิเสธการอนุญาต

    • เพิ่มผู้ใช้ไปยัง โทรออก กลุ่มสำหรับการเข้าถึงพอร์ตอนุกรม:
      sudo usermod -aG dialout $USER
      sudo reboot
      
  3. อักขระเพี้ยนในข้อมูลที่ได้รับ

    • ตรวจให้แน่ใจว่าอุปกรณ์ทั้งสองใช้ บอดเรตและการตั้งค่าพอร์ตอนุกรมเดียวกัน.
    • ตรวจสอบว่า สายเคเบิลแบบมีชีลด์ จำเป็นสำหรับระยะทางที่ไกลกว่า.

บทสรุป

เดอะ โมดูล MAX485 ช่วยให้ Raspberry Pi สื่อสารผ่าน RS485, ทำให้เหมาะสำหรับ ระบบอัตโนมัติอุตสาหกรรม, อุปกรณ์ Modbus, และการส่งข้อมูลแบบอนุกรมระยะไกล. โดยทำตามคู่มือนี้ คุณสามารถจัดตั้ง การสื่อสารแบบสองทิศทางระหว่าง Raspberry Pi และอุปกรณ์ RS485 สำหรับโครงการ IoT และระบบฝังตัว. 🚀

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.

แสดงความคิดเห็น