Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

18B20 misst falsch? Kategorie: I²C-Bus (von ChristianS - 10.10.2010 14:45)
Ich nutze:
C-Control II Station, OSOPT V3.1
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)