Inhoudsopgave:

Tot 3 RS485-bussen op één Arduino - Ajarnpa
Tot 3 RS485-bussen op één Arduino - Ajarnpa

Video: Tot 3 RS485-bussen op één Arduino - Ajarnpa

Video: Tot 3 RS485-bussen op één Arduino - Ajarnpa
Video: #13 VTScada (бесплатная лицензия) Modbus RS485 Аналоговое чтение и запись | Внешний ПЛК Arduino 2024, Juli-
Anonim
Tot 3 RS485-bussen op één Arduino
Tot 3 RS485-bussen op één Arduino
Tot 3 RS485-bussen op één Arduino
Tot 3 RS485-bussen op één Arduino

In deze instructable laat ik zien hoe je tot 3 onafhankelijke RS485-bussen op één Arduino kunt aansluiten. Dit kan handig zijn als u een gateway tussen deze bussen wilt maken of als u apparaten in deze bussen wilt aansturen (zonder de bussen zelf aan te sluiten). Een andere toepassing is het aansluiten van een RS422-apparaat (bijvoorbeeld motorbesturing) en een RS485-apparaat (bijvoorbeeld een sensor) op dezelfde Arduino.

In ieder geval heb je een RS485-shield met geïsoleerde interface nodig om aardingsproblemen op te lossen en de Arduino te beschermen.

Stap 1: Gereedschap & Materialen

Image
Image

Hardware:

  • Arduino UNO (of een andere computer met één bord met Arduino Shield-sockets)
  • Arduino RS42 / RS485 Shield met geïsoleerde interface

Software:

Arduino IDE

Stap 2: DIP-schakelaar en jumperinstelling voor BUS 1

DIP-schakelaar & jumperinstelling voor BUS 2
DIP-schakelaar & jumperinstelling voor BUS 2

Trui:

  • UART RX naar positie 0
  • UART TX naar positie 1
  • Spanning naar positie 5V

DIP-schakelaar:

  • S1 = UIT - AAN - AAN - UIT
  • S2 = UIT - UIT - AAN - AAN
  • S3 = AAN - UIT - UIT - UIT

Stap 3: DIP-schakelaar & jumper-instelling voor BUS 2

Trui:

  • UART RX naar positie 2
  • UART TX naar positie 3
  • Spanning naar positie 5V

DIP-schakelaar:

  • S1 = UIT - AAN - AAN - UIT
  • S2 = UIT - UIT - AAN - AAN
  • S3 = AAN - UIT - UIT - UIT

Stap 4: DIP-schakelaar & jumper-instelling voor BUS 3

DIP-schakelaar & jumperinstelling voor BUS 3
DIP-schakelaar & jumperinstelling voor BUS 3

Trui:

  • UART RX naar positie 4
  • UART TX naar positie 5
  • Spanning naar positie 5V

DIP-schakelaar:

  • S1 = UIT - AAN - AAN - UIT
  • S2 = UIT - UIT - AAN - AAN
  • S3 = AAN - UIT - UIT - UIT

Stap 5: Software-integratie

Het schild voor bus 1 gebruikt de hardware UART op PIN 0 en 1 van de Arduino. De beide andere schilden gebruiken software-UART's.

#erbij betrekken

SoftwareSeriële RS485_BUS2(2, 3);

SoftwareSeriële RS485_BUS3(4, 5);

ongeldige setup()

{

….

// init seriële poort voor bus 1

Serieel.begin(9600);

// init seriële poort voor bus 2

RS485_BUS2.begin (9600);

// init seriële poort voor bus 3

RS485_BUS3.begin (9600);

….

De transmissiegegevens van deze software-UART's worden beperkt door de rekenkracht van de Arduino. Als je een ARM-gebaseerd Arduino- of STM32-bord gebruikt, zal dit natuurlijk geen probleem zijn, maar voor de UNO is het aan te raden om slechts twee schilden tegelijk te gebruiken en voor het tweede schild niet meer als 9600 Baud als datasnelheid.

Aanbevolen: