Inhaltsverzeichnis:

Bis zu 3 RS485-Busse auf einem Arduino - Gunook
Bis zu 3 RS485-Busse auf einem Arduino - Gunook

Video: Bis zu 3 RS485-Busse auf einem Arduino - Gunook

Video: Bis zu 3 RS485-Busse auf einem Arduino - Gunook
Video: Communication between multiple Arduino's (Modbus RS485 based) 2024, November
Anonim
Bis zu 3 RS485-Busse auf einem Arduino
Bis zu 3 RS485-Busse auf einem Arduino
Bis zu 3 RS485-Busse auf einem Arduino
Bis zu 3 RS485-Busse auf einem Arduino

In diesem anweisbaren zeige ich, wie man bis zu 3 unabhängige RS485-Busse an einen Arduino anschließt. Dies kann nützlich sein, wenn Sie ein Gateway zwischen diesen Bussen erstellen oder Geräte in diesen Bussen steuern möchten (ohne die Busse selbst anzuschließen). Eine weitere Anwendung ist der Anschluss eines RS422-Geräts (zB Motorsteuerung) und eines RS485-Geräts (zB eines Sensors) an denselben Arduino.

In jedem Fall benötigen Sie ein RS485-Shield mit isolierter Schnittstelle, um Erdungsprobleme zu beseitigen und den Arduino zu schützen.

Schritt 1: Werkzeuge & Materialien

Image
Image

Hardware:

  • Arduino UNO (oder jeder andere Einplatinencomputer mit Arduino Shield-Buchsen)
  • Arduino RS42 / RS485 Shield mit isolierter Schnittstelle

Software:

Arduino-IDE

Schritt 2: DIP-Schalter & Jumper-Einstellung für BUS 1

DIP-Schalter & Jumper-Einstellung für BUS 2
DIP-Schalter & Jumper-Einstellung für BUS 2

Jumper:

  • UART RX auf Position 0
  • UART TX auf Position 1
  • Spannung an Position 5V

DIP Schalter:

  • S1 = AUS - EIN - EIN - AUS
  • S2 = AUS - AUS - EIN - EIN
  • S3 = EIN - AUS - AUS - AUS

Schritt 3: DIP-Schalter & Jumper-Einstellung für BUS 2

Jumper:

  • UART RX auf Position 2
  • UART TX auf Position 3
  • Spannung an Position 5V

DIP Schalter:

  • S1 = AUS - EIN - EIN - AUS
  • S2 = AUS - AUS - EIN - EIN
  • S3 = EIN - AUS - AUS - AUS

Schritt 4: DIP-Schalter & Jumper-Einstellung für BUS 3

DIP-Schalter & Jumper-Einstellung für BUS 3
DIP-Schalter & Jumper-Einstellung für BUS 3

Jumper:

  • UART RX auf Position 4
  • UART TX auf Position 5
  • Spannung an Position 5V

DIP Schalter:

  • S1 = AUS - EIN - EIN - AUS
  • S2 = AUS - AUS - EIN - EIN
  • S3 = EIN - AUS - AUS - AUS

Schritt 5: Softwareintegration

Die Abschirmung für Bus 1 verwendet den Hardware-UART an PIN 0 und 1 des Arduino. Die beiden anderen Schilde verwenden Software-UARTs.

#enthalten

SoftwareSeriell RS485_BUS2(2, 3);

SoftwareSeriell RS485_BUS3(4, 5);

Void-Setup ()

{

….

// serielle Schnittstelle für Bus 1 initialisieren

Serial.begin (9600);

// serielle Schnittstelle für Bus 2 initiieren

RS485_BUS2.begin(9600);

// serielle Schnittstelle für Bus 3 initialisieren

RS485_BUS3.begin(9600);

….

Die Übertragungsdaten dieser Software-UARTs sind durch die Rechenleistung des Arduino begrenzt. Wenn Sie ein ARM-basiertes Arduino- oder STM32-Board verwenden, ist dies natürlich kein Problem, aber für die UNO wird empfohlen, nur zwei Shields gleichzeitig zu verwenden und für das zweite Shield nicht mehr als 9600 Baud als Datenrate zu verwenden.

Empfohlen: