Forum: Haus & Smart Home 1-Wire Sterntopologieproblem (Raspberry)


von Jobst Q. (joquis)


Lesenswert?

Ich möchte die Temperaturen an meiner Heizungsanlage mit einem Raspberry 
Pi (GPIO4 w1therm) aufzeichnen. Dafür habe ich 10 DS18B20 
Temperatursensoren, wasserdicht vergossen mit je 1m Kabel (gibts günstig 
bei Ebay aus China). Sie sollen teils am Pufferspeicher und teils an 
einer Gastherme (ca 30m Kabelentfernung) angeschlossen werden. Der Raspi 
ist auch am Pufferspeicher. Die Schaltung ist mit Versorgungleitung von 
3,3 Volt.

In einfacher Sternverdrahtung ging alles gut bis zu etwa 4 Sensoren. 
Dann habe ich nach einem Tip auf einer Maxim-Seite 150 Ohm Widerstände 
in die Datenleitungen zu den Slaves eingefügt. Damit geht es etwas 
besser, aber bei mehr als 6 gibt es wieder Probleme. PullUp-Widerstände 
hatte ich von 1k bis 4,7k versucht ohne Unterschiede festzustellen.

Dann habe ich 3 Sensoren an der Gastherme angeschlossen. 
Merkwürdigerweise habe ich mit diesen "Fern"-Sensoren die wenigsten 
Probleme. Im Nahbereich konnte ich noch 4 Sensoren anschließen, also 7 
insgesamt. Dabei gibt es einzelne Aussetzer, aber im Prinzip ist jeder 
mal ansprechbar.

Da ich aber gern alle 10 verwenden würde, bin ich am Überlegen, wie ich 
die ungünstige Stern-Topologie ohne viel Aufwand modifizieren könnte und 
dennoch viele Sensoren an einem Ort zusammenschalten kann.

Wenn man zwischen zwei Sensoren jeweils noch ein Stück Kabel einfügen 
würde, bekäme man ja eine günstigere Stub-Topologie. Doch mit viel 
Umwegkabel drin müsste das Verteilergehäuse viel größer sein. Die 
Versorgungsspannung hätte sicher keine Probleme damit, keine Umwege 
gehen zu müssen. Aber wie sieht es mit der Masse aus? Würde es reichen, 
nur die Datenleitung ein wenig herumzuschicken? Und wenn ja, könnte man 
das Kabel nicht einfach durch eine kleine Spule ersetzen?

von Tom P. (booner)


Lesenswert?

Hei,

also ich habe 70 Sensoren in Reihe an einem Bus. Das geht also... ;-)
Stern habe ich noch nicht ausprobiert.

Meine erste Frage wäre aber:

Hast Du die Sensoren am dritten Pin mit Spannung versorgt oder 
parasitär?


Wenn Du Temperaturen an der Heizung messen willst, solltest Du sowieso 
die Sensoren mit Spannung versorgen, weil die ab einer gewissen 
Temperatur nicht mehr mit der parasitären Versorgung klar kommen. (Steht 
im Datenblatt)



Grüße,

Tom

von Karl M. W. (charlie-w)


Lesenswert?

Hi,

denke mal, mit diesem Tutorial sind Deine Probleme zu lösen:

https://www.maximintegrated.com/en/app-notes/index.mvp/id/148

hth
Karl M.

von Max G. (l0wside) Benutzerseite


Lesenswert?

Jobst Q. schrieb:
> In einfacher Sternverdrahtung ging alles gut bis zu etwa 4 Sensoren.

1-Wire mag keinen Stern, sondern bevorzugt einen Bus, d.h. alles in 
Reihe. Die Spannungsversorgung ist vermutlich das kleinere Problem, eher 
die Reflektionen in deinem Aufbau.
Ich bin auf ähnliche Weise auch schon auf die Nase gefallen.

Max

von Jobst Q. (joquis)


Lesenswert?

Max G. schrieb:
> 1-Wire mag keinen Stern, sondern bevorzugt einen Bus, d.h. alles in
> Reihe. Die Spannungsversorgung ist vermutlich das kleinere Problem, eher
> die Reflektionen in deinem Aufbau.

Das weiß ich, und dann kommt wohl noch dazu, dass bei gleicher Länge 
alle Reflektionen gleichzeitig kommen und sich addieren. Da ich aber 
gerne viele Sensoren räumlich dicht beieinander an ein Verteilergehäuse 
anschließen möchte, suche ich nach Lösungen, die elektrisch keine reine 
Sternschaltung darstellen aber räumlich nicht zu groß werden.

Da meine erste Idee mit kleinen Spulen zwischen den Anschlüssen so gut 
wie nichts gebracht hat, hab ich nun eine andere. Ich werde die direkten 
3poligen Kabel der Sensoren auf ca 30 cm kürzen und mit 6-poligen RJ-12 
Flachkabeln auf etwa 3m verlängern. 3 Adern hin und drei zurück. In das 
Verteilergehäuse kommen dann mehrere RJ-12 Buchsen, von denen jeweils 3 
Adern zu den links und rechts benachbarten Buchsen gehen.

Elektrisch gesehen geht es also im Zickzack von einem Sensor über das 
Verteilergehäuse zum nächsten, so dass es keine Sterntopologie mehr ist, 
sondern eine lange Leitung mit kurzen Abzweigungen.

Über den Erfolg werde ich berichten.

von Joachim B. (jar)


Lesenswert?

Max G. schrieb:
> 1-Wire mag keinen Stern, sondern bevorzugt einen Bus,

am PI stimme ich zu, hatte keinen Erfolg, am Atmel mit 5V pullup 2,2k 
und parasitärer Speisung läuft es bei mir seit 5 Jahren, gemischter 
Bus/Stern mit ca 72m Kabel.

Wichtig ist dabei die >750ms zwischen 2 Abfragen einzuhalten damit sich 
die internen Kap. wieder aufladen können, am Atmel konnte ich in den 
Source eingreifen und es passend mach, am PI fehlt mir die Einarbeitung 
und da habe ich mir noch nicht mal den Source angesehen.

: Bearbeitet durch User
von Jobst Q. (joquis)


Lesenswert?

Joachim B. schrieb:
> Max G. schrieb:
>> 1-Wire mag keinen Stern, sondern bevorzugt einen Bus,
>
> am PI stimme ich zu, hatte keinen Erfolg, am Atmel mit 5V pullup 2,2k
> und parasitärer Speisung läuft es bei mir seit 5 Jahren, gemischter
> Bus/Stern mit ca 72m Kabel.
>
> Wichtig ist dabei die >750ms zwischen 2 Abfragen einzuhalten damit sich
> die internen Kap. wieder aufladen können, am Atmel konnte ich in den
> Source eingreifen und es passend mach, am PI fehlt mir die Einarbeitung
> und da habe ich mir noch nicht mal den Source angesehen.

Für den Raspi ist es ein fertiges Modul (w1therm). Das Problem liegt 
wohl u.a. daran, dass man die Datenleitung am Raspi nur mit 3,3V Pullup 
betreiben darf. Damit ist der Störabstand deutlich geringer. Die 
Stromversorgung darf 5v sein, aber das ist wohl nur bei hohen 
Temperaturen von Bedeutung.

: 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.