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.
Ich würde das mit dem CAN-Bus machen...
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.
Dann würde ich 3 Busse verwenden, für jede Richtung einen. Ich denke eine geschirmte Leitung wäre kein Fehler.
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
Mit der seriellen Schnittstelle kann man auch 1-W Impulse erzeugen und auswerten.
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ß
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/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.