cozir co2 sensor

Hello, until recently i used the library and code from this post Arduino Forum, and it worked great. When I decided to calibrate the cozir (GC 009) sensor on fresh air the sensor started displaying a two digit number, earlier when everything was ok it always displayed a three digit number displayed in ppm. I tried posting this question in this post but it doesn't allow me.
I would be very grateful if anyone is able to help.

It's not very helpful to link to a 13 page forum thread to show us which code you're using.

Post a link to the exact library you're using!

Post the actual code you're using to get the described values as well as the code you used to calibrate the sensor! Don't forget to use code tags when posting code!

Completely my fault. I apologize for that.
The library is in attachment, also code:

#include "cozir.h"
#include <SoftwareSerial.h>
SoftwareSerial nss(2, 3);
COZIR czr(nss);

void setup()
{
  Serial.begin(9600);
  delay(5000);
  //czr.SetOperatingMode(CZR_POLLING);
  //czr.SetOperatingMode(CZR_STREAMING);
  //czr.CalibrateFreshAir();
  // czr.SetDigiFilter(64);
}

void loop()
{

  int c = czr.CO2();
  int digi = czr.GetDigiFilter();


  Serial.print("CO2 : "); Serial.println(c);
  Serial.print("Digital Filter : "); Serial.println(digi);
  Serial.println("");
}

Today, as I try to figure out what’s going on, a new detail has emerged. The ppm value is constantly falling to some value around 20ppm. when I blow on the suction of a small vacuum pump, the value increases but starts to fall again. Which is normal, but by no means does the value stabilize around a number, but is constantly declining, even reaching 0 values once. I use arduino uno and cozir sensor gc009.

cozir.zip (2.99 KB)

My guess is that the calibration wasn't done on clean air. If the calibration was done when the sensor was reading about 700ppm (assuming that was correct) and was calibrated, it now thinks that 700ppm are only 300ppm. So if you read in an environment that has 400ppm the value returned may be near 0. Remember, breathing near the sensor may temporarily show very high values. If you then calibrated your sensor always return wrong values.

It’s possible that the sensor is also affected by moisture in the air , which has a wide absorption band .
The specification sheet is pretty vague , I’m assuming “accuracy 5%” will be 5% of full scale reading .

If using a vacume pump it’s possible you are getting below the dew point ?

Google will help you determine whether this is the case .

Remember, the PPM calibration is based on sea level air pressure and a standard pressure. Any lower air pressure or higher pressure means the PPM value must go UP. that is because there are fewer million air molecules in the air.
So blowing both increases the air pressure and the temperature.

Paul

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.