Serielle Schnittstele Arduino (Reichweite und Anderes)

#1 von mt14516 , 06.01.2022 18:11

Hallo Zusammen,

da ich im Netz leider die unterschiedlichsten Angaben gefunden habe, wollte ich fragen ob einer von Euch verlässlich sagen kann ob es funktioniert so wie ich es mir denke.

Ein PC soll bei mir Tag/Nacht, Beleuchtung und diverse Effekte steuerm. Dazu sendet er per serieller Schnittstelle Codes an die anderen "Slave" Arduinos. Empfangen diese dann das "Startsignal" starten sie ihr Programm.

Die Frage dazu wäre:

1.) Wie weit komme ich ohne weitere Schaltungen (Pegelwandler etc). Bei mir sind es ca 5-7 m die ich überbrücken muss (RX, TX)

2.) Nur der Master Arduino sendet. Die anderen Empfangen nur. Kann ich alle "Slave" Arduinos (ca. 10 Stk) einfach "parallel" schalten (Also TX und RX)

Gruß
Michael


mt14516  
mt14516
Regionalbahn (RB)
Beiträge: 49
Registriert am: 23.10.2020
Ort: Rems-Murr-Kreis
Gleise C-Gleis
Spurweite H0
Steuerung Mobile Station 2
Stromart AC


RE: Serielle Schnittstele Arduino (Reichweite und Anderes)

#2 von tmmtmm , 06.01.2022 19:09

Hi,
da will ich als ArduinoFan mal meine Gedanken dazu los werden.

5-7 m sollten kein Problem sein; du musst mit einem USB Seriell Wandler (USB to TTL Konverter UART) vom PC zum Arduino gehen. Das ist ein Wandler, der mit einem Signalpegel zwischen 0 und 5 (3,3) Volt die Daten überträgt.
Ob eine parallele Verdrahtung funktioniert müsste man ausprobieren, wenn dann aber nur TX vom PC an alle RX der Arduino. Die hören dann alle gleichzeitig die Befehle und der Arduino den du mit einer Adresse anspricht reagiert dann darauf. Wenn das funktioniert hat das mit viel Glück zu tun, vorgesehen ist so eine RS232 nur für eine direkte Verbindung zwischen zwei Geräten.
Du könntest deine Befehle zum ersten Arduino senden, der nimmt diese entgegen und sendet diese dann weiter an den nächsten Arduino; entweder nimmst du die Daten an RX entgegen und sendest diese mit TX weiter oder (ist sicher besser) du benutzt eine 2. Software RS232 und sendest die Daten darüber zum nächsten Arduino.
Du könntest die Daten auch per I2C übertragen, weiss ich aber nicht wie das mit der Reichweite ist (ich verbinde Aruinos mit Kabellängen um 50 cm, das ist kein Problem - ich würde das an deiner Stelle einfach mal probieren, das Kabel ist das selbe wie bei RS232, nur die Arduino Pins sind andere. Zusätzlich kann man Informationen auf einem I2C Display anzeigen.

Ich bin gespannt, was du so alles raus findest.

Gruß MM


mt14516 hat sich bedankt!
tmmtmm  
tmmtmm
Beiträge: 8
Registriert am: 02.03.2021


RE: Serielle Schnittstele Arduino (Reichweite und Anderes)

#3 von mt14516 , 06.01.2022 19:36

Hallo MM,

aufgrund deines Postes hab ich grad mal mich ausm Sofa erhoben und kurzerhand zwei Arduinos parallel geschaltet. Einer davon mit kurzem Abstand ca. 10cm und einer mit ca 10m Draht.

Dein Post hat mich drauf gebracht, dass ich ja vom "Master" nur mit einer Leitung an alle RX Pins muss - schon wieder ne Leitung gespart.

Es funktioniert. Kaum zu glauben wie man sich als Erwachsener Mann über zwei blinkende LEDs freuen kann :-)

Gruß
Michael


Running.Wolf hat sich bedankt!
mt14516  
mt14516
Regionalbahn (RB)
Beiträge: 49
Registriert am: 23.10.2020
Ort: Rems-Murr-Kreis
Gleise C-Gleis
Spurweite H0
Steuerung Mobile Station 2
Stromart AC


RE: Serielle Schnittstele Arduino (Reichweite und Anderes)

#4 von tmmtmm , 06.01.2022 19:51

Hi Michael,
so ein ArduinoProblem fördert die Bewegung :-)

Ich schalte auch teilweise RS232 Schnittstellen parallel um die gesendeten Befehle "abzuhören"; bei einigen Anwendungen schalte ich auch die TX und RX Leitungen via Relais auf andere Com Ports - das geht alles problemlos.
Was nicht funktionieren wird ist, wenn die Arduinos via TX eine Antwort an den "Master senden" - das gibt in dem Moment wenn 2 gleichzeitig senden Datensalat (deshalb denke ich I2C ist eigentlich besser geeignet). Viele sagen I2C geht nur über kurze Verbindungen, ich kenne jemanden, der hat sein ganzes Haus mit I2C (allerdings mir Verstärkerbausteinen) verkabelt und steuert damit alles mögliche.

Gruß MM

PS: wenn du noch irgendwelche Fragen hast, dann nur her damit


tmmtmm  
tmmtmm
Beiträge: 8
Registriert am: 02.03.2021


RE: Serielle Schnittstele Arduino (Reichweite und Anderes)

#5 von mt14516 , 07.01.2022 17:10

Hallo,

I2C hatte ich probiert bin aber kläglich an der Programmierung gescheitert. Da ich nur vorhabe in eine Richtung zu senden reicht mit der serielle Bus völlig aus.

Gruß
Michael


mt14516  
mt14516
Regionalbahn (RB)
Beiträge: 49
Registriert am: 23.10.2020
Ort: Rems-Murr-Kreis
Gleise C-Gleis
Spurweite H0
Steuerung Mobile Station 2
Stromart AC


RE: Serielle Schnittstele Arduino (Reichweite und Anderes)

#6 von tmmtmm , 07.01.2022 19:49

Hi,
bei I2C kann man keine Zahlen senden, man sendet nur einzelne ASCII-Zeichen (oder ich habe was übersehen).
Ein Zahlenwert muss vorher "zerlegt" werden, diese "Zerlegung" erfordert etwas Aufwand, dann geht es aber Problemlos.

Wenn deine 10 Arduinos den Signalpegel nicht zu weit runter ziehen und du keine "Rückleitung" brauchst, dann spricht sicher nichts gegen diese "unkonventionelle" Lösung.

Viel Erfolg & Gruß MM


tmmtmm  
tmmtmm
Beiträge: 8
Registriert am: 02.03.2021


   

Zugbeeinflussungsmodul stilllegen
Märklin Trafos 37540 und 6177 noch gefahrlos nutzbar

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz