Sommario:

Fino a 3 bus RS485 su un Arduino: 5 passaggi
Fino a 3 bus RS485 su un Arduino: 5 passaggi

Video: Fino a 3 bus RS485 su un Arduino: 5 passaggi

Video: Fino a 3 bus RS485 su un Arduino: 5 passaggi
Video: Come realizzare un sistema master/slave via RS485 con OPTA Finder - Video 747 2024, Dicembre
Anonim
Fino a 3 bus RS485 su un Arduino
Fino a 3 bus RS485 su un Arduino
Fino a 3 bus RS485 su un Arduino
Fino a 3 bus RS485 su un Arduino

In questo tutorial mostrerò come collegare fino a 3 bus RS485 indipendenti a un Arduino. Questo può essere utile se si vuole creare un gateway tra questi bus o se si vogliono controllare dispositivi in questi bus (senza collegare i bus stessi). Un'altra applicazione è la connessione di un dispositivo RS422 (ad esempio controllo motore) e di un dispositivo RS485 (ad esempio un sensore) allo stesso Arduino.

In ogni caso sarà necessario uno shield RS485 con interfaccia isolata per eliminare i problemi di messa a terra e per proteggere Arduino.

Passaggio 1: strumenti e materiali

Image
Image

Hardware:

  • Arduino UNO (o qualsiasi altro computer a scheda singola con prese Arduino Shield)
  • Arduino RS42 / RS485 Shield con interfaccia isolata

Software:

Arduino IDE

Passaggio 2: impostazione DIP Switch e jumper per BUS 1

Impostazione DIP Switch e Jumper per BUS 2
Impostazione DIP Switch e Jumper per BUS 2

Maglione:

  • UART RX in posizione 0
  • UART TX alla posizione 1
  • Tensione alla posizione 5V

DIP switch:

  • S1 = OFF - ON - ON - OFF
  • S2 = OFF - OFF - ON - ON
  • S3 = ON - OFF - OFF - OFF

Passaggio 3: impostazione DIP Switch e jumper per BUS 2

Maglione:

  • UART RX in posizione 2
  • UART TX alla posizione 3
  • Tensione alla posizione 5V

DIP switch:

  • S1 = OFF - ON - ON - OFF
  • S2 = OFF - OFF - ON - ON
  • S3 = ON - OFF - OFF - OFF

Passaggio 4: impostazione DIP Switch e jumper per BUS 3

Impostazione DIP Switch e Jumper per BUS 3
Impostazione DIP Switch e Jumper per BUS 3

Maglione:

  • UART RX in posizione 4
  • UART TX alla posizione 5
  • Tensione alla posizione 5V

DIP switch:

  • S1 = OFF - ON - ON - OFF
  • S2 = OFF - OFF - ON - ON
  • S3 = ON - OFF - OFF - OFF

Passaggio 5: integrazione del software

Lo shield per il bus 1 utilizzerà l'hardware UART sui PIN 0 e 1 di Arduino. Entrambi gli altri scudi utilizzeranno UART software.

#includere

SoftwareSeriale RS485_BUS2(2, 3);

SoftwareSeriale RS485_BUS3(4, 5);

configurazione nulla()

{

….

// inizia la porta seriale per il bus 1

Serial.begin(9600);

// inizia la porta seriale per il bus 2

RS485_BUS2.begin(9600);

// inizia la porta seriale per il bus 3

RS485_BUS3.begin(9600);

….

I dati di trasmissione di questi UART software sono limitati dalla potenza di calcolo di Arduino. Ovviamente se utilizzerai una scheda Arduino o STM32 basata su ARM questo non sarà davvero un problema, ma per l'UNO si consiglia di utilizzare solo due shield contemporaneamente e per il secondo shield non più di 9600 Baud come data rate.

Consigliato: