Forum: Digitale Signalverarbeitung / DSP / Machine Learning SHT20 Sensor fehlerhafte Messungen


von Manuel Neff (Gast)


Angehängte Dateien:

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

von Sebastian (Gast)


Lesenswert?

Erstens: Schau dir die I2C-Signale auf dem Oszilloskop an.

Zweitens: Wertest du die Prüfsumme aus?

LG, Sebastian

von Wolfgang (Gast)


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?

von Manuel N. (manuelambaum)


Angehängte Dateien:

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

von Sebastian (Gast)


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

von Manuel N. (manuelambaum)


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?

von Sebastian W. (wangnick)


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

von Manuel N. (manuelambaum)


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

von T.U.Darmstadt (Gast)


Lesenswert?

D.h. CRC wird gar nicht genutzt oder richtig gebildet?

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
Noch kein Account? Hier anmelden.