Difference between revisions of "Air Sensor"
(20 intermediate revisions by the same user not shown) | |||
Line 32: | Line 32: | ||
The K30 model is the more popular model that are already used in multiple field deployment while the T6713 are chosen due to its miniature size and smaller power requirement compared to the K30. | The K30 model is the more popular model that are already used in multiple field deployment while the T6713 are chosen due to its miniature size and smaller power requirement compared to the K30. | ||
− | |||
− | |||
− | + | Program code: [[File:CO2 Combined.ino|thumb]] | |
− | |||
− | |||
− | |||
− | |||
− | =15 November 2022 = | + | The program requires for a customise version of altsoftserial library when it was coded. The library could be downloaded in here: [[File:AltSoftSerial-1.5.0.3.zip|thumb]] |
+ | It could run with normal library but need to do some modification on the code, have the T6713 sensor run in Serial1 and set the parity mode at SERIAL_8E1. The command code could be sent with the serial.write command | ||
+ | <gallery> | ||
+ | K30.png|K30 Sensor | ||
+ | T6713.png|T6713 Sensor | ||
+ | </gallery> | ||
+ | ==12 July 2021== | ||
+ | Initial testing with the sensor started, The sensor are exposed to ambient air for the initial test.. From the data the reading from the T6713 sensor is a bit higher compared to the k30 which might suggest it need some calibration done. | ||
+ | |||
+ | [[File:CO2 Sensor result 12072021.png|400px|CO2 Sensor result]] | ||
+ | |||
+ | ==17 October 2022== | ||
+ | For testing the sensors, we need to create a gas chamber to contain the type of gas that are detected by the sensor and at a certain ppm value. We use a 1.15 litre lunch box as our container and attached connector to it. | ||
+ | |||
+ | ==10 November 2022== | ||
+ | Turns out the connector that we use is not ideal for the testing as the tubing that the lab used are not ideal for the chamber design as it does not have any method to close the connector when it is not connected to any tubing. | ||
+ | To troubleshoot this problem, we used an existing gas bag connector and replaced it in our mini chamber which composed of a push/pull valve and a septum fitting. | ||
+ | <gallery> | ||
+ | Gas tubing connector.jpg|Initial Tubing Connector | ||
+ | Gas Bag Connector.jpg|New Connector | ||
+ | </gallery> | ||
+ | |||
+ | After we installed the new connector, we added a cord grips to the site as an access for all of the cable that connects between the sensor and the arduino. To reduce the amount of contamination from the air surround the sensor, we put all of the cable in a shrink tube and coated it with some silicon as a sealant. | ||
+ | |||
+ | [[File:Final Gas Chamber Design.jpg|400px|Final Gas Chamber Design]] | ||
+ | |||
+ | ==15 November 2022== | ||
Just found the correct method to force the T6713 into calibration mode, from the manual there's a need to calculate the CRC value. The CRC method that the sensor accepted is the modbus CRC-16 or (Serial 8E1). As it turns out if the sensors just returning 0 after we sending the command, most likely its just didnt recognise the CRC as the correct value. | Just found the correct method to force the T6713 into calibration mode, from the manual there's a need to calculate the CRC value. The CRC method that the sensor accepted is the modbus CRC-16 or (Serial 8E1). As it turns out if the sensors just returning 0 after we sending the command, most likely its just didnt recognise the CRC as the correct value. | ||
− | =17 November 2022= | + | ==17 November 2022== |
We do a testing on two standard level of gas 600 ppm and 2000 ppm. | We do a testing on two standard level of gas 600 ppm and 2000 ppm. | ||
The method that we used is by putting the gas into the chamber while leaving the outlet valve open for a few seconds. and then we closed the chamber while leaving the sensor to log for a view minutes. The data from this two initial value returns us that the T6713 sensors always overshoot the actual ppm value of the gas. This might due to placement issues of the sensor which is quite close to the inlet and may have all of the CO2 gas entrapped inside the sensor causing a bias in reading or the sensor is just not as accurate as the K30. Further testing are required to determine whether the T6713 are usable. | The method that we used is by putting the gas into the chamber while leaving the outlet valve open for a few seconds. and then we closed the chamber while leaving the sensor to log for a view minutes. The data from this two initial value returns us that the T6713 sensors always overshoot the actual ppm value of the gas. This might due to placement issues of the sensor which is quite close to the inlet and may have all of the CO2 gas entrapped inside the sensor causing a bias in reading or the sensor is just not as accurate as the K30. Further testing are required to determine whether the T6713 are usable. | ||
− | + | ||
+ | |||
+ | [[File:663 ppm.png|400px|663 ppm result]] | ||
+ | [[File:2000 ppm.png|400px|2000 ppm result]] | ||
+ | |||
+ | |||
+ | Picture above are the result of the test from the two standard gas in our gas chamber. | ||
+ | |||
+ | When testing with the 663 ppm gas the K30 return the value of 600 ppm while the T6713 return the value 1595 ppm, both value are the result after 5 min interval. | ||
+ | When testing with the 2000 ppm gas the K30 return the value of 1830 ppm while the T6713 return the value of 2906 ppm, both value are the result after 5 min interval. | ||
+ | |||
+ | After doing the 2000 ppm test, we tried to see what happen if we kept the sensor running for an hour or two with the same gas kept at place. | ||
+ | |||
+ | |||
+ | [[File:2000 ppm 2 hr.png|400px]] | ||
+ | |||
+ | |||
+ | From the observation we found a couple interesting notes: | ||
+ | - The K30 reading kept increasing over time which might be caused by the CO2 gas settling in the bottom of the gas chamber due to its heavier mass. | ||
+ | - The T6713 sensor on the other hand its reading kept decreasing albeit in a slower pace compared to the K30. | ||
+ | - The T6713 have some weird reading after having running for a while, having the reading suddenly dropped to 530 ppm for a while then return back to its previous reading point. | ||
+ | |||
+ | |||
+ | We'll try to play around with the logging program as it might need a shutdown & reset period to the sensor to kept it running at max accuracy. | ||
+ | |||
+ | |||
+ | ==2 December 2022== | ||
+ | |||
+ | CO2 test result from using the gas chamber on various level of concentration. Range started from 400 ppm ( ambience air ) until 10,000 ppm. | ||
+ | Notes: | ||
+ | - K30 sensors have a max range of 10,000 ppm, if the gas that are being measured is counted as above that value, it will not measure CO2 concentration above that level. | ||
+ | - T6713 readings are only factory rated until 5000 ppm. | ||
+ | |||
+ | [[File:CO2 Test.png|600px|Gas Test in Chamber Result]] | ||
+ | {| class="wikitable" | ||
+ | !rowspan="2" | No. | ||
+ | !rowspan="2" | Expected Value | ||
+ | !colspan="3" | T67 | ||
+ | !colspan="3" | K30 | ||
+ | |- | ||
+ | ! Measurement | ||
+ | ! Std Dev | ||
+ | ! Std Error | ||
+ | ! Measurement | ||
+ | ! Std Dev | ||
+ | ! Std Error | ||
+ | |- | ||
+ | | 0 || 400 || 452.75 || 3.00 || 0.67 || 466.75 || 0.43 || 0.10 | ||
+ | |- | ||
+ | | 1 || 700 || 771.10 || 4.65 || 1.04 || 726.20 || 17.63 || 3.94 | ||
+ | |- | ||
+ | | 2 || 1000 || 1024.35 || 5.70 || 1.28 || 1017.00 || 1.84 || 0.41 | ||
+ | |- | ||
+ | | 3 || 1533 || 1549.05 || 2.87 || 0.64 || 1681.25 || 7.37 || 1.65 | ||
+ | |- | ||
+ | | 4 || 2000 || 2262.70 || 61.54 || 13.76 || 2058.40 || 24.91 || 5.57 | ||
+ | |- | ||
+ | | 5 || 3000 || 3382.10 || 112.91 || 25.25 || 3095.95 || 43.28 || 9.68 | ||
+ | |- | ||
+ | | 6 || 4000 || 4407.30 || 98.91 || 22.12 || 4080.85 || 46.35 || 10.36 | ||
+ | |- | ||
+ | | 7 || 5000 || 5578.20 || 44.51 || 9.95 || 5136.20 || 25.88 || 5.79 | ||
+ | |- | ||
+ | | 8 || 7000 || 7351.10 || 5.30 || 1.19 || 7508.10 || 57.20 || 12.79 | ||
+ | |- | ||
+ | | 9 || 8333 || 8815.06 || 36.14 || 8.76 || 8547.47 || 3.85 || 0.93 | ||
+ | |- | ||
+ | | 10 || 10000 || 11383.05 || 63.53 || 14.21 || 9988.10 || 17.33 || 3.88 | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==5 December 2022== | ||
+ | Planned to do a retest on the previous experiment and sample the gas to be analysed in the lab for the concentration level, but the T6713 sensor has a calibration issue. | ||
+ | Have tried to do single calibration method to reset the value back to normal couple of times but it still giving a reading of 580 - 600 ppm when the K30 sensor is giving a 400 - 450 ppm reading. | ||
+ | |||
+ | [[File:5 Dec 2022.png|300px]] | ||
+ | |||
+ | For now we'll try to recalibrate the ABC logic built in the board by having it run for 12 hours or more and see the results tomorrow. |
Latest revision as of 03:24, 8 February 2023
Contents
16th September 2020
This series of ongoing updates pertains information regarding the development of a low-cost real-time air quality sensor (AQS).
At the beginning of this project, we utilized various low-cost sensors to measure the concentration of contaminants present in the air. This included carbon monoxide (CO), nitrogen dioxide (NO2), ozone (O3) and sulfur dioxide (SO2), concentration of particulates below 2.5μm (PM2.5) and particulates below 10μm (PM10) as well as the temperature, pressure and humidity of the air.
Plantower PMS5003
The sensor is a 5th generation of PMS sensors developed by Plantower of whom are a leading manufacturer in the development of low-cost particulate sensors. They operate via the laser scattering principle, which has been proven to be the most robust technique for an accurate and precise particulate concentration reading. A test from The World Air Quality Project team demonstrated that the PMS5003 was one of the best sensors for measuring particulate concentration, with readings closely resembling that of the industry standard BAM PM2.5 measurements.
During one of our own tests conducted is proximity to the an air quality sensing station at Box Hill, Victoria demonstrated that the readings were reasonably precise, with the PM2.5 recording between zero and two, and the PM10 recording between zero and three. At these times, the Box Hill monitoring station recorded readings of nine for the PM2.5 and five for the PM10. The difference in the data obtained will most likely be due to the different sensing locations, that is, the AQI sensor is installed in a more populated area with a greater number of vehicles in close proximity, whereas the BoSL sensor was in a more suburban area with less pollution sources nearby.
I'll add info for the rest of the sensors soon!
BoSL team decided it best to experiment with some industry grade gas sensors. The chosen sensors were the alphasense B series sensors for CO, NO2, O3 and SO2. The following potentiostatic circuit was constructed to test the sensors. The design was based off a style of circuit recommended by alphasense in their application notes and implemented with a OP296 dual operational amplifier. This circuit was then constructed to test before being manufactured.
The CO electrochemical gas sensor was then tested. From start up, the sensor begun measuring the analog reading from the CO sensor, registering an analog reading of ~80 that oscillated in the shape of a sin wave. After about a minute, the readings began to fall dramatically until the reading was ~10, then the fall slowed and after a few more minutes the readings reached zero and did not rise again. As a second test, the SO2 sensor was tested and stayed at a constant analog reading of ~60 for numerous minutes. As another test the SO2 sensor was placed behind a car exhaust as it started (highest concentration of SO2 during the startup of the engine, otherwise a negligible proportion of SO2 in the exhaust), this prompted a rise in the readings to ~90 for a period of ~ 10 seconds before the readings read normal again. Upon starting the engine again, the readings did not rise, however this may be due to the engine already being warm. Thus, it cannot be said for certain that the readings rose out of coincidence or actually from the readings, and unfortunately there are not a surplus of safe methods to produce a known amount of SO2 through a chemical reaction of otherwise.
Carbon Dioxide Sensor
This part of the page will focus on the testing of carbon dioxide gas sensor. There are two types of sensors that being tested which are : - Telaire T6713 - Senseair K30
The K30 model is the more popular model that are already used in multiple field deployment while the T6713 are chosen due to its miniature size and smaller power requirement compared to the K30.
Program code: File:CO2 Combined.ino
The program requires for a customise version of altsoftserial library when it was coded. The library could be downloaded in here: File:AltSoftSerial-1.5.0.3.zip
It could run with normal library but need to do some modification on the code, have the T6713 sensor run in Serial1 and set the parity mode at SERIAL_8E1. The command code could be sent with the serial.write command
12 July 2021
Initial testing with the sensor started, The sensor are exposed to ambient air for the initial test.. From the data the reading from the T6713 sensor is a bit higher compared to the k30 which might suggest it need some calibration done.
17 October 2022
For testing the sensors, we need to create a gas chamber to contain the type of gas that are detected by the sensor and at a certain ppm value. We use a 1.15 litre lunch box as our container and attached connector to it.
10 November 2022
Turns out the connector that we use is not ideal for the testing as the tubing that the lab used are not ideal for the chamber design as it does not have any method to close the connector when it is not connected to any tubing. To troubleshoot this problem, we used an existing gas bag connector and replaced it in our mini chamber which composed of a push/pull valve and a septum fitting.
After we installed the new connector, we added a cord grips to the site as an access for all of the cable that connects between the sensor and the arduino. To reduce the amount of contamination from the air surround the sensor, we put all of the cable in a shrink tube and coated it with some silicon as a sealant.
15 November 2022
Just found the correct method to force the T6713 into calibration mode, from the manual there's a need to calculate the CRC value. The CRC method that the sensor accepted is the modbus CRC-16 or (Serial 8E1). As it turns out if the sensors just returning 0 after we sending the command, most likely its just didnt recognise the CRC as the correct value.
17 November 2022
We do a testing on two standard level of gas 600 ppm and 2000 ppm. The method that we used is by putting the gas into the chamber while leaving the outlet valve open for a few seconds. and then we closed the chamber while leaving the sensor to log for a view minutes. The data from this two initial value returns us that the T6713 sensors always overshoot the actual ppm value of the gas. This might due to placement issues of the sensor which is quite close to the inlet and may have all of the CO2 gas entrapped inside the sensor causing a bias in reading or the sensor is just not as accurate as the K30. Further testing are required to determine whether the T6713 are usable.
Picture above are the result of the test from the two standard gas in our gas chamber.
When testing with the 663 ppm gas the K30 return the value of 600 ppm while the T6713 return the value 1595 ppm, both value are the result after 5 min interval. When testing with the 2000 ppm gas the K30 return the value of 1830 ppm while the T6713 return the value of 2906 ppm, both value are the result after 5 min interval.
After doing the 2000 ppm test, we tried to see what happen if we kept the sensor running for an hour or two with the same gas kept at place.
From the observation we found a couple interesting notes:
- The K30 reading kept increasing over time which might be caused by the CO2 gas settling in the bottom of the gas chamber due to its heavier mass.
- The T6713 sensor on the other hand its reading kept decreasing albeit in a slower pace compared to the K30.
- The T6713 have some weird reading after having running for a while, having the reading suddenly dropped to 530 ppm for a while then return back to its previous reading point.
We'll try to play around with the logging program as it might need a shutdown & reset period to the sensor to kept it running at max accuracy.
2 December 2022
CO2 test result from using the gas chamber on various level of concentration. Range started from 400 ppm ( ambience air ) until 10,000 ppm. Notes: - K30 sensors have a max range of 10,000 ppm, if the gas that are being measured is counted as above that value, it will not measure CO2 concentration above that level. - T6713 readings are only factory rated until 5000 ppm.
No. | Expected Value | T67 | K30 | ||||
---|---|---|---|---|---|---|---|
Measurement | Std Dev | Std Error | Measurement | Std Dev | Std Error | ||
0 | 400 | 452.75 | 3.00 | 0.67 | 466.75 | 0.43 | 0.10 |
1 | 700 | 771.10 | 4.65 | 1.04 | 726.20 | 17.63 | 3.94 |
2 | 1000 | 1024.35 | 5.70 | 1.28 | 1017.00 | 1.84 | 0.41 |
3 | 1533 | 1549.05 | 2.87 | 0.64 | 1681.25 | 7.37 | 1.65 |
4 | 2000 | 2262.70 | 61.54 | 13.76 | 2058.40 | 24.91 | 5.57 |
5 | 3000 | 3382.10 | 112.91 | 25.25 | 3095.95 | 43.28 | 9.68 |
6 | 4000 | 4407.30 | 98.91 | 22.12 | 4080.85 | 46.35 | 10.36 |
7 | 5000 | 5578.20 | 44.51 | 9.95 | 5136.20 | 25.88 | 5.79 |
8 | 7000 | 7351.10 | 5.30 | 1.19 | 7508.10 | 57.20 | 12.79 |
9 | 8333 | 8815.06 | 36.14 | 8.76 | 8547.47 | 3.85 | 0.93 |
10 | 10000 | 11383.05 | 63.53 | 14.21 | 9988.10 | 17.33 | 3.88 |
5 December 2022
Planned to do a retest on the previous experiment and sample the gas to be analysed in the lab for the concentration level, but the T6713 sensor has a calibration issue. Have tried to do single calibration method to reset the value back to normal couple of times but it still giving a reading of 580 - 600 ppm when the K30 sensor is giving a 400 - 450 ppm reading.
For now we'll try to recalibrate the ABC logic built in the board by having it run for 12 hours or more and see the results tomorrow.