02-26-2020 09:38 AM
We have checked the sIAQ behavior on different temperature and humidity levels inside a calibrated environmental chamber. The sIAQ output is very unstable (not compensating temperature and humiditiy) which causes de sensor to self calibrate quite often.
The code used is the "basic_config_state" included in the Examples, with this configuration:
config/generic_33v_3s_28d/bsec_iaq.txt
STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000)
The code was modified only enable PWM outputs on Arduino Mega for temperature, humidity and sIAQ in order to register the signals in a external logger.
Before the test the sensor had been exposed to both clean and very polluted environment, the state 3 had been reached and saved into Arduino Mega 2560 EEPROM.
The sequence of the chamber sitting was this:
20 ºC / 60% RH
30 ºC / 60% RH
40 ºC / 60% RH
50 ºC / 60% RH
20 ºC / 60% RH
10 ºC / 60% RH
0 ºC / RH not controlled
20 ºC / 70% RH
20 ºC / 80% RH
This is the result (sIAQ is a 0 to 5 V signal mapping 0 to 1000 sIAQ BSEC output):
As you can see every change in temperature causes a change in humidity, as expected, but also in sIAQ, with values from 0 to 380 and undergoing frequent calibration (2) states.
My questions:
- Can the sIAQ behaviour be explained by BSEC algorith not responding fast enough to the sudden changes in enviromental conditions?
- The period was set to 28 days because I read in this forum this is recommended for sIAQ output, but the sensor history did not reach 28 days yet. May changing the setting to 4 days can improve the sIAQ stability in this case?
Thank you.
02-26-2020 10:41 AM
02-26-2020 11:25 AM
Thank you.
BSEC version was 1.5.1474.
We still need to characterize our application environment but I think you are right, it will not probably be so agressive. I will repeat next week with a less agresssive temperature profile. When you say to wait for one week do you mean to have the device power on for one week or can we switch it off as long as we save the config state in th EEPROM ? I mean can we still accumulate time to improve stability while cycling power during the process?
Also, from the post you linked:
"(Static) IAQ value of 25 roughly translates to "the cleanest air it has seen so far"
"So far" means the cleanes air in 4 days or 28 day time window depending on cofiguration?
02-27-2020 08:17 AM
I just noticed that the "iaqSensor.setConfig(bsec_config_iaq);" was missing in my code, so it was working in default mode. Not sure if this could have caused the sIAQ instability.
02-27-2020 10:53 AM
Sorry BSEC library version is 1.4.7.4