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, > ich habe das nun anders gemacht und bekomme auch völlig andere Werte: > <code> > thread TEMP > /******************************************************************************/ > /* Temperatursensor auslesen */ > /******************************************************************************/ > { > wait ds1631.getConfig(t1Sensor)&0b10000000; //ist Temperaturwert gewandelt? > i2c.start(ds1631.Addr[t1Sensor]); //addressiere Temperatursensor > i2c.write(0x51); //sende "start convert T"-Kommando > i2c.stop(); > temp1=ds1631.readi2(t1Sensor); //lese vorhandenen Temperaturwert > //hwcom.num(ds1631.getConfig(t1Sensor)); > //hwcom.print(": "); > //hwcom.num(temp1); > halt; > } > /******************************************************************************/</code> > > dieser Thread wird nun jede Minute gestartet. Somit sollte die Eigenerwärmung ausgeschlossen > sein. > ChristianS > > > Hallo André, > > auch dafür vielen Dank. Ich habe die Tranceiver über CAT6-Kabel angeschlossen, die I2C-Bus > > Leitung zu den Sensoren ist eine alte Telefonleitung, also flexibel und ca: 3-4m lang. Den Tipp > > mit dem Pull-up probiere ich mal aus, ansonsten gehe ich auf die Bridge. > > > > Du sprichst bei der Eigenerwärmung von einem konstanten Wert, kannst Du diesen ungefähr > > beziffern? Ich habe das im Datenblatt nicht gefunden.. > > > > Danke und Gruß, > > ChristianS. > > > > > Hallo Christian, > > > > > > > tja, dann ist das wohl so, dass man pro Sensor einen Treiberbaustein braucht. > > > Nein, brauchst Du nicht. > > > Allerdings kommt es immer auf die Verkabelung an. > > > > > > > Ich dachte, man > > > > hätte zwei Sensoren an einen Baustein klemmen können und ich hätte dann an zwei Stellen in meiner > > > > Gartenlaube die Temperatur gemessen und den Heizlüfter über eine Mittelwertsbildung beider Sen- > > > > soren angesteuert. > > > > > > Wie gesagt, spielt die Verkabelung eine Rolle. > > > Wie sieht die Verkabelung in Deiner Laube aus? (Typ, Leiterquerrschitt) > > > Beachte, daß zwischen Tranceiver und I²C-Slaves, genaugenommen allgemein beim I²C-Bus, > > > starre Leiter vermieden werden sollten. Die Leitungen sollten immer eine Litze sein. > > > Es kommt natürlich auch auf die Länge an. > > > Wie lang sind die Kabel zwischen Tranceiver und Sensoren insgesamt? > > > Evtl. helfen bereits zusätzliche Pull-Ups. die Tranceiver haben nur 10k als Pull-Up, da > > > i.d.R. nur kurze Stichleitungen vorgesehen sind. > > > Setze in der Laube zusätzlich je 10k an die SDA und SCL gehen 5V. Evtl. sogar 4,7k. > > > Aber nicht darunter, da der Gesamt-Pull-Up bei einem ungepufferten Bus nicht unter 3k haben sollte. > > > > > > > Ich denke, ich mach das jetzt etwas anders und werde mir bei Andre im Shop die I2C-1Wire Bridge > > > > bestellen, diese dann an den I2C-Bus Transceiver hängen und einfach 2 DS18B20 Sensoren > > > > dranhängen. > > > > Wenn ich das richtig verstehe, dann kann man die Teile direkt an die Bridge packen. > > > > Dann kommen die Bausteine auf ein Stückchen Hutschiene und ich brauche nicht rumfrickeln. > > > > > > Das wäre auch eine Möglichkeit. > > > Die Sensoren kommen direkt an die Bridge, das ist richtig. > > > Schließe die Sensoren aber vorzugsweise dreiadrig an. > > > > > > > > > > Den Temperatursensor lese ich u.a. in einer Funktion jede Sekunde mit 2 Nachkommastellen aus. > > > > Das ganze mache ich 10 x und bilde dann einen Mittelwert. Meinst Du es wäre besser, > > > > mit 12bit zu lesen? An der Genauigkeit sollte sich nichts ändern, oder? > > > > > > Wenn Du mit zwei Nachkommastellen einließt, wird bereits mit 12Bit gemessen. > > > Es werden lediglich die letzen beiden Stellen abgeschnitten, so daß die Auflösung > > > nicht bei 0,0625K, sondern bei ca. 0,07K liegt. > > > > > > > Da ich meine Heizung bei 0,8 Grad einschalte, sollte ich trotz der Genauigkeit von 0,5 Grad kein > > > > Problem haben. Die Frage ist nur, ob man sich in der Paxis darauf verlassen kann. Schliesslich > > > > möchte ich nicht unnötig aufheizen. > > > > > > die DS1631 haben eine Absoluten Fehler beim Messen der Temperatur, wenn Luft gemessen wird. > > > Die Temperatur wird aufgrund der eigenerwärmung immer etwa zu hoch gemessen. > > > umgehen läßt sich dies, wenn man den Sensor nicht automatisch die Konvertierung durchführen > > > läßt, sondern dies vor jeder Messung anweist. Allerdings dauert es dann 750ms bis die Temperatur > > > gemesen wurde, und der aktuelle Wert in den Registern steht. (Bei geringerer Auflösung > > > entsprechend kürzer) > > > Auch sollte man den Meßintervall auf max. ein paar mal pro Minute verlangsamen, da sonst > > > die Eigenerwärmung wieder zuschlägt. > > > Da der Fehler durch die eigenerwärmung nahezu konstant ist, kann man im Programm auch > > > einen Offset verwenden. > > > > > > MfG André H.