Re: Frostwächter Kategorie: Sensoren (von ChristianS - 3.01.2010 16:19) | |
Als Antwort auf Re: Frostwächter von ChristianS - 3.01.2010 14:15
| |
Hallo, ich habe das nun anders gemacht und bekomme auch völlig andere Werte: 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; } /******************************************************************************/ 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. | |
Antwort schreiben Antworten: Re: Frostwächter (von André H. - 3.01.2010 17:42) Re: Frostwächter (von ChristianS - 3.01.2010 20:31) Re: Frostwächter (von Markus - 5.01.2010 11:25) |