Forum: Mikrocontroller und Digitale Elektronik Onewire Arduino Misch-Topologie


von Jürgen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forumsgemeinde
wünsche erst mal allen einen schönen 1.Mai-Feiertag

Ich würde gerne an meinem Arduino einige DS18B20 Sensoren an einen 
1-wire-bus ankoppeln.

Da es ein Testsystem wird möchte ich 3 Knotenpunkte an einen Bus 
ankoppeln.
an diese Knotenpunkte sollen dann je nach Bedarf  je 1-5 DS18B20 
Sensoren angekoppelt werden.

Laut Info im Netz ist diese Art von Schaltung nicht gerade ideal.
Wenn ich allerdings die möglichen Leitungslängen bei einer 
Sternschaltung betrachte, könnte es wieder funktionieren.

Bevor ich das ganze aber aufwändig zusammenlöte wollte ich hier mal nach 
Erfahrungswerten fragen was ihr so meint.

Hinzu kommen meine  G12-3-Pin Stecker die ich gerne verwenden würde.

Als kabel kommt ein 2x2x0,8mm geschirmtes Buskabel zum Einsatz.
An den Kabelenden und am Stecker fehlt jedoch die Abschirmung.

Als mögliche Störquellen sind im Abstand 8 (ca 30cm bis 150cm ) zu den 
Knotenpunkten (2) 1 AC/DC Netzteil 220v/24V 10A, sowie 
Step-Down-Konverter
verbaut

Die Gesamtkabellänge würde maximal ca 18 Meter betragen.
Die Abstände von den Knotenpunkten 2 zu den Sensoren schwanken (könnten 
aber alle gleich lang gebaut werden, dann steigt aber die 
Gesamtkabellänge auf ca. 25m

Was meint ihr? wäre das möglich?

Grüße Jürgen

von Gerhard O. (gerhard_)


Lesenswert?

Bei den angegebenen Längen erwarte ich keine Probleme. Würde allerdings 
vorschlagen die Sensoren mittels dritte Leitung mit Vcc zu versorgenn, 
da bei so vielen Sensoren ohne aktive Pullups da Flankentiming Fehler zu 
erwarten sind. Es könnte auch nicht schaden bei jedem Sensor zwischen 
Vcc und Masse einen 0.1uF Kerko anzuschliessen.

Ich verwende sie nur selten. Ich hatte um 2010 herum ein Laborprojekt in 
der Arbeit wo ich fünf Deiner Sensoren mit einem PIC18F8722 und 
Kabellängen bis zu 2-3m hatte. Auch bei Deinen Längen sollte es mit 
einigermaßen kapazitätsarmen Kabel noch funktionieren. Alle Sensoren 
kamen im Laborgerät sternförmig zusammen. Ich hatte damit keinerlei 
Probleme. Solange die Sensoren mit Vcc versorgt werden sind da kaum 
Probleme zu erwarten. Bei parasitärer Versorgung der Sensoren würde ich 
jede Menge Probleme erwarten. Vielleicht wäre ein aktiver Pullup 
notwendig. Mit R alleine flachen sich wegen der Kabelkapizität die 
Schaltflanken ab und es gibt möglicherweise bei so langer Leitung Timing 
Probleme.

https://www.maximintegrated.com/en/app-notes/index.mvp/id/148
https://www.maximintegrated.com/en/app-notes/index.mvp/id/4255
https://www.cs.unb.ca/tech-reports/documents/TR15-235.pdf
http://dutta.csc.ncsu.edu/csc453_spring16/wrap/1-Wire-Design%20Guide%20v1.0.pdf
http://www.midondesign.com/Documents/Reliable1-WireNetworksApp148.PDF

Ich würde auf alle Fälle mit dem Oszilloskop die Flanken nachprüfen und 
mit dem Datenblatt zu vergleichen.

Auch führe Dir jegliche App Notes zu Gemüte um "dumme" Fehler von 
vornherein auszuschließen. Wie gesagt, ich habe seit damals diese 
Sensoren nie mehr verwendet und spreche nur aus Erinnerung.

Also, ran. Ausprobieren und methodisch vorgehen. Es hat wenig Wert das 
in Grund und Boden ewig zu diskutieren. Zuerst teste einen Sensor 
alleine um die HW und SW zu verifizieren, dann noch einen, bis alle dran 
sind.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

bei mir laufen momentan 6 DS18B20 in gemischter Stern-Bus-Topologie 
parasitär gespeist in Summe 72m freie Paare von Telefonadern.

Zuerst mit 2,2k pullup an 5V, nach 2 Jahren hatte sich wohl der 
Arbeitspunkt verschoben und ich musste den pullup auf 1,5k verringern, 
seit dem ist alles OK, läuft seit 10 Jahren.

1. Bedingung CRC check
2. Bedingung Temperaturcheck auf plausibel zur Vormessung (das kann in 
einer Sekunde nur um 10*C steigen wenns brennt, oder um 10*C fallen mit 
Kältespray)
3. Bedingung 1s Pause zwischen 2 Messungen

: Bearbeitet durch User
von svensson (Gast)


Lesenswert?

Moin,

wir haben Temperaturmeßsysteme der Fa. Hygrosens im Einsatz, die m.E. 
auf dieser Technik (DS1820) beruhen. Kabel sind ganz einfache 6polige 
Telefonkabel und es gibt "Verteiler", die beliebig hintereinander 
geschaltet werden können. Diese Verteiler beruhen auf passiver Technik 
und haben auch solche 6pol Western Stecker. Jedes Signal hat zwei 
benachbarte Kontakte in den Steckverbindungen.

Das funktionierte auch in für mich unglaublichen Konstellationen, z.B. 
60 Sensoren, chaotische Verkabelung mit Plastiktüten als Feuchteschutz, 
Kabel an LSR mit Kabelbinder festgemacht, Kabellänge bestimmt 50m usw.
Es scheint eine sehr robuste Technik zu sein...

Die Kabel haben wir teilweise von Rollenware selbst gefertigt mit 
Presszange.

von Falk B. (falk)


Lesenswert?

Jürgen schrieb:

> Da es ein Testsystem wird möchte ich 3 Knotenpunkte an einen Bus
> ankoppeln.
> an diese Knotenpunkte sollen dann je nach Bedarf  je 1-5 DS18B20
> Sensoren angekoppelt werden.

Ist OK.

> Laut Info im Netz ist diese Art von Schaltung nicht gerade ideal.

Warum? Soo kritisch ist Onewire weiß Gott nicht.

> Die Gesamtkabellänge würde maximal ca 18 Meter betragen.
> Die Abstände von den Knotenpunkten 2 zu den Sensoren schwanken (könnten
> aber alle gleich lang gebaut werden, dann steigt aber die
> Gesamtkabellänge auf ca. 25m

Unkritisch.

von Falk B. (falk)


Lesenswert?


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.