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.
:
Bearbeitet durch User
4..20mA Schnittstelle. Anlaufen muss das System mit 3,6mA bei ca. 12V.
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.
:
Bearbeitet durch User
Jochen schrieb: > RS232 ist aber auch schon wieder eine andere Physik. 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... > 4..20mA Schnittstelle. Warum kommunizierst du nicht da drüber? So eine Stromschleife taugt für die Datenübertragung tadellos: https://books.google.de/books?id=6BQeBAAAQBAJ&pg=PA531&lpg=PA531&dq=stromschleife+datenrate&source=bl&ots=FZHWlkUSSm&sig=0E5LeL8Rq-CUK7E6FubgBIMB8Pw&hl=de&sa=X&ved=0CCIQ6AEwAGoVChMIgf2g8f76xgIVChAsCh2QRAKo#v=onepage&q=stromschleife%20datenrate&f=false Jochen schrieb: > Der Andere schrieb: >> Vieleicht mal das eigentliche Problem schildern. > Nunja, was gibt es da noch Groß zu beschreiben? Nunja, woher kommen die 12V/3,6mA? Wann werden das mehr? Wann weniger? Wie kommen da die 4..20mA ins Spiel? Wird schon was über diese Stromschnittstelle übertragen?
:
Bearbeitet durch Moderator
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
HART ist bekannt. Hilft aber hier nicht, da die Stromschleife nicht zum Sensor geführt wird/werden kann. Es bleibt also bei der Kernfrage...
@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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.