Go Down

Topic: DS18B20 als defekt erkennen (Read 2 times) previous topic - next topic

Rudi01

Hallo

Danke für die Antwort.
Das hört sich interessant an. Doch leider reichen meine bescheidenen Kenntnisse noch nicht aus diese Befehlsfolge zu verstehen.
Kannst Du mir die Befehle näher beschreiben?

mwyraz

Ach den Sketch hatte ich gar nicht gesehen - du verwendest eine andere Sensor-Lib als ich. Diese bietet die Funktion "isConnected()", um zu prüfen, ob ein Sensor verbunden ist. Diese Funktion liest die Temperatur und prüft, ob die Daten gültig sind - beim auslesen der Temperatur passiert aber Lib-Intern das selbe. Liefert der Sensor keine/fehlerhafte Daten, kommt der Wert "DEVICE_DISCONNECTED" zurück, welcher mit -127 definiert ist.

Du müsstest also im Code nur prüfen, ob einer der Sensoren -127°C liefert, dieser wäre dann defekt. Außerdem solltest Du prüfen, ob einer der Sensoren 85°C liefert - in dem Fall könnte es sich um eine echte Temperatur handeln oder um den Standard-Wert, den ein Sensor nach dem initialisieren liefert, wenn er noch keine Messung durchgeführt hat. Diesen Wert würde ich auch als ungültigen Wert behandeln.

Außerdem würde ich noch überlegen, welche Differenz zwischen beiden Sensoren plausibel ist - ist die gemessene Differenz deutlich größer, kannst Du ja gff. auch von einem Fehler ausgehen.

Rudi01

Hallo mwyraz

danke für die Antwort.
Die -127°C überprüfe ich schon in meinem Sketch und wenn ich dann noch die 85°C auswerte dann müssten eigentlich alle Fehler erschlagen sein.
Die Differenz zwischen den Sensoren kann ich leider nicht auswerten da sie sich in zwei verschiedenen Speichern sind und deshalb schon von Haus aus verschiedene Temperaturwerte haben können.

Vielen Dank Rudi

Go Up