SHT20 Sensor fehlerhafte Messungen

Gast #7220634
Lesenswert?
• ▲
▼
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
Angehängte Dateien:
Gast #7220707
Lesenswert?
• ▲
▼
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?
#7221578
Lesenswert?
• ▲
▼
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
Angehängte Dateien:
Gast #7221818
Lesenswert?
• ▲
▼
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
#7222583
Lesenswert?
• ▲
▼
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?
#7222648
Lesenswert?
• ▲
▼
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
#7223205
Lesenswert?
• ▲
▼
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.