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