SHT11 kaputt?

OP #3992878
Lesenswert?

Hi zZsammen!
Letzten September hatte ich schon mal nachgefragt, wegen Problemen mit 
dem SHT11. Nun lief alles bis jetzt super und gestern zeigte er mir 
32767( was ja ein Fehlercode ist) an. Ich benutze den C-Code von prx 
(A.K.), ist der Sensor nun hinüber oder kann ich noch was tun?
Ich habe nichts verändert und wie gesagt, er funktionierte ja auch 
wirklich super.
Wäre toll, wenn mir einer der Sensorexperten helfen kann.
VG
Konrad
Gast #3992883
Lesenswert?

Ach was, der geht noch!

Mal im ernst: Haste mal gemessen was bei der Kommunikation passiert?
Hast du inzwischen was an der software geändert?
Wie ist er verschalten?
Wie sieht das Programm aus?
Wie gut ist die Versorgung?

Kurzum: Meistens gehen die Teile nicht ohne Grund kaputt!

Flip
OP #3992958
Lesenswert?

Hi zusammen!
Den Komponententausch kann ich erst am Montagabend machen,da werde ich 
ja sehen, was los ist! Wie A.K. schon schrieb, der Sensor ist halt in 
der Umwelt, bei mir soll er einen Reifeschrank steuern, da ist es 
ungefähr 14°C und eine rH von 85%, dass sollte dem Sensor nichts machen. 
Aber wer weiss!
VG
Konrad
Gast #3993008
Lesenswert?

Konrad Bethmann schrieb:
> Aber wer weiss!

Wenn der Sensor 0x7FFF liefert, ist da irgendetwas grundlegendes kaputt 
- 85%rH mag nicht jede Elektronik/Kabelverbindung auf Dauer.

Sendet der Sensor die Prüfsumme richtig oder ist der angezeigte Wert ein 
Fehlercode von deinem Anzeigeprogramm? Der Sensor sollte eigentlich 14 
bzw. 12 Bit für Temperatur bzw. Feuchte liefern (bei reduzierter 
Auflösung 12 und 8 Bit) und nicht 16 Bit.
#3993122
Lesenswert?

Konrad Bethmann schrieb:
> gestern zeigte er mir 32767 ( was ja ein Fehlercode ist)

Der Code für CRC-Fehler ist -32767, nicht +32767.

Bei offener Leitung bliebe das Datensignal auf "high" und die Messung 
würde sich aufhängen oder auf Timeout laufen, abhängig vom aufrufenden 
Code.

Ist die Datenleitung permanent auf "low" kommt genauso -32767 raus wie 
bei einem CRC-Fehler. +32767 kann überhaupt nicht herauskommen.

Genauere Information gibt der ausgelesene Wert vor der Umrechnung, also 
die Werte von
1
int16_t v = recv_data() << 8; v |= recv_data();
2
uint8_t crc = recv_crc();
in result(). Wenn da bloss Nullen kommen sind Leitung oder Chip im 
Eimer.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren