Hi, ich weiß nicht was los ist mit meinem DS1820. Alle Routinen mit 1-wire funktionieren einwandfrei und die TEmperaturanzeige geht auch bis gut 90°C(mehr hab ich noch nicht getestet) ohne Probleme hoch. Aber sobald die reale Temperatur um den Gefrierpunkt schwankt, spinnt die ANzeige.Ich hab mir mal das MSB-Byte ausgebeben lassen. Laut Datenblatt sollen ja nur die Zustände Ox00 für positive und 0xFF für negative Temperaturen geben. Aber Pustekuchen. Ab +2°C bis 0°C fängt das MSB-Byte an auch Zwischenzustände anzunehmen und dadurch kann sich das LSB nicht entscheiden ob es jetzt positive oder negative Temperaturen darstellen soll. Kann mit jemand sagen, ob das normal ist oder ob mein Sensor defekt ist? Oder hatte jemand schon ähnliche Erfahrungen gemacht? Danke für eure Hilfe und danke den Aussentemperaturen, die mir den Fehler erst jetzt zeigen...
Hallo Makke, ich habe den DS18B20, der funktioniert problemlos. Getestet habe ich von -40C bis an die 90C. Falls Interesse am Code besteht bitte melden. Gruss, rweber
Hallo Makke, ich habe einen DS18S20 las Aussenthermometer. Beim MSB schau ich nur auf Bit7 und keine Probleme. Gruß TriccyMan
Hi rweber, klar bin ich am Code interessiert, sofern er in C ist. Assembler kann ich nicht. Ich hab schon überlegt, ob es vielleicht an meinem Code liegt zur Auswertung der negativen Temperaturen. Ich versuch mal den Code reinzustellen...
Und hier der Code für die Abfrage ob positive oder negative Temperatur: if(read_temp_msb()==0xFF){//wenn MSB=0xFF(also neg. Temperatur)dann diese Berechnng temp=((~read_temp_lsb()+1)*(-1))/2; } else{ //Berechnung für positive Temperatur temp=read_temp_lsb()/2; } Danke schon mal für eure Tipps!
Hallo Makke, es wurden schon Feuchtigkeitsprobleme um die 0 Grad beobachtet, die zu merkwürdigen Ergebnissen geführt haben. Details sind hier nachzulesen: http://www.digitemp.com/docs/ds1820-report.pdf Ich hatte einen ähnlichen Effekt zwischen +1 und -1 Grad, der allerdings auf einen Rechenfehler zurückzuführen war. Ich benutze den Code aus dem Atmel Applikationsbericht AVR318. Der Code ist in C geschrieben und in meinem Webserver zu finden. http://mikrocontroller.cco-ev.de/de/ISA_1wire.php Gruß Joachim
Hi! Haste einen DS18B20 oder einen DS18S20 beide unterscheiden sich in den Temp.Bytes und dem Rem, sind also nicht kompatibel. Beim B20 dind die 1/10 im Temp.-Word enthalten und beim S20 sind sie aus dem Rem zulesen. Nicht das da deine SW was verwürfelt? Viel Erfolg, Uwe
Danke für die vielen Tipps und Anregungen. Ich habe jetzt den Fehler gefunden. Endlich, nach 1 1/2 Wochen.Ich habe die Read_Bit() Time von 15µSekunden auf etwa 10µSekunden heruntergestellt. UNd siehe da: auch die negativen Temperaturen werden angezeigt. Fragt mich jetzt nicht warum, aber es war so. Ich habe keine Erklärung dafür, warum die positiven Temperaturen normal angezeigt wurden, er aber mit den negativen Probleme hatte. Also vielen DAnk nochmal für eure Hilfe, ihr glaubt gar nicht wie erleichtert man ist, wenn es endlich funktioniert. Schöne Grüße, Makke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.