Hi Leute, bin gerade dabei einen DS18S20 Temperatursensor anzusteuern. die 64bit lange Nummer inklusive Family Code lässt sich zuverlässig auslesen. Allerdings ist der Family Code nicht 0x10, wie bei 1820 üblich sondern wird als 0x28 ausgelesen. da ich noch einen ds2430 an der 1-wire Leitung hägen habe, dessen Family Code (0x14) korrekt angzeigt wird, weiss ich, dass ich die Zahlen richtig darstelle. Weiterhin lässt sich der 1820 mit dem erhaltenen ROM_Code ansteuern und ich bekomme dynamische Temperaturwerte zurückgegeben. Die Codevision Library-Funktion 'ds1820_temperature_10()' liefert allerdings bei normaler Raumtemperatur Werte von etwa 2000. Geteilt durch 10 wären das also 200.0°C. Komisch ich koche noch gar nicht! Hat jemand ne Idee dazu?
Versuch mal die Versorgung komplett anzuschliessen - 5V und GND. Ich hatte schon einige DS1820, die ohne 5V nicht vernünftig arbeiten wollten. Woran es liegen kann - verstehe ich leider nicht.
Wenn Du 0x28 ausliest, ist es mit Sicherheit kein DS18S20. Es könnte ein DS18B20 sein und der liefert 12 Bit Werte. In der Codesammlung findest Du meinen Code (AVR-GCC), der 0x10 und 0x28 Sensoren richtig ausliest. Peter
Ich hab' zwar nur Erfahrung mit dem DS1821. Aber das Problem ist doch bleibt das selbe. Für den One-Wire-Bus braucht der Temp.Sensor den GND, weil er den High Pegel am Bus auf GND ziehen muss für die Übertragung. Wie soll der Temp.Sensor ohne GND den Bus auf GND ziehen??? MfG bluemole
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.