Forum: Mikrocontroller und Digitale Elektronik 20 Temperaturfühler im Keller verteilen für Heizungsmessung. 1wire geeignet? Leitungslänge? Kabel


von Christian Schneider (Gast)


Lesenswert?

Hallo,

ich würde gerne ca. 20 Sensoren an verschiedenen Stellen/Rohren im 
Keller anbringen. Damit möchte ich für alle Heizkörper im EG Vorlauf und 
Rücklauf Messen und auch die Außen- und Kellertemperatur erfassen.

Das Ganze sollte mit möglichst wenig Verkabelungsaufwand machbar sein. 
Damit würde eine sich verästelnde Verkabelung entstehen. Der am 
weitesten entfernte Sensor wäre 19M vom Atmega16 entfernt.

Ist das machbar, benötige ich für den Bus wegen der Struktur besondere 
Kabel/Treiber/sonstige Bauteile?

Gruß,
Chris

von Uwe Bonnes (Gast)


Lesenswert?

One_Wire mit slew rate begrenztem Treiber (Mosfet mit zusaetzlichen C 
zwischen Gate und Drain, siehe die Maxim Applikationen) geht ueber zig 
Meter (bei uns mit Telefonkabel) als Punkt-zu-Punkt Verkabelung. Wenn 
man alle Sensoren an ein Kabel haengt, hat man das Problem der 
Identifizierung der einzelnen Bausteine und eine moegliche 
Sternverdrahtung..

von Christian Schneider (Gast)


Lesenswert?

Hallo Uwe,

das hört sich soweit gut an.

Was verstehst du unter Telefonkabel? Einfach 2 verdrillte Adern, oder 
mit Schirmung?

Kannst du genauer ausführen, was es für ein Problem mit der 
Idendifizierung der einzelnen Sensoren gibt? Soweit ich das (als 1wire 
Anfänger) verstanden habe, hat jeder Sensor eine einmalige Adresse.

von Ein (Gast)


Lesenswert?

http://s-huehn.de/elektronik/tempmess/tempmess-sm2.htm
ist fertig, ev noch den Widerstand anpassen.

von skorpionx (Gast)


Lesenswert?

Ich würde das mit dem CAN-Bus machen...

von Remote O. (remote1)


Lesenswert?

Uwe Bonnes schrieb:
> Wenn
> man alle Sensoren an ein Kabel haengt, hat man das Problem der
> Identifizierung der einzelnen Bausteine und eine moegliche
> Sternverdrahtung..
Auszug aus dem DB des DS18B20 :
Each DS18B20 contains a unique 64–bit code (see Figure 6) stored in ROM. 
The least significant 8 bits
of the ROM code contain the DS18B20’s 1-Wire family code: 28h.

von Jörg S. (joerg-s)


Lesenswert?

Remote One schrieb:
> Uwe Bonnes schrieb:
>> Wenn
>> man alle Sensoren an ein Kabel haengt, hat man das Problem der
>> Identifizierung der einzelnen Bausteine und eine moegliche
>> Sternverdrahtung..
> Auszug aus dem DB des DS18B20 :
> Each DS18B20 contains a unique 64–bit code (see Figure 6) stored in ROM.
> The least significant 8 bits
> of the ROM code contain the DS18B20’s 1-Wire family code: 28h.
Ich glaube er meinte eher später herauszufinden welche Seriennummer zu 
welchem Zimmer/Montageort gehört...

von JoachimB (Gast)


Lesenswert?

Christian Schneider schrieb:
> Das Ganze sollte mit möglichst wenig Verkabelungsaufwand machbar sein.
> Damit würde eine sich verästelnde Verkabelung entstehen. Der am
> weitesten entfernte Sensor wäre 19M vom Atmega16 entfernt.
>
> Ist das machbar, ... ?

Eine "verästelnde Verkabelung" ist nicht zu empfehlen. Du solltest genau 
eine Leitung legen, die von Sensor zu Sensor führt.

Gruß
Joachim

von (prx) A. K. (prx)


Lesenswert?

Passende Appnote von Dallas zur 1-Wire Verkabelung:
http://www.maxim-ic.com/app-notes/index.mvp/id/148

@JoachimB: Dallas hat nichts gegen Sternverkabelung. Ein sauber 
abgeschlossener Bus ist 1-Wire ohnehin nicht.

von Christian Schneider (Gast)


Lesenswert?

Dann würde ich 3 Busse verwenden, für jede Richtung einen. Ich denke 
eine geschirmte Leitung wäre kein Fehler.

von (prx) A. K. (prx)


Lesenswert?

A. K. schrieb:

> @JoachimB: Dallas hat nichts gegen Sternverkabelung. Ein sauber
> abgeschlossener Bus ist 1-Wire ohnehin nicht.

PS: Nicht weit genug gelesen... Wird nicht empfohlen.

Wobei ich bei einer maximalen Länge von 20m kein ernstes Problem darin 
sehe. Sowas in der Dimension habe ich selbst auch schon als Stern 
aufgebaut (25m + 2x5m + 2m), mit 100 Ohm (Schutz-) Serienwiderstand am 
Controller-Pin. Mit einem kunterbunten Mix aus Flachbandkabel und 
Antennenkabel.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Jörg S. schrieb:
> Ich glaube er meinte eher später herauszufinden welche Seriennummer zu
> welchem Zimmer/Montageort gehört...

Ich verwende auch 1-Wire als Stern (längster Strang ca 15m) und habe das 
Problem nicht. Zur Identifizierung der Meßstellen hänge ich immer nur 
einen neuen Sensor an den existierenden Bus. Da ich mittels OWFS und 
OpenWRT (Linux) arbeite und symbolische Links auf die ID als 
"sprechende" Namen verwende, sehe ich schnell, welcher Sensor noch nicht 
in meiner Liste steht. Dann einen neuen Link setzen und den nächsten 
Sensor.

von JoachimB (Gast)


Lesenswert?

A. K. schrieb:
> A. K. schrieb:
>> @JoachimB: Dallas hat nichts gegen Sternverkabelung. Ein sauber
>> abgeschlossener Bus ist 1-Wire ohnehin nicht.

Zitat aus der angegebenen Appnote:

Precautions with Star Topologies
Testing has shown that unswitched star-type network topologies (i.e., 
those with several branches diverging at the master) are the most 
difficult to make reliable. The junction of various branches presents 
highly mismatched impedances; reflections from the end of one branch can 
travel distances equal to nearly the weight of the network (rather than 
the radius) and cause data errors. For this reason, the unswitched star 
topology is not recommended, and no guarantees can be made about its 
performance.

Auch wenn es oftmals funktioniert, würde ich bei einer Neuinstallation 
keine Sternverkabelung empfehlen.

Gruß
Joachim

von Axel (Gast)


Lesenswert?

Man kann auch mal die Timings im Master schecken. Oft sind die eher 
knapp ausgelegt in Richtung maximale Performance. Für sichere 
Übertragung macht es Sinn, die so lang zu machen, wie es die Spek gerade 
erlaubt.

Dann ist auch Stern kein Problem.

Gruss
Axel

von Christian Schneider (Gast)


Lesenswert?

Der Atmega16 hat ja keine spezielle Schnittstelle für 1wire. Wäre es von 
Vorteil, einen Baustein mit einem speziellen 1wire Treiber zu verwenden 
und denn dann z.B. per SPI mit dem Atmega zu verbinden?

Oder gibt es Atmegas mit eingebautem 1wire? Welche Treiber-ICs wären 
denn da geeignet (und bei Rei****t erhältlich)?

von Andreas F. (aferber)


Lesenswert?

Christian Schneider schrieb:
> Der Atmega16 hat ja keine spezielle Schnittstelle für 1wire. Wäre es von
> Vorteil, einen Baustein mit einem speziellen 1wire Treiber zu verwenden
> und denn dann z.B. per SPI mit dem Atmega zu verbinden?

Gibt es, mit I2C-Schnittstelle. DS2482 von Maxim, bei Reichelt 
erhältlich. Oder der DS2480 mit UART-Schnittstelle, ist aber deutlich 
teurer, und gibt es nicht bei Reichelt.

> Oder gibt es Atmegas mit eingebautem 1wire?

Nein.

Andreas

von Uwe Bonnes (Gast)


Lesenswert?

Mit der seriellen Schnittstelle kann man auch 1-W Impulse erzeugen und 
auswerten.

von ReinerG (Gast)


Lesenswert?

Es gibt sogar eine AN von Dallas, wie man mit 9600 Baud RS232 eine 
1-Wire Schnittstelle realisiert. Habe leider keine Kopie mehr. Also mal 
googeln....

Gruß

von ReinerG (Gast)


Angehängte Dateien:

Lesenswert?

Hier die doc2579 mit der AN als PDF-Datei im Anhang.
Funktioniert zuverlässg in kleineren Netzen ( bis 100m).

Bessere Lösung in größeren Netzen: I2C-Bus benutzen und über einen 
ds2480-100 arbeiten.
Dafür gibt es mehrere (vollständige) atmega Lib's!

z.B. unter

http://homepage.hispeed.ch/peterfleury/avr-software.html#libs

oder

http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo Chris,

ich würde den Pollin AVR-NET-IO empfehlen.

http://bauerer.dyndns.org/


mfg

orfix

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.