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
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..
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.
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.
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...
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
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.
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.
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.
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
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
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)?
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
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ß
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.