Hallo,
ich wollte einen Sensor testen und wunderte mich, dass er nicht
funktioniert. SHT21.begin() gibt mir immer false zurück. Wenn ich aber
trotzdem Sensordaten abrufe funktioniert er jedoch tadellos. Was läuft
denn da schief? Einer ne Idee? Den Testquelltext habe ich übrigens
früher schon einmal mit einem anderen Sensor diesen Typs anstandslos
benutzt...
Dietmar schrieb:> Tja, auf'm Sensormodul steht alles mögliche drauf. SI7021, SHT21, HTU21.
Das Modul kann nicht wissen, welche Bestückungsvariante du gekauft hast,
d.h. welcher Sensor dort bestückt ist. Vielleicht guckst du einfach
einmal, welcher Sensor bei dir auf dem Modul bestückt ist.
Rainer W. schrieb:> Dietmar schrieb:>> Tja, auf'm Sensormodul steht alles mögliche drauf. SI7021, SHT21, HTU21.>> Das Modul kann nicht wissen, welche Bestückungsvariante du gekauft hast,> d.h. welcher Sensor dort bestückt ist. Vielleicht guckst du einfach> einmal, welcher Sensor bei dir auf dem Modul bestückt ist.
Wenn man sein Gehirn gegen Arduino getauscht hat, sind einem solche
Kleinigkeiten auch schon egal.
@ Cyblord
Genauso ist das! Lebe in Frieden...
@ helfende
Ich besitze schon zwei drei dieser Module. .begin() hat immer
funktioniert. Habe noch nie darauf geachtet, was da genau drauf steht.
Auf diesem Sensormodul steht HTU21. Aber ok. ich frage einfach die Daten
ab und wenn ein NAN kommt weiß ich ob Sensor da oder nicht / kaputt.
Grüße!
Dietmar schrieb:> SHT21.begin() gibt mir immer false zurück.
Mach mal print-Befehle in den Quellcode der Bibliothek, um zu sehen
warum false zurückkommt.
LG, Sebastian
Da muss es doch ein Datenblatt geben, wo genau dargestellt wird, in
welchem Register die Werte von Interesse (Fuftfeuchte, Temperatur usw.)
hinterlegt sind und wie man die über I2C (oder SPI) Zugriff erlangt.
Was hat das mit diesen LIBs aufsich? Liest man immerwieder.. Selbst wenn
man nicht in der Lage ist, das Datenblatt vom Sensor zu interpretieren,
so kann man doch sicher den Quellcode dieser "LIB" inspizieren und
findet ganz schnell heraus, ob das mit dem Sensordatenblatt einhergeht,
oder ist das aus rechltichen Gründen vorcompiliert?
...
Ist es nicht. Hab eben nachgesehen. es gibt immer ne*.cpp-datei und eine
*.h.
Ist ja hilfreich, für alle, die nicht vom Fach sind, wirft aber genau
jene Fragen auf, über die mich eben noch wunderte.
Läuft das wirklich so?
Man kauft sich solch ein blaues Platinchen und klemmt es an VCC, GND,
SCA und SCL, installiert die "Lib" (hier wohl von Frau Fried
(Adafruit)), ruft eines der mitglieferten Beispiele auf, lädt das hoch
und: fertig?
Dann ist ja klar, dass niemand mehr Ahnung vom Fach hat und wir mit
dererlei Fragen quasi täglich überannt werden. Pff
Sebastian W. schrieb:> Dietmar schrieb:>> SHT21.begin() gibt mir immer false zurück.>> Mach mal print-Befehle in den Quellcode der Bibliothek, um zu sehen> warum false zurückkommt.
Oder, vielleicht einfacher, ruf einfach die entsprechenden Methoden der
Klasse auf, die Auskunft über den Grund der Fehlfunktion geben.
Das wäre eigentlich der normale Weg gewesen. Wenn eine Methode
fehlschlägt (und nicht gleich den Grund dafür liefert) dann verwendet
man die vorgesehenen Methoden dafür. OK. Sofern es sie gibt. Aber auch
wenn es Arduino ist, muß deswegen ja nicht jede Library Kacke sein.
Axel S. schrieb:> Aber auch> wenn es Arduino ist, muß deswegen ja nicht jede Library Kacke sein.
Sind sie nicht.
Allerdings sollte man schon die auswählen, welche zu dem betreffenden
Sensor passt. Zumindest könnte das schon mal ein Grund dafür sein, dass
begin() false liefert.
Und das die Daten "richtig" kommen, könnte daran liegen, dass sich die
Sensoren sehr ähnlich sind.
Alles ohne Gewähr.
Dietmar schrieb:> Den Testquelltext habe ich übrigens> früher schon einmal mit einem anderen Sensor diesen Typs anstandslos> benutzt...
Der gezeigte Quelltext würde aber in dem geschilderten Fall gar nichts
ausgeben.
Hallo...
Daniel B. schrieb:> Bei HTU21 vielleicht mal die entsprechende Lib probieren ?> https://github.com/adafruit/Adafruit_HTU21DF_Library
Danke, das ist die richtige Lib. Ich ging bis jetzt einfach davon aus,
dass alle meine Sensormodule den gleichen Sensor Chip hätten,
funktionierte ja auch bis auf meinen jetzt erworbenen.
Axel R. schrieb:> Ist ja hilfreich, für alle, die nicht vom Fach sind, wirft aber genau> jene Fragen auf, über die mich eben noch wunderte.> Läuft das wirklich so?> Man kauft sich solch ein blaues Platinchen und klemmt es an VCC, GND,> SCA und SCL, installiert die "Lib" (hier wohl von Frau Fried> (Adafruit)), ruft eines der mitglieferten Beispiele auf, lädt das hoch> und: fertig?>> Dann ist ja klar, dass niemand mehr Ahnung vom Fach hat und wir mit> dererlei Fragen quasi täglich überannt werden. Pff
Ja so ist das nun einmal heute! Jetzt können auch Leute die nicht so
fundiertes Wissen in Elektronik haben brauchbare Schaltungen aufbauen.
Und das ist auch gut so. Ich verstehe allerdings dass es nervt wenn mit
"cut & paste" code auf den Mikrocontroller geladen wird. Und hier dann
gefragt wird warum das nicht geht.
In meinem Fall handelt es sich um eine Wetterstation die ich selbst
gebaut und programmiert habe. Diese funktioniert auch seit Jahren sehr
gut. Nur eben dieses Sensormodul das ich immer mal tauschen muss da es
"absäuft".
Ohne das Benutzen solcher "blauen Platinchen" wäre mir das wohl nicht
möglich gewesen. Wie meine ganze Hausautomation, die ich selbst gebaut
habe. Es wäre schade wenn es diese Möglichkeit heute nicht gäbe! Und
wenn die Fragen dieser "Ahnungslosen" zu sehr nerven... Einfach nicht
Antworten.
Grüße..
Dietmar schrieb:> Ja so ist das nun einmal heute! Jetzt können auch Leute die nicht so> fundiertes Wissen in Elektronik haben brauchbare Schaltungen aufbauen.> Und das ist auch gut so.
Ist halt nur solange gut wie es funktioniert. Funktioniert es mal nicht,
geht das Geheule los, weil man eben keine Ahnung hat und nicht mal
selbst auf Fehlersuche gehen kann.
Dietmar schrieb:> Nur eben dieses Sensormodul das ich immer mal tauschen muss da es> "absäuft".
Wegkorrodiert? Oder wird bei dir der Sensor fehlerhaft. Welche hast du
bisher gehabt? Ich musste gerade einen SHT21 tauschen dessen Werte nicht
mehr stimmten. Der hat allerdings 8 Jahre ohne Teflonkappe durchgehalten
...
LG, Sebastian
Sebastian W. schrieb:> Wegkorrodiert? Oder wird bei dir der Sensor fehlerhaft. Welche hast du> bisher gehabt? Ich musste gerade einen SHT21 tauschen dessen Werte nicht> mehr stimmten. Der hat allerdings 8 Jahre ohne Teflonkappe durchgehalten
Wie gesagt für mich waren diese "blauen Platinchen" alles SHT21 :-)
Problem ist, dass die Feuchte irgendwann zu hoch angezeigt wird.
Temperatur kommt mir auch etwas zu hoch vor. Meiner hat eine PTE Membran
aber ich glaube die bringt wenig bis nichts, da die Feuchtigkeit
trotzdem zu hoch angezeigt wird.
Das ist aber gar nicht so wichtig. Es bildet sich oft Kondenswasser auf
der Platine, und das legt den gesamten I2C lahm an dem ich noch andere
Sensoren habe. Ich tausche dann das Sensormodul gegen ein trockenes, und
alles läuft.
Daniel B. schrieb:> Bis auf den Sensor selber mit Heissleim eingegossen in einer> Wetterstation draussen seit 8 Jahren ohne Probleme.
Diese Idee hatte ich neulich auch schon. Ich trockne den ausgebauten
Sensor aber im Backofen bei 60°. Dann stimmt die Luftfeuchte auch
wieder. Ich muss erst mal probieren ob mir da der Heißleim nicht weich
wird..
Grüße..
Dietmar schrieb:> Es bildet sich oft Kondenswasser auf der Platine, und das legt den> gesamten I2C lahm an dem ich noch andere Sensoren habe.
Das passiert nur, wenn die Platine der kälteste Punkt ist und die
Temperatur unter dem Taupunkt liegt. Du solltest nicht die Platine als
Kühlfalle verwenden.
Dietmar schrieb:> Das ist aber gar nicht so wichtig. Es bildet sich oft Kondenswasser auf> der Platine, und das legt den gesamten I2C lahm an dem ich noch andere> Sensoren habe. Ich tausche dann das Sensormodul gegen ein trockenes, und> alles läuft.
Da sollte sich kein Kondenswasser bilden, denn durch die Abwärme der
Elektronik sollte es da immer etwas wärmer sein als die Umgebung. Und
wenn du das nicht magst, greife zum SHT31, der hat eine eingebaute
Heizung, die man ein- und ausschalten kann!
Helmut -. schrieb:> greife zum SHT31, der hat eine eingebaute> Heizung, die man ein- und ausschalten kann!
Hallo,
also mein Chip HTU21 müsste diese Heizung auch haben. Denn wenn ich mit
der Lib Adafruit_Si7021 compiliere (bei der .begin() nicht funktioniert)
kann ich die Heizung zuschalten. Temperatur steigt und Feuchte sinkt.
In der Lib Adafruit_HTU21DF gibt es gar keine .heater() Methode. Obwohl
der Sensor diese Funktion wohl doch mitbringt.
Mein
Grüße
Dietmar schrieb:> In der Lib Adafruit_HTU21DF gibt es gar keine .heater() Methode. Obwohl> der Sensor diese Funktion wohl doch mitbringt.
Oh Gott, oh Gott, oh Gott ....
Was kann man jetzt nur tun?
Da gibts wohl nur 2 Möglichkeiten:
1. Die Flinte in den Sand stecken.
2. Den Kopf ins Korn werfen.
Helmut -. schrieb:> Da sollte sich kein Kondenswasser bilden, denn durch die Abwärme der> Elektronik sollte es da immer etwas wärmer sein als die Umgebung.
Wenn ein SHT21 mit seinen typisch 0.15µA Sleep Strom zu einer
Eigenerwärmung führt, die die natürliche Konvektion dominiert, läuft da
irgendetwas falsch.
Wenn so ein Außensensor ein Jahr lang mit einem kleinen Satz Batterie
betrieben wird, steht da nichts für nennenswerte elektrische Heizung zur
Verfügung. Rechne mal nach, wie groß der Temperaturgradient ist, den du
damit aufrecht erhalten könntest. Und außerdem: Wer will schon einen
Außentemperatursensor dauerhaft elektrisch aufheizen.
Rainer W. schrieb:> Wenn so ein Außensensor ein Jahr lang mit einem kleinen Satz Batterie> betrieben wird, steht da nichts für nennenswerte elektrische Heizung zur> Verfügung.
Doch. Die Batterieenergie entfleucht ja nicht direkt in den Äther. Also
heizt sie die Umgebung auf. Und deswegen kann keine Betauung
stattfinden, da die ja nur passiert, wenn der Sensor kälter als der
Taupunkt ist. Also meine Sensoren mit anständigem Strahlungsschutz, der
direkt einwirkenden Regen verhindert, halten eigentlich Jahre, ohne
Meßprobleme. Man darf halt keinen Billigkrempel aus China verwenden, wo
man nicht weiß, was da drin steckt.
Arduino F. schrieb:> Was kann man jetzt nur tun?>> Da gibts wohl nur 2 Möglichkeiten:> 1. Die Flinte in den Sand stecken.> 2. Den Kopf ins Korn werfen.
Du hast 3. vergessen. - Weiterwurschteln wie bisher! Auch mit Billig
China Krempel. Hat ja bis jetzt über Jahre funktioniert. Ich passe
meinen code etwas an, und Laube brennt...
Helmut -. schrieb:> Die Batterieenergie entfleucht ja nicht direkt in den Äther. Also> heizt sie die Umgebung auf. Und deswegen kann keine Betauung> stattfinden, da die ja nur passiert, wenn der Sensor kälter als der> Taupunkt ist.
Bei einem Sensor der ein Jahr aus zwei AA-Batterien lebt, hast du eine
mittlere Leistung von vielleicht 0.0009W oder 0.9mW zur Verfügung.
Welchen Temperaturgradienten zur Umgebung wirst du damit wohl erzielen?
Rainer W. schrieb:> Helmut -. schrieb:>> Die Batterieenergie entfleucht ja nicht direkt in den Äther. Also>> heizt sie die Umgebung auf. Und deswegen kann keine Betauung>> stattfinden, da die ja nur passiert, wenn der Sensor kälter als der>> Taupunkt ist.>> Bei einem Sensor der ein Jahr aus zwei AA-Batterien lebt, hast du eine> mittlere Leistung von vielleicht 0.0009W oder 0.9mW zur Verfügung.> Welchen Temperaturgradienten zur Umgebung wirst du damit wohl erzielen?
Na immerhin paar µK ...
Jens G. schrieb:> Rainer W. schrieb:>> Helmut -. schrieb:>>> Die Batterieenergie entfleucht ja nicht direkt in den Äther. Also>>> heizt sie die Umgebung auf. Und deswegen kann keine Betauung>>> stattfinden, da die ja nur passiert, wenn der Sensor kälter als der>>> Taupunkt ist.>>>> Bei einem Sensor der ein Jahr aus zwei AA-Batterien lebt, hast du eine>> mittlere Leistung von vielleicht 0.0009W oder 0.9mW zur Verfügung.>> Welchen Temperaturgradienten zur Umgebung wirst du damit wohl erzielen?>> Na immerhin paar µK ...
... TemperaturERHÖHUNG. Und da der Taupunkt selten höher als die
Außentemperatur ist, ist eigentlich keine Betauung möglich.
Helmut -. schrieb:> ... TemperaturERHÖHUNG. Und da der Taupunkt selten höher als die> Außentemperatur ist, ist eigentlich keine Betauung möglich.
Dann handelt es sich wohl um Phantombetauung, falls die Platine nicht
ungeschützt und ohne Strahlungsschutz im Freien hängt ;-)
Dietmar schrieb:> Es bildet sich oft Kondenswasser auf der Platine, ...