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
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.
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.
> 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
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
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.
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
Funktioniert bei mir mit Klingeldraht bis 100 Meter locke...
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.
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.
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.
> 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.
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.
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
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.
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
> 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.
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.
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.
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.
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
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
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.
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
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
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.
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"?
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
Kannst ja noch eine TVS parallel zum Kerko reinbauen. Für den Fall, dass mal schlechtes Wetter in der Nähe ist.
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?
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).
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.