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
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