18B20 misst falsch? Kategorie: I²C-Bus (von ChristianS - 10.10.2010 14:45) | ||
| ||
Hallo, ich habe folgende Routine um die Temperatur von einem 18B20 auszulesen. Ich muss feststellen, dass ich andere Temperaturwerte kriege, als von einer DS1631, die ich an der selben Stelle als Referenz angebracht habe. Ich habe bei dem 18B20 fast 2 Grad weniger als beim DS1631. Ein externes Me�gerät bestätigt, das der DS1631 richtig misst. Was ist an der Ansteuerung des 18B20 falsch? {long temp; int x; ds2482.matchROM(5,ROM); ds2482.writeByte(ds2482addr,convertTEMP); sleep 750; ds2482.matchROM(5,ROM); ds2482.writeByte(ds2482addr,readSCRATCHPAD); x=ds2482.readByte(ds2482addr) or ds2482.readByte(ds2482addr) shl 8; return x*5; Die Routine wird 1 x pro Minute aufgerufen und im Programm über hwcom mit zwei Nachkomastellen ausgegeben. DS1820_1=getTemp(5,DSAddress); ..... sendTemp2Com(DS1820_1); ..... function sendTemp2Com(int temp) /******************************************************************************/ /* Routine zum Ausgeben der Temperatur über HWCOM */ /* x:= Temperatur */ /******************************************************************************/ { if temp < 0 hwcom.print("-"); else if temp < 1000 // wenn Wert positiv war => eine Null voranstellen? Bereich 0-999 hwcom.print("0"); temp = math.abs(temp); // Betrag bilden (Wert ist ab jetzt immer positiv) hwcom.num(temp / 100); // Vorkommawert hwcom.print(","); temp = temp % 100; if temp < 10 // eine Null voranstellen? hwcom.print("0"); hwcom.num(temp); // Nachkommawert hwcom.print("°C"); hwcom.ret(); wait hwcom.ready(); } //Ende function Temp_Ausgabe /******************************************************************************/ P.S.: ich habe den 18B20 in einen Schrumpfschlauch eingeschwei�t, da sich der Sensor im Au�enbereich befindet. Die DS1631 ist nicht eingeschwei�t.Das müsste eigentlich bedeuten, dass der Sensor träger reagiert als der DS1631. Das sollte aber doch keine 2 Grad auf Dauer ausmachen, oder? ChristianS. | ||
Antwort schreiben Antworten: Re: 18B20 misst falsch? (von BerndK - 10.10.2010 17:06) Re: 18B20 misst falsch? (von ChristianS - 10.10.2010 20:15) Re: 18B20 misst falsch? (von BerndK - 10.10.2010 23:01) Re: 18B20 misst falsch? (von ChristianS - 11.10.2010 9:14) Re: 18B20 misst falsch? (von BerndK - 11.10.2010 21:52) Re: 18B20 misst falsch? (von ChristianS - 12.10.2010 22:01) |