Hi, Habe einen SHT20-Sensor zur Temperatur- und Luftfeuchtigkeitsmessung im Einsatz. Habe diesen schon mehrere Wochen mittels meiner eigenen Library betrieben und hat die Werte sauber gemessen. Seit einigen Tagen verhalten sich die Messwerte jedoch sehr merkwürdig. Die Temperatur bleibt dauerhaft bei 26,3°C hängen und bleibt auch bei berühren oder anhauchen unverändert. Die Feuchtigkeit ist entweder 32,5% oder 32,3% und misst etwa 60% wenn ich den Sensor anhauche. Interessanterweise fällt die Feuchtigkeit aber nie unter die 32,3%. Ich messe mit dem Sensor mein Zimmer und die Feuchtigkeit sowie Temperatur sind bei der aktuellen Jahreszeit sowieso nahezu unmöglich. Habe ebenfalls eine andere Library getestet, jedoch war das Resultat das gleiche. Wo könnte die Ursache liegen? Elektrostatische Entladung, EMV oder einfach einen schlechten Chip erwischt? Kenne mich da nicht wahnsinnig gut aus, würde aber gerne wissen wieso es soweit gekommen ist. Danke im Vorraus
Erstens: Schau dir die I2C-Signale auf dem Oszilloskop an. Zweitens: Wertest du die Prüfsumme aus? LG, Sebastian
Manuel Neff schrieb: > Wo könnte die Ursache liegen? Elektrostatische Entladung, EMV oder > einfach einen schlechten Chip erwischt? Elektromagnetische Verträglichkeit kann nicht die Ursache einer Fehlfunktion sein. Wenn elektromagnetische Verträglichkeit gegeben ist, funktioniert alles einvernehmlich. Wie sieht dein Aufbau aus, wie lang sind die Leitungen? Was ist vor "einigen Tagen" passiert?
Sebastian schrieb: > Erstens: Schau dir die I2C-Signale auf dem Oszilloskop an. > > Zweitens: Wertest du die Prüfsumme aus? > > LG, Sebastian Danke für deine Antwort. Im Anhang ein Bild meines I²C-Signals. Habe mehrere Sensoren und Aktoren am selben Bus, welche bis jetzt nie Probleme bereitet haben. Die Prüfsumme werte ich aber von keine I²C-Slave aus. mfg
Manuel N. schrieb: > Danke für deine Antwort. Im Anhang ein Bild meines I²C-Signals. Die Pullup-Widerstände könnten wohl etwas kleiner. Die müssen den Pegel ja gegen den Kapazitätsbelag der Kabel und der angeschlossenen Gates recht schnell von 0V nach VCC ziehen, und das scheint hier etwas langsam zu gehen. Dabei auftretende Bitfehler können, gerade wenn du die Prüfsumme ignorierst, zu deinem Problem führen. LG, Sebastian
Sebastian schrieb: > Manuel N. schrieb: >> Danke für deine Antwort. Im Anhang ein Bild meines I²C-Signals. > > Die Pullup-Widerstände könnten wohl etwas kleiner. Die müssen den Pegel > ja gegen den Kapazitätsbelag der Kabel und der angeschlossenen Gates > recht schnell von 0V nach VCC ziehen, und das scheint hier etwas langsam > zu gehen. Dabei auftretende Bitfehler können, gerade wenn du die > Prüfsumme ignorierst, zu deinem Problem führen. > > LG, Sebastian Kann es denn sein, dass immer der gleiche Wert ausgegeben wird? Das Bit wäre ja dann zufällig, was auch einen zufälligen Messwert ergeben würde, oder?
Manuel N. schrieb: > Kann es denn sein, dass immer der gleiche Wert ausgegeben wird? Das Bit > wäre ja dann zufällig, was auch einen zufälligen Messwert ergeben würde, > oder? Ich hatte mal bei einem SHT21 den Fall dass der Bitstrom komplett und immer auf 1 war (oder wars auf 0 ?), und die Prüfsumme war OK, und der Temperaturwert "hing" halt bei einem bestimmten Wert fest. Aber wenn es bei dir an zu hohen Kapazitäten am Bus liegt, dann kann auch eine logische 0 ziemlich systematisch ins nächste Bit verschleppt werden ... Um den Fehler eingrenzen zu können wäre es hilfreich wenn du für eine deiner "hängenden" Messwerte mal die komplette Übertragung analog aufzeichen und untersuchen könntest. Alternativ könntest du die "hängenden" Werte mal in den erzeugenden Bitstrom zurückrechnen. Vielleicht erklärt sich so das Problem. LG, Sebastian
Sebastian W. schrieb: > Manuel N. schrieb: >> Kann es denn sein, dass immer der gleiche Wert ausgegeben wird? Das Bit >> wäre ja dann zufällig, was auch einen zufälligen Messwert ergeben würde, >> oder? > > Ich hatte mal bei einem SHT21 den Fall dass der Bitstrom komplett und > immer auf 1 war (oder wars auf 0 ?), und die Prüfsumme war OK, und der > Temperaturwert "hing" halt bei einem bestimmten Wert fest. > > Aber wenn es bei dir an zu hohen Kapazitäten am Bus liegt, dann kann > auch eine logische 0 ziemlich systematisch ins nächste Bit verschleppt > werden ... > > Um den Fehler eingrenzen zu können wäre es hilfreich wenn du für eine > deiner "hängenden" Messwerte mal die komplette Übertragung analog > aufzeichen und untersuchen könntest. > > Alternativ könntest du die "hängenden" Werte mal in den erzeugenden > Bitstrom zurückrechnen. Vielleicht erklärt sich so das Problem. > > LG, Sebastian Habe das CRC mal ausgewertet. Wenn ich einen Messwert-X bekomme, dann bekomme ich jeweils auch das gleiche CRC, jedoch stimmen CRC und Messwert nicht überein. mfg
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.