Hallo zusammen, ich habe einen HYT939 Feuchtesensor per i2c an einen RaspberryPi 3b+ angeschlossen und nun das Phänomen, das der Sensor soweit plausibel misst außer er wird wärmer als ~35°C. Dann liefert er 125°C und 100%rF zurück und zwar auch schon in den Rohdaten. Ein Umrechnungsfehler im Programm halte ich daher für ausgeschlossen. Der Sensor ist ohne weitere Beschaltung mittels ~1m Flachbandkabel am Raspberry angeschlossen. Hat jemand eine Idee was das Problem sein kann? Danke und Gruß Thomas
Thomas schrieb: > liefert er 125°C und 100%rF zurück und zwar auch schon in den Rohdaten. Und welche echten Rohdaten sind das? Kommen da auf dem Bus schon noch sinnvolle Daten oder sowieso nur Einsen? Passt das I2C Timing zum Datenblatt? https://www.ist-ag.com/sites/default/files/AHHYTM_E.pdf > Der Sensor ist ohne weitere Beschaltung mittels ~1m Flachbandkabel am > Raspberry angeschlossen. Was passiert mit 10cm Kabel? Passen die Pegel vom I2C zwischen RPi und Sensor? Wie schnell fährst du den I2C?
Wird der Sensor von allein so warm? Eine Möglichkeit dann dessen Stromaufnahme zu messen?
Lothar M. schrieb: > Thomas schrieb: >> liefert er 125°C und 100%rF zurück und zwar auch schon in den Rohdaten. > Und welche echten Rohdaten sind das? > Kommen da auf dem Bus schon noch sinnvolle Daten oder sowieso nur > Einsen? Es kommen tatsächlich nur Einsen über den Bus > Passt das I2C Timing zum Datenblatt? > https://www.ist-ag.com/sites/default/files/AHHYTM_E.pdf Das weis ich gar nicht, ich nutze einfach das SMBus Modul. Ich hab mal die Py Files angehangen Klimamessung ist das Hauptprogramm und HYT939 das Modul für die Messung in Zeile 54 aufgerufen. > >> Der Sensor ist ohne weitere Beschaltung mittels ~1m Flachbandkabel am >> Raspberry angeschlossen. > Was passiert mit 10cm Kabel? Passen die Pegel vom I2C zwischen RPi und > Sensor? Wie schnell fährst du den I2C? Wie kann ich das Tempo des i2c denn nachschauen bzw. wo festlegen? Die 10cm Variante muss ich noch testen sowie die Pegel messen. Am besten mit nem Logikanalyser oder? Da würde man dann auch das Timing sehen richtig? Vielen Dank schonmal. Gruß Thomas
Thomas schrieb: > ich nutze einfach das SMBus Modul. Was macht dieses Modul, wenn der Sensor nicht angeschlossen ist oder nicht sinnvoll mit einem ACK antwortet? > Am besten mit nem Logikanalyser oder? Die Signalqualität (Überschwingen, Flankenzeiten, Pegel ...) kannst du nur mit einem Oszilloskop beurteilen. Denn ein Logikanalyzer macht ja aus dem analogen Signal ein Binäres. Und das macht er sicher mit anderen Schaltschwellen als das I²C-Interface des µC. > Da würde man dann auch das Timing sehen Fürs Timing nimmst du am besten ein zweikanaliges Oszilloskop. Zur Messung der Signalqualität muss die Masseklemme des Oszis übrigens an die nächstliegende zugehörige Massestelle angeschlossen werden. Also nicht irgendwo beim Netzteil oder gar im E-Werk über PE. Wenn die Signalqualität des Busses mal verifiziert und für gut befunden ist, dann kann man mit einem LA weiterarbeiten.
So ich hab mal einen gesamten Ablauf von HYT939.py aufgenommen so richtig schlau wird ich da jetzt nicht draus aber ich hätte zumindest ein etwas saubereres Signal erwartet. Grün ist SCL und Gelb ist SDA. In gesamt.png hab ich mit nummern die Ereignisse beschriftet und dann entsprechend die Detailbilder angehangen. Wie ist das Signal zu bewerten? Ist das Erstemal, dass ich sowas sehe. Gruß Thomas
Thomas schrieb: > Wie ist das Signal zu bewerten? Die Signalqualität sieht brauchbar aus, hinreichend steile Flanken und keine relevanten Überschwinger. Der Bus wird offenbar mit 62kHz getaktet, das ist langsam genug. > Grün ist SCL und Gelb ist SDA. Ist das Kabel bei der Messung wie bisher 1m lang? Und wie sieht das Signal aus, wenn der Fehler auftritt? > In gesamt.png hab ich mit nummern die Ereignisse beschriftet und dann > entsprechend die Detailbilder angehangen. 1 = bus.write_byte(0x28, 0x80) 2 = data = bus.read_i2c_block_data(0x28, 0x00, 4) > aber ich hätte zumindest ein etwas saubereres Signal erwartet. Mich wundert eher die große Menge an Daten, die da bei 4 unterwegs sind. Was hängt denn sonst noch an dem I²C-Bus?
Ich würde es zuallererst mal mit einem zweiten Sensor probieren. Das schaut mir zu verdächtig nach Sensor-Schaden aus.
Lothar M. schrieb: >> Grün ist SCL und Gelb ist SDA. > Ist das Kabel bei der Messung wie bisher 1m lang? > Und wie sieht das Signal aus, wenn der Fehler auftritt? Ja, ist immer noch 1m ein Teil ist direkt im Raspberry, dahe fängt er sich eventuell noch etwas rauschen ein. > >> In gesamt.png hab ich mit nummern die Ereignisse beschriftet und dann >> entsprechend die Detailbilder angehangen. > 1 = bus.write_byte(0x28, 0x80) > 2 = data = bus.read_i2c_block_data(0x28, 0x00, 4) > >> aber ich hätte zumindest ein etwas saubereres Signal erwartet. > Mich wundert eher die große Menge an Daten, die da bei 4 unterwegs sind. > Was hängt denn sonst noch an dem I²C-Bus? Hab ich auch erst nicht verstanden (Brett vorm Kopf) Es ist noch ein 0,96" Oled Display dran, auf dem die Daten angezeigt werden. Im Anhang die Daten wenn der Fehler auftritt man sieht gut, dass 127, 255,255,253 übertragen wird. Zu dem Tipp einen zweiten Sensor zu testen. Ich habe zwei als Muster zugeschickt bekommen und beide verhalten sich gleich. Ein Arbeitskollege meinte ich könnte mal noch testen, was passiert wenn ich den runterkühle. Werde die Klimaammer dann morgen mal auf -20°C stellen. Ich Vermute ja auch ein Sensorproblem nur zwei gleichzeitig ist schon komisch. Es ist auch eine Sondervariante vom HYT939, die konstant 85°C und 85%rH messen können soll ohne in der Feuchte langsam gegen 100% weg zu laufen. Aktikelnummer kann ich morgen mal schicken, bin schon zuhause. Vielen Dank schonmal für die gute Hilfe. Gruß Thomas
Thomas schrieb: > Oled Display Dachte ich mir angesichts des Codes auch.... ? > Es ist auch eine Sondervariante vom HYT939 Wie sonderbar ist die? Speziell für dich hingebogen? Oder haben die auch andere im Einsatz? Im ersten Fall würde ich mal einen Standardbaustein gegenchecken...
Lothar M. schrieb: > Speziell für dich hingebogen? Oder haben die auch > andere im Einsatz? So weit ich weis nicht extra hingebogen aber die genaue Bezeichnung lautet HYT.939.P.0.KK.SA und die Artikelnummer ist 150.00179 Ich hab jetzt mal bei Reichelt noch nen Standard HYT939 geordert mal sehen wie der funktioniert. Ich melde mich hier sobald es neue Erkenntnisse gibt. Gruß Thomas
Hallo Thomas, konntest du das Problem lösen? Ich habe exakt das gleiche Problem, ab ca. 35 Grad zeigt er Mist an. Vielen Dank Gruß Christian
Ich habe das Projekt, nachdem ich lange keine Zeit dafür hatte wieder aufgenommen und das Problem nun auch lösen können. Ich habe die Wartezeit nachdem Befehl bus.write_byte(0x28, 0x80) entgegen Listings im Netz nicht auf 0,1 gesetzt sondern empirisch den Wert 0,05199 rausgefunden. Nun liefert er bis 125°C am Heißluftföhn plausieble werte. Ein Test in der Klimakammer mit höheren Feuchtewerten steht noch aus. Ich bin aber optimistisch. Gruß Thomas
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.