PPM or PPB

Enrique UCLM
Posts: 18
Joined: Wed Apr 24, 2019 11:13 am
Company: UCLM

PPM or PPB

Post by Enrique UCLM » Mon Sep 16, 2019 7:42 pm

Good morning

Since the beginning of purchasing the sensors we have obtained strange measurements of O3, NO2 and CO. Measurements that are too high of O3 and mulitude of NO2 measurements that tend to 0 constantly.

I would like to know if the measurements of these gases are in ppm or in ppb.

Greetings,

Enrique.

libelium-dev
Posts: 27967
Joined: Mon Sep 28, 2009 1:06 pm

Re: PPM or PPB

Post by libelium-dev » Tue Sep 17, 2019 8:47 am

Hi,

The measurements of the gases sensors are in ppm.

What values do the sensors return? You can try to get more accurate values keeping the sensors ON continuously. In addition, note that the accuracy of the sensors is +-0.1ppm in ideal conditions.

Regards

Enrique UCLM
Posts: 18
Joined: Wed Apr 24, 2019 11:13 am
Company: UCLM

Re: PPM or PPB

Post by Enrique UCLM » Tue Sep 17, 2019 9:45 am

Good morning

The values of the measurements of one of the stations can be seen in the following link. They are converted from ppm to ug/m3 using a conversion formula very well revised.

https://thingspeak.com/channels/735677

Los valores in PPM obtained in this Waspmote are for example in O3:

2019-09-17 01:51:49.631 --> 20.569880 ppm
2019-09-17 01:11:19.331 --> 20.578962 ppm
2019-09-17 00:41:07.230 --> 20.573889 ppm
2019-09-17 00:11:20.631 --> 20.578859 ppm
2019-09-17 09:23:46.231 --> 22.430014 ppm
2019-09-17 08:48:15.131 -->22.383369 ppm
2019-09-17 08:18:20.531 --> 22.524933 ppm
2019-09-17 07:48:10.431 -->22.533895 ppm
2019-09-17 07:18:18.631 --> 22.500605 ppm
2019-09-17 06:42:57.431 --> 22.514835 ppm
2019-09-17 06:10:20.931 -->22.471104 ppm
2019-09-17 05:40:24.031 -->22.459080 ppm
2019-09-17 05:10:27.631 -->22.457508 ppm
2019-09-17 04:40:33.131 --> 22.441099 ppm
2019-09-17 04:05:17.531 --> 22.422592 ppm
2019-09-17 03:35:16.331 --> 22.459110 ppm
2019-09-17 03:00:30.031 --> 22.420029 ppm

I doubt that the measurements are correct because if this were the case, the ozone in the atmosphere could even smell perfectly. Any idea why the sensors give these measurements?

Why have you told me that if I leave the gas plate on longer the measurement will be more accurate? Wouldn't you spend a lot of battery?

Greetings,

Enrique.

Note: In many cases the measurements are used in ug/m3 and not in ppm. As a suggestion it would be great if the measurement of the sensors themselves were given directly in ug/m3 in future APIs. These measurements are those used within the limits allowed by the Environmental European Agency and the World Health Organization.

libelium-dev
Posts: 27967
Joined: Mon Sep 28, 2009 1:06 pm

Re: PPM or PPB

Post by libelium-dev » Tue Sep 17, 2019 3:07 pm

Hi,

Please share with us the code you're using and the output of the code to see the raw values from the sensors.

Regards

Enrique UCLM
Posts: 18
Joined: Wed Apr 24, 2019 11:13 am
Company: UCLM

Re: PPM or PPB

Post by Enrique UCLM » Wed Sep 18, 2019 10:00 am

Hello

I would like to share my code but I'am not allowed to do it.

Can I share the code by another more private site? Sharing it through Drive, by email, etc?

Greetings,

Enrique.

libelium-dev
Posts: 27967
Joined: Mon Sep 28, 2009 1:06 pm

Re: PPM or PPB

Post by libelium-dev » Wed Sep 18, 2019 10:58 am

Hi,

You can fill the RMA form and share there a public link to drive.
https://www.libelium.com/contact/#rma

Regards

libelium-dev
Posts: 27967
Joined: Mon Sep 28, 2009 1:06 pm

Re: PPM or PPB

Post by libelium-dev » Wed Sep 18, 2019 1:24 pm

Hi,

After checking your code and charts, it seems that the values of the O3 gas sensor of the Barrax charts are too high. Could you please test the sensor individually using the following code which doesn't turn OFF the gas sensor? What values are returned after a couple of hours working? Could you please post the output through the serial monitor with debug mode 2 enabled? You can enable it inside WaspSensorGas_Pro.h file

Code: Select all

#define DEBUG_GASES_PRO		2

Code: Select all

#include <WaspSensorCities_PRO.h>

Gas gas_sensor(SOCKET_B);
bmeCitiesSensor bme(SOCKET_E);


// variables
float concentration;  // Stores the concentration level in ppm
float temperature;  // Stores the temperature in ºC
float humidity;   // Stores the realitve humidity in %RH
float pressure;   // Stores the pressure in Pa

void setup()
{
}

void loop()
{
  ///////////////////////////////////////////
  // 1. Read Temperature, humidity and pressure sensor (BME)
  ///////////////////////////////////////////
  
  // switch off gas sensor for better performance
  gas_sensor.OFF();
  // switch on BME sensor (temperature, humidity and pressure)
  bme.ON();
  
  // Read enviromental variables
  temperature = bme.getTemperature();
  humidity = bme.getHumidity();
  pressure = bme.getPressure();
 
  // switch off BME sensor (temperature, humidity and pressure)
  bme.OFF();
  // switch on gas sensor again
  gas_sensor.ON();


  ///////////////////////////////////////////
  // 2. Read gas sensor
  ///////////////////////////////////////////

  // Wait heating time
  // some sensors demand at least one minute 
  // of heating time after switching them on
  USB.println(F("Enter deep sleep mode to wait for electrochemical heating time..."));
  PWR.deepSleep("00:00:02:00", RTC_OFFSET, RTC_ALM1_MODE1, ALL_ON);
  USB.ON();
  USB.println(F("wake up!!"));
  
  // Read the electrochemical sensor and compensate with the temperature internally
  concentration = gas_sensor.getConc(temperature);

  // And print the values via USB
  USB.println(F("***************************************"));
  USB.print(F("Gas concentration: "));
  USB.printFloat(concentration, 3);
  USB.println(F(" ppm"));
  USB.print(F("Temperature: "));
  USB.printFloat(temperature, 3);
  USB.println(F(" Celsius degrees"));
  USB.print(F("RH: "));
  USB.printFloat(humidity, 3);
  USB.println(F(" %"));
  USB.print(F("Pressure: "));
  USB.printFloat(pressure, 3);
  USB.println(F(" Pa"));
  USB.println(F("***************************************"));


  ///////////////////////////////////////////
  // 3. Sleep
  ///////////////////////////////////////////

  // Go to deepsleep
  // After 2 minutes, Waspmote wakes up thanks to the RTC Alarm
  USB.println(F("Enter deep sleep mode"));
  PWR.deepSleep("00:00:02:00", RTC_OFFSET, RTC_ALM1_MODE1, ALL_ON);
  USB.ON();
  USB.println(F("wake up!!"));

}
Regarding your code, it seems correct. We would recommend to keep the gases sensor ON to avoid peaks due to the sensors aren't warm enough. Also, read the BME and luxes sensor as follow

Code: Select all

  /* Power on the Temperature Humidity and Pressure sensors */
  bme.ON();
  temperature = bme.getTemperature();
  humidity = bme.getHumidity();
  pressure = bme.getPressure();
  bme.OFF();

  /* Power on the Lumininosity sensor */
  luxes.ON();
  luminosity = luxes.getLuminosity();
  luxes.OFF();
Regards,

Enrique UCLM
Posts: 18
Joined: Wed Apr 24, 2019 11:13 am
Company: UCLM

Re: PPM or PPB

Post by Enrique UCLM » Wed Sep 25, 2019 10:55 am

Sorry for answering late. Currently the sensors are placed in the streetlights of the city and we can update the sketch of the Waspmotes through OTA requests. The sensors are located at the top of the streetlights and we cannot connect a PC to display the Serial Monitor using the Debug Mode or any other.

I'm going to update the sketch with the recommendations you have made right now and tomorrow morning I'll write you with the results.


Greetings,

Enrique.

Enrique UCLM
Posts: 18
Joined: Wed Apr 24, 2019 11:13 am
Company: UCLM

Re: PPM or PPB

Post by Enrique UCLM » Fri Sep 27, 2019 12:18 pm

I have changed the programming of the sensors as you have indicated me, changing the sentences of ignition of the sensor of temperature, pressure, humidity and luxmeter. In addition, I have also moved the sentences of turning off and on the sensors of the gases, and increasing to 10 minutes the Sleep time before taking the measurements and there is no change in the measurements. What measures do we take right now to solve this problem? Because of the programming can not be because the sensors have exactly the same programming in each of the nodes.
We buy all 4 nodes at once and send one to repair, which works perfectly right now, however, the rest of the sensors give erroneous measurements both Education (154BAAE80593E46D), Barrax (6107AAE80593E4B2) and Government (765A67057C1054A4).

You can have a look at the sensor measurements through the ThingSpeak channels I sent you in a previous POST. The sensors give bad measurements of gases, the node "Educación" has a problem measuring NO2 as it gives very alarming levels ALWAYS (<250 ug/m3 and even 500 ug/m3), the node "Barrax" gives very large levels of O3 (>10000 ug/m3, you could smell and it is not) ALWAYS and the node "Polígono" gives O3 measurements above 300 ug/m3.
The sensor that we sent to repair last time with guarantee had the serial 765A67057C1054A4 (the only one that works perfectly).

What can we do to solve the problem of the affected sensors?

Greetings,

Enrique.

libelium-dev
Posts: 27967
Joined: Mon Sep 28, 2009 1:06 pm

Re: PPM or PPB

Post by libelium-dev » Fri Sep 27, 2019 1:12 pm

Hi,

Could you please share with us the output of the example code that we shared previously with debug mode 2 enabled? Please test the sensors individually. Only connect the gas sensor and the BME to the node.

The O3 sensor called Barrax is reporting wrong values but the other ones are within their precision. The accuracy of the NO2 and O3 sensors is +-0.1ppm in ideal conditions. In addition, the sensors were purchased 10 months ago and every sensor loses a small percentage of its original calibration monthly in a range that may go from 0.5% to 2%.

Regards

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest