Mục lục:

Lên đến 3 cổng RS485 trên một Arduino: 5 bước
Lên đến 3 cổng RS485 trên một Arduino: 5 bước

Video: Lên đến 3 cổng RS485 trên một Arduino: 5 bước

Video: Lên đến 3 cổng RS485 trên một Arduino: 5 bước
Video: Arduino | Sử Dụng RS485 2024, Tháng bảy
Anonim
Lên đến 3 cổng RS485 trên một Arduino
Lên đến 3 cổng RS485 trên một Arduino
Lên đến 3 cổng RS485 trên một Arduino
Lên đến 3 cổng RS485 trên một Arduino

Trong hướng dẫn này, tôi sẽ chỉ cách kết nối tối đa 3 bus RS485 độc lập với một Arduino. Điều này có thể hữu ích nếu bạn muốn tạo một cổng giữa các bus này hoặc nếu bạn muốn điều khiển các thiết bị trong các bus này (mà không cần kết nối chính các bus). Một ứng dụng khác là kết nối thiết bị RS422 (ví dụ: điều khiển động cơ) và thiết bị RS485 (ví dụ: cảm biến) với cùng một Arduino.

Trong mọi trường hợp, bạn sẽ cần một lá chắn RS485 với giao diện cách ly để khắc phục các sự cố nối đất và bảo vệ Arduino.

Bước 1: Công cụ & Vật liệu

Image
Image

Phần cứng:

  • Arduino UNO (hoặc bất kỳ máy tính bảng đơn nào khác có ổ cắm Arduino Shield)
  • Arduino RS42 / RS485 Shield với giao diện biệt lập

Phần mềm:

Arduino IDE

Bước 2: Cài đặt DIP Switch & Jumper cho BUS 1

Công tắc DIP & Cài đặt Jumper cho BUS 2
Công tắc DIP & Cài đặt Jumper cho BUS 2

Nhảy:

  • UART RX đến vị trí 0
  • UART TX lên vị trí 1
  • Điện áp vào vị trí 5V

Dip Switch:

  • S1 = TẮT - BẬT - BẬT - TẮT
  • S2 = TẮT - TẮT - BẬT - BẬT
  • S3 = BẬT - TẮT - TẮT - TẮT

Bước 3: Cài đặt DIP Switch & Jumper cho BUS 2

Nhảy:

  • UART RX đến vị trí 2
  • UART TX lên vị trí 3
  • Điện áp vào vị trí 5V

Dip Switch:

  • S1 = TẮT - BẬT - BẬT - TẮT
  • S2 = TẮT - TẮT - BẬT - BẬT
  • S3 = BẬT - TẮT - TẮT - TẮT

Bước 4: Cài đặt DIP Switch & Jumper cho BUS 3

Công tắc DIP & Cài đặt Jumper cho BUS 3
Công tắc DIP & Cài đặt Jumper cho BUS 3

Nhảy:

  • UART RX đến vị trí 4
  • UART TX lên vị trí 5
  • Điện áp vào vị trí 5V

Dip Switch:

  • S1 = TẮT - BẬT - BẬT - TẮT
  • S2 = TẮT - TẮT - BẬT - BẬT
  • S3 = BẬT - TẮT - TẮT - TẮT

Bước 5: Tích hợp phần mềm

Lá chắn cho bus 1 sẽ sử dụng UART phần cứng trên PIN 0 và 1 của Arduino. Cả hai lá chắn khác sẽ sử dụng UART phần mềm.

#bao gồm

SoftwareSerial RS485_BUS2 (2, 3);

SoftwareSerial RS485_BUS3 (4, 5);

void setup ()

{

….

// cổng nối tiếp init cho bus 1

Serial.begin (9600);

// cổng nối tiếp init cho bus 2

RS485_BUS2.begin (9600);

// cổng nối tiếp init cho bus 3

RS485_BUS3.begin (9600);

….

Dữ liệu truyền của các UART phần mềm này bị giới hạn bởi sức mạnh tính toán của Arduino. Tất nhiên nếu bạn sử dụng bảng Arduino hoặc STM32 dựa trên ARM thì điều này sẽ không thực sự là vấn đề, nhưng đối với UNO, bạn chỉ nên sử dụng hai lá chắn cùng một lúc và lá chắn thứ hai không quá 9600 Baud theo tốc độ dữ liệu..

Đề xuất: