Hallo zusammen!
Ist es möglich UART auch ohne Terminierung und Umsetzung der Physik (auf
z.B. RS485) über 50m zu kommunizieren, in dem man z.B. die Datenraten
auf 9,6kBaud reduziert? Würde das sogar mit dem IO-Pins eines µC direct
gehen, oder bräuchte man dann noch irgendwelche "Treiberstufen"?
Danke und Grüße
Jochen
Jochen schrieb:> Ist es möglich UART auch ohne Terminierung und Umsetzung der Physik> über 50m zu kommunizieren, in dem man z.B. die Datenraten> auf 9,6kBaud reduziert?
Welche Umgebung? Wiese oder Walzwerk?
Mit 9600 traue ich mich in industrieller Umgebung 10m weit, wenn die
Verlegung abseits von Umrichter-Kabeln erfolgen kann. Andere trauen sich
mehr...
Jochen schrieb:> Würde das sogar mit dem IO-Pins eines µC direct> gehen, oder bräuchte man dann noch irgendwelche "Treiberstufen"?
Ein bisschen Strom und Schutz des MC können nie schaden. Die RS485
Bustranceiver sind so etwas gewöhnt und haben gleich noch
Schutzschaltungen. Wenn du unbedingt assymetrisch übertragen möchtest,
solltest du aber wenigstens ein paar Treiber in die Leitungen setzen,
damit der MC nicht direkt auf die Leitung arbeitet. Ich habe schon über
200m mit RS232/9,6k übertragen, allerdings wg. unklarer Erdverhältnisse
über Optokoppler.
Jochen schrieb:> Würde das sogar mit dem IO-Pins eines µC direct gehen
Das hat sich auf 50m noch keiner getraut. Oder wenigstens keiner, der
hinterher berühmt geworden wäre...
Matthias S. schrieb:> Ein bisschen Strom und Schutz des MC können nie schaden.
Bei 50m Abstand würde ich mir darüber hinaus schon Gedanken über
"Masseverschleppung" und "Potentialverschiebung" machen.
Hallo!
Erstmal danke für die Antworten!
Lothar M. schrieb:> Welche Umgebung? Wiese oder Walzwerk?
Eher Walzwerk ...
Matthias S. schrieb:> Ich habe schon über> 200m mit RS232/9,6k übertragen
RS232 ist aber auch schon wieder eine andere Physik. Da betragen die
Spannungen ja +/-12V, sofern ich mich richtig erinnere. Der Pegel des
UARt-Signals beträgt ja VCC des µC, also im meinem Fall sogar weniger
als 3V. :-O
> Eher Walzwerk ...
Dann ausschliesslich mit robusten Pegelwandlern als
Mindestvorraussetzung. Eventuell auch noch potentialfrei.
> Der Pegel des UARt-Signals beträgt ja VCC des µC, also im> meinem Fall sogar weniger als 3V. :-O
Das ist irrelevent. Die Pegel bei RS422 oder RS485 sind auch nur 3.3
oder 5V und trotzdem ist das viel besse wie RS232.
Olaf
Jochen schrieb:> RS232 ist aber auch schon wieder eine andere Physik.
Sorry, da habe ich mich unklar ausgedrückt. Ich meinte UART mit einer an
MIDI angelehnten Übertragungstechnik.
Jochen schrieb:> Lothar M. schrieb:>> Welche Umgebung? Wiese oder Walzwerk?>> Eher Walzwerk ...
Ich rate dir dringend zu RS485. Etwaige Einstrahlungen aufs Datenkabel
fallen damit unter den Tisch. Nicht umsonst wird RS485 gerne in
Industrieumgebungen benutzt. 3V sind zwar immer noch sehr knapp, sollten
dann aber klappen. Besser sind natürlich schon 5V oder so.
Kannst ja auch RS422 (2x diff) nehmen dann ändert sich von der Software
her nix - kannste z.B. über ein billiges LAN Kabel laufen lassen (dann
geht sicher auch nen Megabit) und da gleich noch Strom mit übertragen.
Hallo!
Wen man nur die Physik umsetzt, z.B. RS485 oder RS422, ist das der
Software reichtlich egal. Das einzige was man beachten müsste ist evtl.
Full- oder Halfduplex, sofern ersters der UART auf dem µC überhaupt
unterstützt. Gibt ja auch welche, die einen gemeinsamen Sende und
Empfangspuffer haben.
Der Grund, warum RS485 ein "Problem" darstellt, ist die Energie.
ich habe ja irrsinnige Treiberströme von 25 oder mehr mA.
Jochen schrieb:> Ist es möglich UART auch ohne Terminierung und Umsetzung der Physik (auf> z.B. RS485) über 50m zu kommunizieren, in dem man z.B. die Datenraten> auf 9,6kBaud reduziert? Würde das sogar mit dem IO-Pins eines µC direct> gehen, oder bräuchte man dann noch irgendwelche "Treiberstufen"?
Normal wäre beim UART RS232, das ist mit Treiberstufen auf +/-15V/6mA,
und reicht laut Definition
Baud max. Länge
2.400 900 m
4.800 300 m
9.600 152 m <--- reicht also
19.200 15 m
57.600 5 m
115.200 <2 m
Beim UART oder uC Ausgang ist die Kapazität des Kabels die
geschwindigkeitsbegrenzende Eigenschaft, der Eingang sollte einen
Schmitt-Trigger haben.
TTL Signale waren leicht störbar, Störabstand bei echtem bipolaren TTL
nur 0.4V, Strom nur 250uA, damit schafft man 50m nicht. Bei heutigem
CMOS mit Schmitt-Trigger sieht es deutlich besser aus, Störabstand eher
1.4V und 20mA. Bei 50m sind also nicht das Kabel, der Kabelwiderstand
oder die Kabelkapazität das Problem. Aber eine kräftige Störung kann das
Signal so verfälschen, daß der Empfang nicht mehr stimmt, und eine noch
grössere Störung kann vor allem den Empfänger beschädigen. Störungen
kann man durch verdrillte Leitung mit Abschirmung fern halt, aber der
berühmte Masseversatz ist nur durch galvanische Trennung am Empfänger
z.B. per Optokoppler zu erreichen.
Eine DIREKTE Verbindung ist also nicht betriebssicher, obwohl sie unter
günstigen Voraussetzungen funktioniert. Ein Blitzeinschlag in der Nähe,
und deine Bauteile werden gegrillt.
MaWin schrieb:> galvanische Trennung am Empfänger> z.B. per Optokoppler zu erreichen.
Dann würde aber auch kein RS485 und/oder RS232 funktionieren.
Zudem brauchen Optokopller ja noch mehr Energie! :-(
Jochen schrieb:> Der Grund, warum RS485 ein "Problem" darstellt, ist die Energie.> ich habe ja irrsinnige Treiberströme von 25 oder mehr mA.
Umgebung Walzwerk und dann Strom sparen wollen auf Kosten der
Störsicherheit schliesst sich aber schon irgendwie aus.
Vieleicht mal das eigentliche Problem schildern. Hier sind ja wohl
einige, die auch schon gewerblich solche Dinge erfolgreich umgesetzt
haben.
Jochen schrieb:> Dann würde aber auch kein RS485 und/oder RS232 funktionieren.
Funktionieren tun sie, es funktioniert ja auch direkt, aber bei der
Entfernung muss man mit heftigen Unterschieden im Massebezug rechnen.
Der Empfänger muss also galvanisch isoliert sein, darf nicht mit
Schutzleiter verbunden sein wie das üblicherweise beim PC der Fall wäre.
Hta man nur eine kleine Schaltung die für sich alleine an einem Trafo
hängt, ohne weitere Verbindung z.B. zum Telefon- oder Ethernetz, dann
wäre der Empfänger bereits galvanisch getrennt, sonst muss man das
machen, z.B. per Optokoppler (der übrigens problemlos von CMOS-TTL
steuerbar ist).
Der Andere schrieb:> Vieleicht mal das eigentliche Problem schildern.
Nunja, was gibt es da noch Groß zu beschreiben?
Ein Sensor soll nicht mehr lokal am Gerät installiert, sondern abgesetzt
sein. Eben bis 50m Weg. Das Energiemanagement ist aber so knapp
bemessen, dass es nur 5mW Reserve gibt, die zur Kommunikation zur
verfügung stehen.
Vorteil ist, dass ich nicht kontinuierlich Senden/Empfangen muss,
sondern nur alle 50ms (ca. 40 Byte) ... Aber dann muss ich irgendwie die
Energie puffern, was auch nicht verlustfrei vonstatten geht.
Jochen schrieb:> Das Energiemanagement ist aber so knapp> bemessen, dass es nur 5mW Reserve gibt, die zur Kommunikation zur> verfügung stehen.
Welches Energiemanagement? Es wäre hilfreich, mal zu wissen, wo diese
'Energie' nun herkommt.
Wenn man wenigstens auf der MC Seite ein wenig mehr Strom zur Verfügung
hat, könnte man mit einem Brückengleichrichter aus der RS485 ja auch
wieder Strom für den Sensor gewinnen. Die Nummer klingt mir aber eher
nach Fehlkonzept.
Mit 5mW jedenfalls kommst du nicht sauber über die 50m.
Jochen schrieb:> RS232 ist aber auch schon wieder eine andere Physik. Da betragen die> Spannungen ja +/-12V,
du meinst V24, hat erst mal mit RS232 wenig zu tun
http://www.cfd.tu-berlin.de/Lehre/EDV1/skripte/alles/node165.html
aber da die Begrifflichkeiten gerne verwürfelt werden weiss am Ende
keiner mehr worum es geht.
Als ich meinem Atari eine abgesetzte Tastatur spendieren wollte reichte
die Portleistung nicht um ein 2m Kabel zu treiben, ich habe einfach
beiderseits 12V OC Treiber zwischengesetzt, bei unidirektional kein
Problem, also eine halbe V24 daraus gemacht 0-12V.
Lothar M. schrieb:> Also, wenn ich UART höre, dann denke ich an diese 9-poligen SUB-D> Stecker. Dann an den dahinterhängenden MAX und weit ab davon an die RX> und TX-Pins eines uC...
Genau der MAX(3232 & CO) macht den Unterschied, das es eben nicht UART
ist.
Lothar M. schrieb:> Nunja, woher kommen die 12V/3,6mA?> Wann werden das mehr? Wann weniger? Wie kommen da die 4..20mA ins Spiel?
4...20mA ist der gültige Prozesswert. Den muss man aber zunächst messen.
Dafür muss der untere Fehlerstrom von 3,6mA reichen.
Der Rest wird im Betrieb "verheizt" oder für andere Funktionen genutzt.
Lothar M. schrieb:> Wird schon was über diese Stromschnittstelle übertragen?
Ja.
@ Jochen (Gast)
>4...20mA ist der gültige Prozesswert. Den muss man aber zunächst messen.
Der analoge Prozesswert.
>Dafür muss der untere Fehlerstrom von 3,6mA reichen.>Der Rest wird im Betrieb "verheizt" oder für andere Funktionen genutzt.>> Wird schon was über diese Stromschnittstelle übertragen?>Ja.
Sicher? Du meinst den analogen Messwert 4-20mA. Aber darüber kann man
eine digitale Schnittstelle legen, das wird seit Ewigkeiten so gemacht.
Nennt sich HART.
https://de.wikipedia.org/wiki/Highway_Addressable_Remote_Transducer
@Jochen (Gast)
>HART ist bekannt. Hilft aber hier nicht, da die Stromschleife nicht zum>Sensor geführt wird/werden kann.
Wirr deiner Rede Sinn ist.
>Es bleibt also bei der Kernfrage...
Nö. Du solltest mal KLAR formulieren, wie dein Aufbau aussieht! Denn die
meisten haben wohl gedacht, dass die 4-20mA Stromschleife zum Sensor
geht.
Falk B. schrieb:> Denn die> meisten haben wohl gedacht, dass die 4-20mA Stromschleife zum Sensor> geht.
?!?
Ich fragte nach UART auf 50m, nicht nach einer Stromschleife.
4..20mA Gerät, Sensor davon 50m drahtgebunden angeschlossen.
Schnittstelle Gerät <=> Sensor = UART. Gerät versorgt Sensor. => 4
Leiter
Gerät gibt über Stromschleife 4..20mA den analogen Prozesswert.
Jochen schrieb:> Ich fragte nach UART auf 50m
Also kurz zusammengefasst: serielle Übertragung (UART, I2C, SPI...) mit
Logikpegeln direkt aus den uC-Pins funktioniert auf diese Entfernung in
industrieller Umgebung nicht ausreichend zuverlässig.
Deshalb wurden Industriebusse und -schnittstellen entwickelt.
Jochen schrieb:> Gerät gibt über Stromschleife 4..20mA den analogen Prozesswert.
Dann sind 50m eine prima Antenne um allen Dreck einzusammeln oder Radio
Eriwan zu empfangen.
Jochen schrieb:> 4..20mA Gerät, Sensor davon 50m drahtgebunden angeschlossen.> Schnittstelle Gerät <=> Sensor = UART. Gerät versorgt Sensor. => 4> Leiter> Gerät gibt über Stromschleife 4..20mA den analogen Prozesswert.
Frage im gleich Stil:
Wie gibt Sensor Signal aus?
Liefert Sensor Signal in Spannungs- oder Strom/gestalt/
Weißt Du wirklich, was Du willst?
---------------------------------------------------------------------
Auf die Gefahr hin, eine auf den Wanst zu kriegen: Ich habe für einen
solchen Zweck vor Jahrzehnten eine sog. IFSS-Schnittstelle gebaut und
damit ein Signal über ca 500 Meter quer durch eine Produktionshalle mit
viel "Stimmung" drin fehlerfrei zu mir in die Warte übertragen.
MfG Paul
@Jochen (Gast)
>Ich fragte nach UART auf 50m, nicht nach einer Stromschleife.>4..20mA Gerät, Sensor davon 50m drahtgebunden angeschlossen.>Schnittstelle Gerät <=> Sensor = UART. Gerät versorgt Sensor. => 4>Leiter>Gerät gibt über Stromschleife 4..20mA den analogen Prozesswert.
Dann hast du zusätzlich das Problem, nahezu keinerlei Leistung für deine
Sensorschnittstelle zu haben, denn die braucht dein Gerät wahrscheinlich
allein. Trotzdem kann man RS485 auch über 50m ohne Terminierung
betreiben bzw. eine AC-Terminierung nutzen, siehe Wellenwiderstand.
Dann ist auch RS485 ziemlich stromsparend, eigentlich genauso wie reines
CMOS. Der Trick lautet "slew rate reduced tranceivers", die gibt es bei
Maxim & Co mit extra langsamen Flanken. Dann geht das alles problemlos
ohne Terminierung. MAX487 oder so.
Paul B. schrieb:> Liefert Sensor Signal in Spannungs- oder Strom/gestalt/
?
Sensor = µC + ADC + Messbrücke
Messbrücke über 50m anbinden ist auch nicht drin.
Falk B. schrieb:> Trotzdem kann man RS485 auch über 50m ohne Terminierung> betreiben bzw. eine AC-Terminierung nutzen, siehe Wellenwiderstand.> Dann ist auch RS485 ziemlich stromsparend, eigentlich genauso wie reines> CMOS. Der Trick lautet "slew rate reduced tranceivers", die gibt es bei> Maxim & Co mit extra langsamen Flanken. Dann geht das alles problemlos> ohne Terminierung. MAX487 oder so.
Muss ich mir genauer anschauen ...
Paul B. schrieb:> Wie gibt Sensor Signal aus?
Nun ja, das wird wohl ein TTL UART sein.
Der war bisher ganz kurz an "das Gerät" angebunden und ist jetzt 50m
weit weg. Man könnte natürlich auch versucht sein, "das Gerät" mit
seiner (robust[er]en) 4..20mA Prozessschnittstelle um 50m in Richtung
Sensor zu verschieben...
Lothar M. schrieb:> "das Gerät" mit> seiner (robust[er]en) 4..20mA Prozessschnittstelle um 50m in Richtung> Sensor zu verschieben...
Nö. Ist ... "aus Umgebungsgründen" ... nicht möglich. Des Wegen muss der
Sensor wander.
Jochen schrieb:> Dann geht das alles problemlos>> ohne Terminierung. MAX487 oder so.MAX3483E, hat 3,3V.
@Jochen: Es ist schon erstaunlich mit welchen Brocken du hier versuchst
eine vernünftige Lösung zu erhalten.
Dein Schreibstil ist teilweise unverständlich. Deine Aufgabenstellung
über mehrere Beiträge verteilt. Immer noch lückenhaft.
Und da erwartest du eine Lösung?
Deine Eingagsfrage ist längst beantwortet.
50 Meter gehen locker mit vernünftigen Kabeln, AC-Terminierung und
niedrieger Baudrate.
>Jochen schrieb:>> Dann geht das alles problemlos>>> ohne Terminierung. MAX487 oder so.>MAX3483E, hat 3,3V.
Und was wolltest du uns damit sagen?
@ 50m (Gast)
>>> Dann geht das alles problemlos>>>> ohne Terminierung. MAX487 oder so.>>MAX3483E, hat 3,3V.>Und was wolltest du uns damit sagen?
Dass er lieber einen sparsamen RS485 Tranceiver ohne Terminierung nimmt,
der deutlich robuster ist als reines CMOS.
50m schrieb:> @Jochen: Es ist schon erstaunlich mit welchen Brocken du hier versuchst> eine vernünftige Lösung zu erhalten.>> Dein Schreibstil ist teilweise unverständlich. Deine Aufgabenstellung> über mehrere Beiträge verteilt. Immer noch lückenhaft.
Detailfragen wurden sukzessive gestellt bzw. haben sich durch den Dialog
so ergeben. IMHO sind diese jedoch für die eignetliche Frage nicht
relevant.
50m schrieb:> Deine Eingagsfrage ist längst beantwortet.>> 50 Meter gehen locker mit vernünftigen Kabeln, AC-Terminierung und> niedrieger Baudrate.
ja. Wurde auch so zur Kenntnis genommen.
Falk B. schrieb:>>>MAX3483E, hat 3,3V.>>>Und was wolltest du uns damit sagen?>> Dass er lieber einen sparsamen RS485 Tranceiver ohne Terminierung nimmt,> der deutlich robuster ist als reines CMOS.
Das es eher ein Kanditat ist, da er mit 3,3V klar kommt. Der genannte
MAX487 benötigt 5V.
Nur gibt es leider keine Aussage darüber, mit welcher Baudrate und mit
welchem Strom man die 50m ohne Terminierung hinbekommt.
@Jochen (Gast)
>Nur gibt es leider keine Aussage darüber, mit welcher Baudrate und mit>welchem Strom man die 50m ohne Terminierung hinbekommt.
Man kann es grob per Artikel Wellenwiderstand abschätzen.
Bei 50m hat man ca. 250ns Laufzeit. Die Anstiegszeit sollte also im
Bereich von 1us und mehr liegen, dann gibt es keine Reflektionen. Aber
selbst wenn es welche geben sollte, sind die bei UART unkritisch, denn
die Daten werden mit 16fachem Baudtakt abgetastet. Wenn die Flanken da
ein wenig klingeln stört das praktisch nicht.
Falk B. schrieb:> Die Anstiegszeit sollte also im> Bereich von 1us und mehr liegen, dann gibt es keine Reflektionen
Beim MAX3483E beträgt die Anstiegszeit 900ns (typ.). Allerdings auch bei
250kBaud. Damit dürfte ich selbst bei 115,200kBaud kein Problem haben.
Jochen schrieb:> Damit dürfte ich selbst bei 115,200kBaud kein Problem haben.
Ja, so ist das, wenn man nur ein kleines Teilproblem anschaut...
Ich sag mal so: es ist schon ein Trick, den RS422 ohne Terminierung zu
verwenden. Da würde ich dann nicht mit aller Gewalt mit dem nächstbesten
Parameter an die theoretische Obergrenze gehen.
Ist dir klar, was Falk mit "klingeln" und "16-fach Oversampling" gemeint
hat?
Wenn 5us "Klingeln" bei 104us pro Bit (9600) noch nichts ausmachen, dann
kann das bei 9us (115k) pro Bit durchaus einen negativen Effekt haben.
Lothar M. schrieb:> Wenn 5us "Klingeln" bei 104us pro Bit (9600) noch nichts ausmachen, dann> kann das bei 9us (115k) pro Bit durchaus einen negativen Effekt haben.
Check!
Falk B. schrieb:> Bei 50m hat man ca. 250ns Laufzeit. Die Anstiegszeit sollte also im> Bereich von 1us und mehr liegen, dann gibt es keine Reflektionen
Wie kommt eigentlich der Faktor 4 zustande?
@ Jochen (Gast)
>> Bei 50m hat man ca. 250ns Laufzeit. Die Anstiegszeit sollte also im>> Bereich von 1us und mehr liegen, dann gibt es keine Reflektionen>Wie kommt eigentlich der Faktor 4 zustande?
Die berühmte Pi mal Daumen Regel. Eigentlich geht man von Faktor 6 aus,
aber hier kann man ein paar Abstriche machen.