Forum: Mikrocontroller und Digitale Elektronik Auswertung Sensirion SCD40


von Holger B. (rst-el)


Lesenswert?

Hallo,
bei der Auswertung der Messergebnisse des CO2-Sensors SCD40 scheint die 
CO2-Info um Faktor 2 zu hoch zu sein. Temperatur- und Feuchtewerte sind 
plausibel.
Die CRC-Prüfsumme der ausgelesenen Infos stimmt, auch die (mittels Oszi 
kontrollierten) I2C-Sequenzen.

Laut Datenblatt repräsentiert der ausgelesene Wert 1:1 die CO2 
Konzentration, während Temperatur und Feuchte mittels Formel zu 
berechnen sind.

Bei Divison durch 2 stimmt der Wert mit der angezeigten CO2 
Konzentration eines externen Messgeräts überein.

Hat jemand diesbezüglich bereits ähnliche Erfahrungen mit diesem 
Baustein gemacht ?

von Andreas B. (bitverdreher)


Lesenswert?

Was zeigt er denn außen vor dem Fenster an?

von Andras H. (kyrk)


Lesenswert?

Bin mal gespannt was daraus raus kommt. Ich habe zwar eine andere CO2 
Sensor, der wackelt aber hoch und runter. Zwischen 400ppm und 1000ppm.

https://thingspeak.com/channels/560741

Koennte aber ein SW Fehler bei mir sein. Ist es auch vermutlich :)

Zurück zu dir:
I2C Clock ist unter 100kHz? Laut Datenblatt max 100kHz. Könnte sein dass 
damit intern etwas angetrieben wird.
Irgendwelche Kalibrationswerte überschrieben?

Wie sind denn halt die Werte? Wie ist dann deine Erwartung?

von Holger B. (rst-el)


Lesenswert?

Messwerte im Raum, Anzeige des externen Gerätes: 780 ppm
Messwert des SCD40 = 1480, geteilt durch 2: 740

Auslesetakt ist "nur 8 KHz", somit kein Timingproblem.
CRC stimmt ja auch, bei Timingproblem wären die Messwerte inkonsistent.

von Andras H. (kyrk)


Lesenswert?

Vestehe ich nicht so ganz richtig:
"Messwerte im Raum, Anzeige des externen Gerätes: 780 ppm"
Wird jetzt Draußen und auch Drinnen 780ppm gemessen? Oder nur Draußen? 
Wo wird jetzt gemessen?

Draußen schon 780ppm? Sollte eigentlich nicht um die 440ppm sein? 
Drinnen im Raum kann schon 780ppm sein.

Wobei wenn Draußen wirklich 780ppm ist (Industriegebiet? Wird irgendwo 
CO2 ausgelassen?) dann könnte durchaus drinnen doppelt so viel sein.

von Andras H. (kyrk)


Lesenswert?

Holger B. schrieb:
> CRC stimmt ja auch, bei Timingproblem wären die Messwerte inkonsistent.

Je nach dem :) Habe einen Temperaturfühler von Microchip leider zu 
schnell über I2C ausgelesen. Alles war ok, nur die Werte waren ja 
komplett falsch. Wobei ich weiß nicht mehr ob der auch CRC geliefert 
hat.

Die CRC sagt nur dass die Übertragung selbst OK war. Aber die Konversion 
kann immer noch falsch gewesen sein. Aber wenn du mit 8kHz über I2C 
kommunizierst dann ist es ja ok, denn 100kHz sind ja erlaubt.

Eventuell würde ich noch die Spannungsversorgung angucken, ob da nicht 
all zu große wellen gibt. Oder einfach mal bisschen mehr Kondis hintun 
(12p, 100nF, 1uF). Wobei bei Störungen solcher Art, sind ja die Werte 
meist so unterschiedlich dass man schon denkt dass da etwas faul ist. 
Wenn der Aufwand klein ist, kann man einfach machen, damit man sagen 
kann ja abgehackt das ist es auch nicht.

von Andreas B. (bitverdreher)


Lesenswert?

780ppm ist schon viel für drinnen.
Miß doch mal draußen. Es sollten dann knapp über 400ppm sein.
Dann schau Dir auch mal an, ob der Sensor auf "self calibrated" steht. 
Dann bekommst Du nämlich einen irgendwann gemessenen Wert als 400ppm 
calibriert. So etwas sollte man immer ausschalten.

: Bearbeitet durch User
von GHz N. (ghz-nerd)


Lesenswert?

Andras H. schrieb:
> Eventuell würde ich noch die Spannungsversorgung angucken, ob da nicht
> all zu große wellen gibt. Oder einfach mal bisschen mehr Kondis hintun
> (12p, 100nF, 1uF).

in Sachen Stabilität der Spannungsversorgung scheint dieser Sensor in 
der Tat sehr heikel zu sein.
Sensirion empfiehlt in einer app note sogar, den SCD40 mit einem eigenen 
LDO zu speisen...

von Gerd E. (robberknight)


Lesenswert?

Was man bei diesen ganzen kleinen SMD-Sensoren auch beachten muss: Der 
Lötprozess kann die Sensoren ganz kräftig stören und unbrauchbar machen.

Vor allem Handlöten ist hier ein Problem, und zwar weil dabei der Sensor 
ungleichmäßig erwärmt wird und sich dabei intern minimal verformt. Das 
reicht aber schon um die Messwerte mächtig zu verfälschen. Daher ist 
Reflow-Löten klar zu bevorzugen, da es den Sensor gleichmäßiger erwärmt.

Auch können Flussmitteldämpfe in den Sensor eindringen und sich innen 
ablagern.

von Wolfgang (Gast)


Lesenswert?

Andras H. schrieb:
> Eventuell würde ich noch die Spannungsversorgung angucken, ob da nicht
> all zu große wellen gibt. Oder einfach mal bisschen mehr Kondis hintun
> (12p, 100nF, 1uF).

Die 12pF sind ein ganz heißer Tipp. Willst du bei deiner Empfehlung die 
Lücken von 4 Zehnerpotenzen (12pF -> 100nF) nicht irgendwie füllen?

von Jimi H. (jimih)


Lesenswert?

Holger B. schrieb:
> bei der Auswertung der Messergebnisse des CO2-Sensors SCD40 scheint die
> CO2-Info um Faktor 2 zu hoch zu sein.

Ich hab das kleine SCD41 Entwicklungs-Kit am Raspi- die CO2 Werte sind 
im Vergleich absolut OK und genau. Zappeln auch nicht rum sondern 
steigen/fallen ganz langsam und plausibel.

Gerd E. schrieb:
> Was man bei diesen ganzen kleinen SMD-Sensoren auch beachten muss: Der
> Lötprozess kann die Sensoren ganz kräftig stören und unbrauchbar machen.

Und das wäre bei diesen teuren Bauteilen schon ziemlich ärgerlich. Ich 
kann jedem Hobbyisten der selber lötet nur dringend empfehlen, den 
geringen Aufpreis zur wirklich kleinen Entwickler-Platine zu bezahlen um 
da jedweden Schwierigkeiten aus dem Wege zu gehen.

: Bearbeitet durch User
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.