Forum: Mikrocontroller und Digitale Elektronik RS485 - unbedingt twistet pair nötig?


von Alexander S. (knut740)


Lesenswert?

Hallo,
ich versuche, mich mit der Möglichkeit zu befassen, ein DS18B20-Signal 
über eine RS485-Verbindung zu übertragen. Für direkten Anschluß ist die 
Leitung von ca 40 m zu lang. Also dachte ich, in der Nähe des DS18B20 
einen RS485-Baustein und einen zweiten am MCU (in diesem Fall am Arduino 
oder Raspberry Pi) anzuordnen.

Nun sind für eine RS485-Verbindung von 40 m bei geringer 
Übertragungsrate doch wohl eine eher Kleinigkeit, deshalb meine Frage, 
ob man in diesem Fall auf die vorgeschriebenen twisted-pair-Adern 
verzichten kann und ein Kabel mit unverdrillten, einfach nebeneinander 
liegenden Adern benutzen kann? Ein solches Kabel ist nämlich schon 
vorhanden (es hat aber wenigstens eine Abschirmung nach außen).


Eine Zusatzfrage hätte ich noch: Bei meiner Google-Suche habe ich zwar 
viel über RS485-Verbindungen zwischen MCU's usw. gefunden, aber (noch) 
nichts darüber, wie ich das DS18B20-Signal in den Remote-RS4485 
einspeisen kann.
Bei meinen eher beschränkten Kenntnissen wäre eine genauere Beschreibung 
hilfreich. Kennt jemand einen passenden Link?

Vielen Dank schon mal!
VG
Alexander

von Noch einer (Gast)


Lesenswert?

Eine Fehlererkennung / Korrektur am Empfänger ist recht einfach. Die 
Temperatur ändert sich so langsam, ein Thermometer liefert Minuten lang 
immer wieder die selben Werte.

Umsetzung von 1-Wire auf RS485 ist dagegen recht aufwendig. Da brauchst 
du einen Mikrocontroller, eine 1-Wire Library und ein kleines Programm.

War mir zu aufwendig - für die weit entfernen Thermometer hatte ich 
Kty81 genommen und die Störungen mit Kondensatoren an den Eingängen 
unterdrückt.

von Alexander S. (knut740)


Lesenswert?

Noch einer schrieb:
> War mir zu aufwendig - für die weit entfernen Thermometer hatte ich
> Kty81 genommen und die Störungen mit Kondensatoren an den Eingängen
> unterdrückt.

Mir war Kty81 zu ungenau, ich hatte lange Jahre SMT 160-30, die haben 
auch mit Leitungslängen um 40 m gut funktioniert (lt. Kontrolle mit 
Hg-Präzessionsthermometer).
Aber sie müßten mal erneuert werden, leider werden sie nicht mehr 
hergestellt.

von Olaf (Gast)


Lesenswert?

> verzichten kann und ein Kabel mit unverdrillten, einfach nebeneinander
> liegenden Adern benutzen kann?

Das wird sehr wahrscheinlich funktionieren. Zumal du dir ja bei RS485 
noch ein schickes Protokoll mit Fehlererkennung ausdenken kannst und 
solltest.

Es gibt aber eventuell noch ein anderes Problem. Wenn du 40m innerhalb 
eines Gebaeudes verlegt sind istes IMHO okay. Wenn sie aber die 
Verbindung von deinem Haus zu deiner Garage sind dann kommst du da in 
die Gegend wo man ueber Potentialtrennung nachdenken sollte. Sonst 
koennte es dir passieren das bei jedem Gewitter wo ein Blitz in ein paar 
Hundert Metern entfernung einschlaegt deine Elektronik geschichte wird.

> viel über RS485-Verbindungen zwischen MCU's usw. gefunden, aber (noch)
> nichts darüber, wie ich das DS18B20-Signal in den Remote-RS4485
> einspeisen kann.

Das geht auch garnicht. Zum einen waere diese labile 1Write 
Timingkackprotokoll vermutlich fuer so eine lange Leitung zu sensibel, 
wichtiger aber die Datenrichtung von RS485 muss von jemandem mit 
Intelligenz umgeschaltet werden. Da waere ein eigener Mikrocontroller 
schon angebracht.

Olaf

von Wolfgang (Gast)


Lesenswert?

Gegen Potentialunterschiede hilft Isolation. Warum also nicht ein kleine 
Funkstrecke mit RFMxx, nRF24l01 o.ä..

Gegen Spannungen bis 4000V gibt es von TI die ISOxxxx-Serie [1], bis 
1000V die ADuMxxx-Serie von Analog Devices [2] oder konventionelle 
Optokopplerlösungen.
Für höheren Spannungen kann man auch ein Stück Kunststoff-LWL mit 
IF-E96/IF-D92 dazwischen setzen ;-)

[1] http://www.ti.com/lit/an/slla284a/slla284a.pdf
[2] 
http://www.analog.com/en/products/interface-isolation/isolation/standard-digital-isolators.html
[3] http://i-fiberoptics.com/pdf/if-e96edatasheet.pdf
http://i-fiberoptics.com/pdf/ifd92.pdf

von Horst (Gast)


Lesenswert?

Alexander S. schrieb:
> Für direkten Anschluß ist die Leitung von ca 40 m zu lang.

Wo hast Du das her? Ich hab in einem Serverraum ne 30 Meterstrecke mit 
über 20 Sensoren die hinter 50 Meter Telefonverkabelung läuft. Einzelne 
Sensoren hab ich schon bei 100m laufen gehabt.
Du mußt den PullUp warscheinlich anpassen (min 1,25K bei 5Volt, 825Ohm 
bei 3,3V) aber 40m sind kein Problem.

von Georg (Gast)


Lesenswert?

Alexander S. schrieb:
> ob man in diesem Fall auf die vorgeschriebenen twisted-pair-Adern
> verzichten kann

Das kann man so nicht beantworten, das Verdrillen dient hauptsächlich 
zur Eliminierung von eingestreuten Störungen - hast du keine, brauchst 
du das auch nicht. Wenn dagegen die Umgebung elektrisch verseucht ist, 
sollte man nicht drauf verzichten.

Aber da du wohl nicht in einem Stahlwerk verlegst kannst du es erst mal 
probieren. Wenn nötig kannst du nachher immer noch bessere Kabel 
verlegen.


Horst schrieb:
> die hinter 50 Meter Telefonverkabelung läuft

Auch Telefonkabel sind verdrillt, wenn sie nicht gerade aus der 
Nachkriegszeit stammen.

Georg

von 1wire (Gast)


Lesenswert?

Funktioniert bei mir mit Klingeldraht bis 100 Meter locke...

von Sven (Gast)


Lesenswert?

Olaf schrieb:
> Es gibt aber eventuell noch ein anderes Problem. Wenn du 40m innerhalb
> eines Gebaeudes verlegt sind istes IMHO okay. Wenn sie aber die
> Verbindung von deinem Haus zu deiner Garage sind dann kommst du da in
> die Gegend wo man ueber Potentialtrennung nachdenken sollte. Sonst
> koennte es dir passieren das bei jedem Gewitter wo ein Blitz in ein paar
> Hundert Metern entfernung einschlaegt deine Elektronik geschichte wird.

Wie Schaut das bei Rs485 aus? Eigentlich sollte 485 auf Zwei andern 
laufen. Also Ohne Masse? Ich habe bei mir seit einigen Wochen ein 485 
Bus Laufen um einige Relais zu schalten. Länge vermutlich ~100m Haus 
Dachboden und Garage. Versorgt werden die Geräte alle durch die Bus 
Leitung / 2 Für Daten 2 Für Vcc & Gnd.
Jedes Gerät hat einen Stepdown.
Bislang hatte ich noch keine Defekte Aber wenn ich da vorbeugend was 
verbessern kann würde ich das natürlich machen bevor alles Kaputt ist.

von Bernd K. (prof7bit)


Lesenswert?

Sven schrieb:
> Wie Schaut das bei Rs485 aus? Eigentlich sollte 485 auf Zwei andern
> laufen. Also Ohne Masse?

Man sollte alle RS485 Transceiver galvanisch isoliert vom Rest der 
Schaltung bauen (kostet 5 Euro mehr an Bauteilen), dann geht das 
problemlos.

von F. F. (foldi)


Lesenswert?

Man muss ja nicht gerade den parasit Power benutzen, sondern kann den 
Sensoren noch eine ganze Plusleitung spendieren.
Hat auch noch weitere Vorteile.
Wenn man sowieso Telefonkabel nimmt, da sind doch mindestens vier Leiter 
drin.

von Stefan F. (Gast)


Lesenswert?

> Ich hab in einem Serverraum ne 30 Meterstrecke

Ja, in einem Raum hast du auch überall das gleiche GND Potential, weil 
alle GND Leitungen ungefähr sternförming zum Fundamenterder führen.

Die Garage ist aber ein anderes Gebäude mit eigener Erdung - falls 
überhaupt vorhanden.

von Sven (Gast)


Lesenswert?

Stefan U. schrieb:
> Die Garage ist aber ein anderes Gebäude mit eigener Erdung - falls
> überhaupt vorhanden.

Aber ist das nicht sogar uninteressant wenn man den Sensor über ein 100m 
Kabel aus dem Wohnhaus versorgt? Also absolut keine Verbindung zur 
Erdung der Garage
Welche in meinem Fall sogar aus dem Wohnhaus Kommt.

von Bernd K. (prof7bit)


Lesenswert?

Sven schrieb:
> Aber ist das nicht sogar uninteressant wenn man den Sensor über ein 100m
> Kabel aus dem Wohnhaus versorgt? Also absolut keine Verbindung zur
> Erdung der Garage

Dann ist es kein Problem. 4 Adern: GND, Vcc, A, B. Wird keine Probleme 
bereiten, es sei denn der Blitz schlägt direkt in die Leitung ein. Oder 
der Sensor hat doch irgendwie Kontakt zu dortigen geerdeten 
Metallgehäusen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Die Verdrillung reduziert die Abstrahlung eun empfänglichkeit für 
elektromagentische Wellen. Prinzipiell funktioniert RS-485 auch ohne 
Verdrillung. Nur muss man dann halt mit mehr Störungen rechnen.

von Alexander S. (knut740)


Lesenswert?

Drei Anmerkungen zwischendurch
(zwischendurch, weil ich aus Zeitgründen die Antworten nur diagonal 
lesen konnte, ich muß auch gleich wieder weg. Heute Abend werde ich mir 
das genauer zu Gemüte führen).

1.) Potentialtrennung: die Kabel führen durch den Heizraum nach außen, 
an der Hauswand und längstens am Fuß von Stützmauern nicht etwa in eine 
Garage sondern auf den Grund des Gartenteichs.

2.) Woher ich weiß, daß 40 m zu lang sind? Ich habe es mit einer 
50-m-Rolle ausprobiert, es wurde kein DS18B20 gefunden. In der Antwort 
war von angepaßten Pullups die Rede, das werde ich versuchen.

3.) Viel Umschalten bzw. Intelligenz wird ja nicht benötigt: der 
Remote-RS485 steht immer nur auf Senden, der andere nur auf Empfang.

Bis später
VG
Alexander

von Noch einer (Gast)


Lesenswert?

> Viel Umschalten bzw. Intelligenz wird ja nicht benötigt

One-Wire ist recht aufwendig. Der Master muss Device-Ids vergeben und 
regelmässig Abfrage-Kommandos senden.

von (prx) A. K. (prx)


Lesenswert?

Alexander S. schrieb:
> ob man in diesem Fall auf die vorgeschriebenen twisted-pair-Adern
> verzichten kann und ein Kabel mit unverdrillten, einfach nebeneinander
> liegenden Adern benutzen kann?

Ja.

von (prx) A. K. (prx)


Lesenswert?

Alexander S. schrieb:
> ich versuche, mich mit der Möglichkeit zu befassen, ein DS18B20-Signal
> über eine RS485-Verbindung zu übertragen. Für direkten Anschluß ist die
> Leitung von ca 40 m zu lang.

Nein. 1-Wire auf 40m geht durchaus, wenns nicht zu kritisch ist.

Hab schon sehr lange einen ziemlich wilden 1-Wire am laufen, halb Stern, 
halb Langstrecke, parasitär über einfaches Leitungspaar, nebst etlichen 
Metern Coax als Aussenleitung. Hängt direkt am AVR, mit 100 Ohm in 
Serie.

Gibt ab und zu mal einen CRC Fehler oder 85°C - das liefert der frisch 
nach Powerup. Aber da bei einem falschen Wert nicht das Haus explodiert 
kann ich damit gut leben. In dem reichlichen Jahrzehnt musste ich 2x den 
Sensor an der Langstrecke auswechseln, wahrscheinlich Blitzschaden.

von Jobst Q. (joquis)


Lesenswert?

Alexander S. schrieb:
> Für direkten Anschluß ist die
> Leitung von ca 40 m zu lang.

Im Prinzip sind 40m für 1-Wire nicht zu lang. Schon garnicht, wenn du 
nur einen Sensor anschließt. Aber es kommt eben auch auf den Busmaster 
an

Wo und wie schließt du den Sensor denn an? An einen Raspberry ? Per 
GPIO? Mit welcher Spannungsversorgung?

Zu empfehlen ist ein integrierter Busmaster wie der DS2482-100 und volle 
5V Versorgung für den Sensor.

von (prx) A. K. (prx)


Lesenswert?

Noch einer schrieb:
> One-Wire ist recht aufwendig. Der Master muss Device-Ids vergeben und
> regelmässig Abfrage-Kommandos senden.

Die IDs werden nicht vergeben, sondern stehen fest. Er muss sie aber 
zuordnen. Aufwändig ist das freilich nicht. Und beim RasPi reicht es 
aus, die Sensoren anzuschliessen und 2 einfache Config-Einträge im 
System vorzunehmen. Den Rest kennt der RasPi schon.

: Bearbeitet durch User
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Alexander S. schrieb:
> 2.) Woher ich weiß, daß 40 m zu lang sind? Ich habe es mit einer
> 50-m-Rolle ausprobiert, es wurde kein DS18B20 gefunden. In der Antwort
> war von angepaßten Pullups die Rede, das werde ich versuchen.

Als 2-Draht? (parasitär Power-Mode) oder 3-Draht?
Bei 3-Draht, welche Drähte waren verdrillt? (GND + DO)
(Klingeldraht kenne ich als 'Rolle' nur 2-Drähtig, als Telefonkabel geht 
da, klar, auch wesentlich mehr)

Kannst Du die Strecke ggf. trennen?
Direkt, wo Du ins Haus kommst, den µC, Der Dir den DS18B20 ausliest und 
Das weiter leitet?

Du brauchst ja, egal wie, immer den Umsetzter auf 1-wire - selbst, wenn 
Dieser mit auf den Grund des Teich geschickt wird.

MfG

von Horst (Gast)


Lesenswert?

Der übliche Fehler bei One-Wire und parasitärer Versorgung ist, daß der 
'strong PullUp', d.h. der Transistor der in Auslesepausen den Bus auf 
die Versorgungsspannung schaltet, weggelassen wird.
Dann bekommt man schnell Probleme mit der Reichweite.

von Alexander S. (knut740)


Lesenswert?

Horst schrieb:
> Du mußt den PullUp warscheinlich anpassen (min 1,25K bei 5Volt, 825Ohm
> bei 3,3V) aber 40m sind kein Problem.

Du meinst doch den Pullup von 4,7k zwischen der Signalleitung DQ und 
V[pu], vgl. Abb 3 bzw. Abb. 7 des Datenblattes?

Und an den 4,7k bzw. an V[pu] darf man einfach so herumspielen?
Ich benutze übrigens ein 4-adriges Kabel ohne parasitäre Stromversorgung

Gruß
Alexander

von Günter R. (galileo14)


Lesenswert?

Ich empfehle 2.7k Pullup, Dreileiter-Anschluß für den Sensor (also kein 
Parasitär-Power) und - ganz wichtig - an jedem Sensor einen z.B. 100nF 
Kerko parallel zu Vcc/GND. Letzteres vermeidet diese 85-Grad-Fehler, die 
ich sporadisch erhielt (etwa einen pro Tag bei 30 Sek. Abfragezyklus). 
Mit den Kerkos dran waren diese Fehler verschwunden.

Gruß
Günter

von Horst (Gast)


Lesenswert?

Alexander S. schrieb:
> Und an den 4,7k bzw. an V[pu] darf man einfach so herumspielen?

Ja. One-Wire Ausgänge müssen 4mA ableiten (sinken) können. Das ergibt 
die genannten Werte. Weniger sollte man nicht versuchen, mehr macht 
keinen Schaden, funktioniert nur irgendwann nicht mehr.
Man muß dann aber auch die Eigenerwärmung bedenken, mehr als eine 
Messung alle 60-120 Sekunden braucht man aber eh selten.

von Joe F. (easylife)


Lesenswert?

Horst schrieb:
> One-Wire Ausgänge müssen 4mA ableiten (sinken) können. Das ergibt
> die genannten Werte. Weniger sollte man nicht versuchen, mehr macht
> keinen Schaden,
gewagte Aussage.

> funktioniert nur irgendwann nicht mehr.
Was verstehst du unter "Schaden"?

von Alexander S. (knut740)


Lesenswert?

Hallo

ich habe an der 50-m-Rolle mit DS18B20 jetzt einen Pullup mit 2,7k und 
einen Kerko 100 nF zwischen Vdd und Gnd.
Seit ca 24 Std habe ich plausible Meßwerte von dem Sensor bekommen.

Ist nun die Zeit gekommen, den Sensor zo konfektionieren und einzubauen 
oder sind noch irgendwelche Überraschungen zu erwarten?

VG
Alexander

von F. F. (foldi)


Lesenswert?

Ne machma, wird schon klappen.

von Joe F. (easylife)


Lesenswert?

Kannst ja noch eine TVS parallel zum Kerko reinbauen. Für den Fall, dass 
mal schlechtes Wetter in der Nähe ist.

von Alexander S. (knut740)


Lesenswert?

Joe F. schrieb:
> Kannst ja noch eine TVS parallel zum Kerko reinbauen. Für den Fall, dass
> mal schlechtes Wetter in der Nähe ist.

Hmm, kannst Du mal einem elktronisch Halbgebildeten erklären, was eine 
TVS ist?
Außerdem, ich habe in meinem im Baumarkt als Telefonkabel gekauftem 
Kabel noch eine Ader frei (und außerdem einen nackten Cu-Draht). Kann 
man mit der überzählichen Ader noch etwas Nützliches anfangen?

von F. F. (foldi)


Lesenswert?

Alexander S. schrieb:
> Kann
> man mit der überzählichen Ader noch etwas Nützliches anfangen?

Telefonieren. Hahaha!

Spaß beiseite. Deshalb ist es auch Quatsch die Sensoren nicht mit Plus 
zu versorgen. Außerdem können die dann etwas mehr. Komm gerade nicht 
drauf. Mit nem Plus können die sich melden (aber wie weiß ich gerade 
nicht).

von Günter R. (galileo14)


Lesenswert?

Bei Versorgung mit Vcc (also ohne Parasite Power) kann der 
Convert-Status abgefragt (gepollt) werden ("Read time slots", siehe 
Datenblatt). Bei Parasite Powering geht das nicht. Das meinst du wohl.

von Zeno (Gast)


Lesenswert?

Alexander S. schrieb:
> 3.) Viel Umschalten bzw. Intelligenz wird ja nicht benötigt: der
> Remote-RS485 steht immer nur auf Senden, der andere nur auf Empfang.

Vergiß es! Du kannst das 1-Wire Protokoll nicht über RS485 übertragen. 
Du bräuchtest am Sensor einen Controller der Kommunikation mit dem 
Sensor macht. Die vom Controller ausgelesenen Daten kann man dann per 
RS485 übertragen.

Ist aber alles viel zu aufwändig. Die 40m sind überhaupt kein Problem. 
Man darf keine parasitäre Speisung benutzen (geht bei den aktuellen 
DS1820B, eh nicht ohne besondere Maßnahmen), sondern muß VCC über eine 
separate Leitung führen. Man braucht also 3 adriges Kabel (VCC, GND, 
DATA). Bei der Leitungslänge sollte das Kabel aber nicht zu dünn sein, 
damit am DS... auch noch 5V ankommen. Ein hochwertiges Telefonkabel 
sollte aber ausreichend sein.

von Joe F. (easylife)


Lesenswert?

Alexander S. schrieb:
> Hmm, kannst Du mal einem elktronisch Halbgebildeten erklären, was eine
> TVS ist?

Kann ich nicht halb so gut wie Wikipedia (nicht böse gemeint):
https://de.wikipedia.org/wiki/Suppressordiode

Abgekürzt: sorgt dafür, dass dein Sensor nicht stirbt, wenn bei 
Blitzeinschlag in der Umgebung Überspannung in dein doch recht langes 
Kabel induziert wird.

Alexander S. schrieb:
> Kann
> man mit der überzählichen Ader noch etwas Nützliches anfangen?

Als Zugentlastung nutzen.
Und/oder auch auf GND legen, um geringfügig zusätzliche Schirmwirkung zu 
erreichen.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.