Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#1 von Ralf9 , 10.01.2023 14:24

Hallo,

ich verwende zum Einlesen von Gleis Reedkontakten Arduinos.
Für die Verbindung vom Arduino zum Raspi verwende ich eine serielle Verbindung mit 19200 Baud.
Zur Entkopplung habe ich beim Raspi Optokoppler.
Momentan habe ich eine Kabellänge von ca 2m und es funktioniert mit TTL Pegeln problemlos.

Gibt es Erfahrungen oder Empfehlungen ab welcher Kabellänge ich an jeden Ende ein MAX232 einbauen sollte?

Gruß Ralf


Ralf9  
Ralf9
RegionalExpress (RE)
Beiträge: 94
Registriert am: 12.12.2019
Ort: BaWü Rems-Murr-Kreis
Spurweite H0
Stromart Digital

zuletzt bearbeitet 10.01.2023 | Top

RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#2 von Stahlblauberlin , 10.01.2023 14:57

Bei guter Verkabelung (habe da CAT5 Netzwerkkabel im Einsatz) sind so bis fünf m problemlos zwischen 5V-Arduinos möglich. Achtung bei den Pegeln, auf beiden Seiten sollte 3,3V-Technik eingesetzt werden, die Raspis mögen 5V-Pegel nicht so. Anpassung mit Widerständen als Spannungsteiler auf der TX-Seite des Arduinos geht heftig auf die Signalqualität. Bei Verwendung von MAX232 bzw. USB-Seriell-Adaptern auf Raspi-Seite sind ohne weiteres 20m möglich, auch mit deutlich höheren Baudraten (115kBaud getestet)


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.295
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#3 von Klaus3 , 10.01.2023 15:09

Hi,

wichtig bei so etwas ist einfach, daß auch ein bißchen Strom fließt. Also vor den jeweiligen Eingängen einfach einen Widerstand einbauen, der die Leitung belastet. Wie klein der werden kann, muß man sich anschauen. Mit einem Scope kann man gut erkennen, ob die Sollpegel noch erreicht werden aber die Flankensteilheit deutlich besser wird. Dann sind auch gut und gerne 20 Meter in geschirmter Leitung möglich.

Wenn die Schnittstelle wirklich einen schnellen Optokoppler treibt, dann sind auch 100 Meter bei 19200 kein Thema. Faktisch hast Du dann eine Stromschleife. Man muß halt auf die Masseführung achten, daß es wirklich eine Schleife wird. Also niemals Schirmung am Ende und am Anfang der Strecke auflegen, daß ist immer schlecht.

Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 556
Registriert am: 06.11.2015
Spurweite N
Stromart DC


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#4 von Stahlblauberlin , 10.01.2023 15:21

@Klaus3 Die Ausgänge des Raspis mögen keine Ströme in den Größenordnungen die hier relevant wären, die sind auch nicht für den Zweck gemacht. Mehr als 5mA sollte man denen nicht zumuten. Lange Kabel, auch und gerade abgeschirmte, belasten diese Pins schon kräftig ohne das zusätzliche Widerstände für niedrige Impedanzen sorgen.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.295
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#5 von Klaus3 , 10.01.2023 15:33

Zitat von Stahlblauberlin im Beitrag #4
@Klaus3 Die Ausgänge des Raspis mögen keine Ströme in den Größenordnungen die hier relevant wären, die sind auch nicht für den Zweck gemacht. Mehr als 5mA sollte man denen nicht zumuten. Lange Kabel, auch und gerade abgeschirmte, belasten diese Pins schon kräftig ohne das zusätzliche Widerstände für niedrige Impedanzen sorgen.


Na wenn dem so ist, verstehe ich das Thema "Optokoppler" im Ausgangsbeitrag nicht.

Und wenn die Ausgänge so labil sind, empfiehlt sich ja ohnehin ein Treiberbaustein für ein paar Cent. Denn das erhöht dann nicht nur die störungsfreie Reichweite, sondern auch den Schutz gegen ESD Probleme usw. Denn wenn die Schnittstelle bisher direkt an irgendwelchen Portpins hängt, die eh "nichts können", dann würde ich da auf jeden Fall was dazwischen bauen. Je länger die Leitungen, desto höher die Ströme die durch Induktion von Aussen kommen.

Kurzum: Treiber dran und freuen :-)

Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 556
Registriert am: 06.11.2015
Spurweite N
Stromart DC


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#6 von Stahlblauberlin , 10.01.2023 15:56

@Klaus3 Stimmt, die Optokoppler hatte ich nicht auf dem Schirm. Die verkraften natürlich mehr, da kann man dann problemlos nennenswerte Ströme nutzen. TX vom Arduino mit 10 mA (330 Ohm Vorwidertstand für die Led im Optokoppler), RX mit externem PullUp von 470Ohm, dann sollte selbst über Telefonleitung 20-30m zu machen sein.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.295
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#7 von Ralf9 , 10.01.2023 17:11

Ich gehe nicht direkt auf die Raspi Pins, ich verwende einen USB-Seriell-Adapter (CP2102) und von dort mit 270 Ohm auf einen Optokoppler.
Vom Arduino Tx gehe ich mit 330 Ohm auf einen 6N136 Optokoppler.
In der Gegenrichtung gehe ich vom Ausgang eines PC900 zum rx des Arduino. Wenn ich mir dies anschaue, ist es wahrscheinlich besser, wenn ich den 4,7k Pullup beim PC900 zum rx des Arduino verlege.

Ich habe vor ein geschirmtes 2x2x0,6 Telefonkabel zu nehmen oder ist ein cat5a besser?
Die Länge wird ca 5-6m sein

Gruß Ralf


Ralf9  
Ralf9
RegionalExpress (RE)
Beiträge: 94
Registriert am: 12.12.2019
Ort: BaWü Rems-Murr-Kreis
Spurweite H0
Stromart Digital


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#8 von Klaus3 , 10.01.2023 19:02

Naaabend,

na die Idee für nahezu "unendliche" Leitungslänge wäre es, eben nicht mit nur einer Leitung Tx und einer Rx zu arbeiten, sondern wirklich die 0V ( Masse ) vom Arduino zum Optokoppler am Raspi zu legen und durch den Koppler den Tx Strom fließen zu lassen, also zurück zum Arduino. Dann hast Du eine Stromschleife die faktisch unverwüstlich ist. Die Tx-Leitung durch den Optokoppler auf die Bezugsmasse des Raspies zu legen würde den Effekt des Kopplers ja vernichten.

Aber vielleicht hab ich ja was falschverstanden :-)

1
2
3
4
5
6
7
8
9
10
11
12
 

Arduino
 
Tx ------------------------------------ ----------------------- Rx Raspi
-|>`` (>|) Empfänger
GND -------------------------------------- ----------------------- GND / oder UB, je nach restlicher Beschaltung
 

Rx ----- ------------- Tx Raspi
(>|) Empfänger Transistor anderer Koppler |>``
GND oder UB ---- ------------- GND
 
 



Sorry, ich bekomme das hier nicht formatiert, ich hoffe, Du hast ne Idee was ich meine.


Also hast Du vier Leitungen zwischen den beiden Kommunikationspartnern.

Ich hoffe, Du verstehst mein Gekritzel :-) Polung und Spannung je nach Rest der Schaltung, ggf. mit Widerstand auf den anderen Pol usw. Aber das läuft ja bei Dir alles schon.

Eine Spannungserhöhung (MAX232) bring nicts, denn dann müßtest Du die Vorwiderstände größer machen und der Störabstand von der Störspannung zum Störstrom bliebe gleich. Bei einer Stromschleife ist das ja eben der Trick :-)


Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 556
Registriert am: 06.11.2015
Spurweite N
Stromart DC

zuletzt bearbeitet 10.01.2023 | Top

RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#9 von Ralf9 , 10.01.2023 20:26

Zitat
na die Idee für nahezu "unendliche" Leitungslänge wäre es, eben nicht mit nur einer Leitung Tx und einer Rx zu arbeiten, sondern wirklich die 0V ( Masse ) vom Arduino zum Optokoppler am Raspi zu legen und durch den Koppler den Tx Strom fließen zu lassen, also zurück zum Arduino. Dann hast Du eine Stromschleife die faktisch unverwüstlich ist.


Ja, so mache ich es, ich verwende für den Arduino ein extra Steckernetzteil.
Tx und Vcc vom Arduino gehen zur LED des 6N136
Rx und GND gehen zum Transistor des PC900.

Wenn beim Telefonkabel weiss und schwarz verdrillt, und gelb und rot verdrillt sind,
kommt dann beim Arduino:
rot - vcc
gelb - Tx
weiss -rx
schwarz - GND

Kann ich das Steckernetzteil auch bei den Optokopplern plazieren und dann über das Telefonkabel (rot und schwarz) den Arduino versorgen oder hat dies Nachteile?

Gruß Ralf


Ralf9  
Ralf9
RegionalExpress (RE)
Beiträge: 94
Registriert am: 12.12.2019
Ort: BaWü Rems-Murr-Kreis
Spurweite H0
Stromart Digital


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#10 von Klaus3 , 10.01.2023 21:17

Zitat von Ralf9 im Beitrag #9
Kann ich das Steckernetzteil auch bei den Optokopplern plazieren und dann über das Telefonkabel (rot und schwarz) den Arduino versorgen oder hat dies Nachteile?


Dann ist der Effekt der Stromschleife weg. Du solltest also eine Leitung nehmen, die noch 2 weitere Adern parat hat. Ein Netzwerkkabel hat ja 8 Adern, da könntest Du je 2 verdrillte Adern für GND und 2 für UB nehmen. Die restlichen 4 bleiben wie bisher. Für die Versorgungsspannung mußt Du nicht zwingend jeweils 2 Adern haben, aber wenn die schon mal da sind :-) Kommt halt drauf an, wieviel Dampf da verloren gehen darf. Der Spannungsregler wird ja eh auf der "anderen" Seite sein, daher macht das nicht so viel. Störungen sollte das nicht verursachen, solange es bei der galvanisch getrennten Stromschleife bleibt!

Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 556
Registriert am: 06.11.2015
Spurweite N
Stromart DC


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#11 von Ralf9 , 10.01.2023 23:43

ok, dann werde ich mir ein Cat 7 AWG 23 Verlegekabel kaufen. Könnt Ihr mir bestimmte Marken empfehlen?

Zitat von Klaus3 im Beitrag #10
Der Spannungsregler wird ja eh auf der "anderen" Seite sein

Ich versorge den pro mini direkt mit 5V. Der Spannungsabfall dürfte bei einen Stromverbrauch von unter 100mA vernachlässigbar sein.


Ralf9  
Ralf9
RegionalExpress (RE)
Beiträge: 94
Registriert am: 12.12.2019
Ort: BaWü Rems-Murr-Kreis
Spurweite H0
Stromart Digital


RE: Frage zur Kabellänge bei serieller Verbindung (UART) zwischen Raspi und Arduino

#12 von Stahlblauberlin , 11.01.2023 13:34

Cat7 ist reichlich übertrieben, LAN mit 5GBit braucht sowas. Cat5e reicht völlig, kommt es nicht aus dubiosen fernöstlichen Quellen ist der Hersteller egal. Die technischen Vorgaben was CAT5e (e wie einzeln geschirmte Adernpaare) sein muss sind eindeutig, Das reicht über kürzere Verbindungen (< 50m) auch zuverlässig für GBit-Lan, für eine serielle Verbindung also mit Sicherheit.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.295
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


   

Kurzschluss Festigkeit
Tams Light Computer Next Generation LC-NG-02 LC-NG-04

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