Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > > Hallo miteinander, > > > > > > irgendwie soll es mit den Raumfühlern nicht so richtig klappen. > > > Da ich die DS18B20 sternförmig in den jeweiligen Heizkreizverteiler verkabelt habe erhoffte ich mir > > > über die 1W-Bridge-800 die Lösung meiner Probleme. Zunächst sah alles recht gut aus. > > > An den seperaten 1W-Anschlüssen 0,1,2,6,7 waren bis heute je ein Temp.-Fühler angeschlossen. > > > Hin und wieder lieferte einer, manchmal auch zwei Sensoren, den Wert -0,0625°C (Übertragung > > > ausschließlich von "1"en. Zumeist ein Zeichen, wenn die Abfrage der Sensoren zu schnell, also mit zuwenig > > > Wartezeit versehen war => eher kein Problem. > > > > > > Heute wollte ich den nächsten Temp.-Fühler an einen der noch freien 1W-Anschlüsse 3,4 oder 5 > > > anschließen. Kein Weg führte zum Ziel. Zunächst vemutete ich der zusätzliche Fühler sei defekt. > > > Konnte ich durch Anschluß an Port 7 ausschließen. Hier lieferte er regelmäßig reale Werte. > > > Manchmal hat der zusätzl. Fühler an Port 4 funktioniert, aber nur dann wenn ich den Fühler an Port 6 > > > nicht mit der DS2482 verbunden hatte. > > > > > > Gibt es hier eine Art "Lastproblem"? > > > Hat jemand eine DS2482-800 mit allen Anschlüssen beschalten erfolgreich in Betrieb? > > > > > > Ein Fehler am Baustein (DS2482-800) selber möchte ich fast ausschließen, da besagte Phänomene > > > genau so bei einem zweiten Baustein auftreten (zwei Heizkreisverteiler im EFH). > > > Beim Anschluß eines Fühlers am 5 Port zeigt dieser lediglich die -0.0625°C an. > > > > > > Alle Temp.-Fühler werden mit 5V (OK, manchmal sind es nur 4,87V) "Speisung" betrieben > > > => kein parasitärer Mode. > > > > > > Die Längen zu den Fühlern sind mitunter schon recht erheblich: > > > Ltg.-Nr. Länge in Meter > > > 1 11m > > > 2 4m > > > 3 6 / 10 / 22m > > > 4 9 / 14m > > > 5 5 / 12 / 23m > > > 6 12 / 21m > > > 7 13 / 22 / 26 / 32m > > > 8 8 / 9m > > > 9 12m > > > 10 22m > > > > > > Aber das sollte doch gerade bei dem "gemächlichen" 1W-Bus nicht das Problem sein. ODER? > > > > > > Vielen Dank für Eure sachdienlichen Hinweise. > > > > Hallo Dirk, > > > > betreibe auch den DS2482-800 mit z.Zt. 15 Sensoren (alle DS18B20). > > Habe die Ports 0-4 in Verwendung mit bis zu 4 Senoren auf einem Port und ähnlich langen Leitungen. > > (Port 5 und 6 sind noch frei, Port 7 benötige ich um Romcodes neuer Sensoren einzulesen und an- > > schliessend im EEPROM abzulegen). > > > > Alle Ports und Sensoren laufen bei mir ohne Probleme. > <font color="#0000FF"> OK, es besteht also Hoffnung ;-)</font> > > Ich betreibe die Sensoren ausschliesslich im parasitären Stromversorgungsmodus. > <font color="#0000FF"> Da las ich widerum in der Vergangenheit, dass es stabiler mit der 5V-Spannungsversorgung > laufen soll. Aber wenn es so funktioniert, werd ich es halt im parasitären Mode ausprobieren.</font> > > > > Folgende Punkte fallen mir als Fehlerquellen ein: > > Hast Du jeweils einen 100 Ohm Widerstand zwischen IO-Port und Bus geschaltet? > <font color="#0000FF"> <b>Wie ist das genau gemeint?</b> > Soll an dem Ende, wo der/die Temp.-Fühler ist/sind ein > Widerstand eingesetzt werden oder auf der Seite des DS2482-800? > Aus dem Datenblatt kann ich ein solchen Widerstand nicht erkennen.</font> > > Wie zuverlässig ist deine gemeinsame GND/ 0 Volt Verbindung ? > <font color="#0000FF"> Mittlerweile recht hoch. Alle Schirme der YStY-Leitungen als auch die > verschiedenen Netzteile sind alle samt über Erde => über Potischiene => an Fundamenterder geerdet.</font> > > Wir konstant sind die +5 Volt (Restwelligkeit) ? > <font color="#0000FF">Fehlt mir einfach ein Oszi. Mein ALDI-Multimeter dient eher als grobe Schätzung > von Spannungswerten ;-)</font> > > Welche Kabel verwendest Du ? > <font color="#0000FF">Zum Anschluß der Temp.-Sensoren: NYM 5x1,5 bzw. 0,6-YStY (=> mit Schirm) > => Probleme sind <b>unabhängig</b> von dem verwendetet Kabel</font> > > Ich benutze normale Telefonkabel, Sternvierer-verseilt. > > Habe testweise 3 Sensoren aber auch schon über einen 100m Ring H03VV-F 3x0,75 ohne Probleme > > betrieben. > > > > Wichtig ist auch, dass Du ca. 800ms zwischen dem convertTemperatur Befehl zum Sensor > > und dem Auslesen des Wertes wartest. > <font color="#0000FF"> Dies könnte eine Ursache sein, da ich nicht die 800ms abwarte. > Auch hier hatte ich bisher es so verstanden, dass diese recht lange "Wartezeit" lediglich im parasitären Mode > notwendig ist. Da ich aktuell die Fühler mit 5V versorge habe ich die Wartezeit derzeitig lediglich mit 25ms > veranschlagt.</font> > > Anbei mein Quelltext zum Auslesen aller meiner Sensoren und Ausgabe auf HWCOM. > > (habe jedoch das DS 2482 Modul selber für die 800er Version erweitert und benutze nicht die spätere > > Version von Andre. Die Funktionen haben dadurch eine etwas andere Namensgebung, sind aber > > kompatibel) > > > > <code> > > //-------------------------------------------------- > > function tempmessung() // Temperaturmessung manuell > > //-------------------------------------------------- > > { > > > > string s; //für Textausgaben > > int i; // für Schleifen > > byte getrom[16]; // Speicherstellen für ROM-Codes > > int scratchpad; // Zwischenspeicher für gelesenen Temperaturwert > > float temp [16]; // Zwischenspeicher für Temperaturwerte (wie maxSensor) > > wait oneWirecapture ==0; > > oneWirecapture =1; > > for i = 0...(maxSensor-1) > > { > > eeprom.readbytearray(0,(i*16),getrom,16); // ROMcode aus EEprom lesen > > if debug > > { > > s=Sensorname[i]; > > hwcom.send(s,str.length(s)); > > hwcom.ret(); > > wait hwcom.ready(); > > }; > > if getrom[1]== 0xff continue; // wenn erste Speicherstelle FF (kein Romcode) weiter mit nächstem Sensor > > ds2482800.setChannel (0,getrom[8]); // Kanalregister setzen 0-7 > > ds2482800.resetDevices(0); > > ds2482800.matchROM(0,getrom); > > ds2482800.writeByte(0,0x44); //Convert Temperatur > > sleep 800; // diese Zeit braucht ein DS18B20 bis der Wert ausgelesen werden kann > > ds2482800.matchROM(0,getrom); > > ds2482800.writeByte(0,0xbe); //read scratchpad > > scratchpad=ds2482800.readByte(0) or ds2482800.readByte(0) shl 8; > > if debug //Ausgabe des Temperaturintegers > > { > > s="Scratchpad gelesen:"; > > hwcom.send(s,19); > > wait hwcom.ready(); > > s=""; > > str.putint(s,scratchpad); > > hwcom.send(s,10); > > hwcom.ret(); > > wait hwcom.ready(); > > }; > > if scratchpad and 0xF000 > > temp[i]= (scratchpad) or 0xf000; > > else > > temp[i]= (scratchpad) ; > > s=""; > > str.putint(s,i); > > if i<10 s=s+" "; > > else s=s+" "; > > s=s+Sensorname[i]; > > s=s+" "; > > str.putfloatf(s,(temp[i]*0.0625),1); > > log(s); > > }; > > oneWirecapture =0; > > }; > > </code> > > > > > > Gruß und viel Erfolg > > Jörg > <font color="#0000FF">Vielen Dank für den Quellcode. Da muss ich mich erstmal einlesen. > Das Wochenende steht ja fast vor der Tür, da werde ich mal das eine oder andere ausprobieren. > > Zunächst vielen Dank für die verschiedenen Hinweise.</font>