Difference between revisions of "Testing and hacking the SCD 41"
(→Testing and hacking the SCD 41) |
(→Comparing the different Sensors) |
||
(30 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<< [[CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers]] | << [[CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers]] | ||
+ | |||
+ | [[File:Sensirion_webScreenshot.jpg|800px]] | ||
+ | |||
+ | ===Comparing the different Sensors=== | ||
+ | |||
+ | https://gitlab.com/nanocastro/camara-respiracion-suelo/-/blob/master/Docs/CO2%20sensor%20performance%20test.md | ||
+ | |||
+ | [[File:Nano_sensorTest.jpg|600px]] | ||
+ | |||
+ | [[File:Nano_sensorPerformace.jpg|400px]][[File:rewetted_soil.png|400px]] | ||
+ | |||
+ | === Circuit Python and FeatherS2 === | ||
+ | |||
+ | [[File:ESP32_co2onOLED.jpg|400px]] | ||
+ | |||
+ | [[File:RandePrototype_SCD41_feathers2.jpg|400px]] | ||
+ | |||
+ | See some first notes and experiments here: https://mega.hackteria.org/index.php/s/AzikGk77wAdPdqg | ||
+ | |||
+ | Mbe add even another [https://www.sensirion.com/en/environmental-sensors/gas-sensors/sgp40/ VOC] sensor? | ||
+ | |||
+ | With all the libraries and examples prepared by sensirion and Adafruit, it was easy to connect it all together using the FeatherS2 and CircuitPython. A first prototype is connected and working. | ||
+ | |||
+ | [[File:RandePrototype_SCD41_indoorTest.jpg|400px]] | ||
+ | |||
+ | First measurements look promising, very stable, relatively fast response times. The library is very easy to use, auto-calibration has to be turned off. During the start of the code you can adjust a temperature_offset to calibrate the temp sensor. Additionally you have to adjust the pressure or altitude to where you are doing the measurement, altitude offset (default hardware is 0m). First experiments show that this is pretty crucial, details will have to explored and discussed with the sensirion tech team. | ||
=== Testing and hacking the SCD 41 === | === Testing and hacking the SCD 41 === | ||
Line 20: | Line 46: | ||
File:SCD41_opened_cropped.jpg | File:SCD41_opened_cropped.jpg | ||
File:SCD41_IR_emitter_open_cropped.jpg | File:SCD41_IR_emitter_open_cropped.jpg | ||
+ | File:SCD41_functionalDiagram.jpg | ||
</gallery> | </gallery> | ||
− | Photoacoustic effect is the generation of acoustic waves as a result of light absorption in a material. As an example, consider a laser beam that is passed through a gas sample, which is enclosed in a cell of a constant volume. The laser energy absorbed by the sample molecules leads to local heating of the gas, which causes a pressure increase. If the optical excitation of molecules is done periodically, by modulating the laser power or frequency, also the pressure change is periodic. This acoustic wave at the modulation frequency can be detected with a microphone. The microphone signal is directly proportional to the absorbed power, which makes it possible to determine the concentration of absorbing molecules in the sample. | + | Photoacoustic effect is the generation of acoustic waves as a result of light absorption in a material. As an example, consider a laser beam that is passed through a gas sample, which is enclosed in a cell of a constant volume. The laser energy absorbed by the sample molecules leads to local heating of the gas, which causes a pressure increase. If the optical excitation of molecules is done periodically, by modulating the laser power or frequency, also the pressure change is periodic. This acoustic wave at the modulation frequency can be detected with a microphone. The microphone signal is directly proportional to the absorbed power, which makes it possible to determine the concentration of absorbing molecules in the sample. ''Taken from [https://www2.helsinki.fi/en/researchgroups/laser-spectroscopy/research/photoacoustics this source on laser spectroscopy]'' |
− | === | + | === Designing UROŠ - CO2 brkout PCB === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[File:UROS_CO2-brkout_BackFront.png|400px]] | [[File:UROS_CO2-brkout_BackFront.png|400px]] | ||
Line 39: | Line 60: | ||
The files "as ordered" are available on github: https://github.com/GenericLab/UROS-CO2_brkout | The files "as ordered" are available on github: https://github.com/GenericLab/UROS-CO2_brkout | ||
+ | |||
+ | It arrived!!! | ||
+ | |||
+ | [[File:UROS_pcb_foto2.jpg|400px]][[File:UROS_pcb_foto1.jpg|400px]] | ||
+ | |||
+ | === UROŠ - CO2 brkout PCB reflow soldering === | ||
+ | |||
+ | [[File:First_reflowed_UROS_CO2-board.jpg|800px]] | ||
+ | |||
+ | We managed to reflow a first working version of our own PCB!!! | ||
+ | |||
+ | Just un-flowed from the original Sensirion break-out board using our nice little reflow hotplate. Cos we didn't have proper reflow solder paste, we just tinned all the pads with normal solder, and wigged it off to create a very thin flat layer of solder on all the copper for the SCD41 sensor. Then mounted the sensor and back onto the hotplate, using 220 / 250 °C, and after it seemed to have settled down into the molten solder, we took the board off and cooled it down. | ||
+ | |||
+ | Then we soldered the remaining parts, some resistors for pull-up on the I2C channel, LED and a NeoPixel on the backside. | ||
+ | |||
+ | [[File:UROS_CO2-board_back.jpg|400px]] | ||
+ | |||
+ | Wiring it up, connecting the I2C connection and the extra wire for the neo-pixel.... It works!! | ||
+ | |||
+ | [[File:First_working_CO2-board.jpg|400px]] | ||
=== Minting UROŠ - CO2 brkout as NFT on OpenSea === | === Minting UROŠ - CO2 brkout as NFT on OpenSea === | ||
Line 45: | Line 86: | ||
Go to [https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/90391030997498965772584501577568290004601977637822365059467798043890102042625 OpenSea NFT marketplace] | Go to [https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/90391030997498965772584501577568290004601977637822365059467798043890102042625 OpenSea NFT marketplace] | ||
+ | |||
+ | === Serial Plotter and how to get dedicated soil resp data === | ||
+ | |||
+ | Started to use [https://snapcraft.io/tauno-serial-plotter this tool tauno-serial-plotter] to plot data and export .png or .csv for further analysis / storage. | ||
+ | |||
+ | [[File:export_blowTest2.png|400px]] |
Latest revision as of 14:51, 24 June 2022
<< CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers
Contents
Comparing the different Sensors
Circuit Python and FeatherS2
See some first notes and experiments here: https://mega.hackteria.org/index.php/s/AzikGk77wAdPdqg
Mbe add even another VOC sensor?
With all the libraries and examples prepared by sensirion and Adafruit, it was easy to connect it all together using the FeatherS2 and CircuitPython. A first prototype is connected and working.
First measurements look promising, very stable, relatively fast response times. The library is very easy to use, auto-calibration has to be turned off. During the start of the code you can adjust a temperature_offset to calibrate the temp sensor. Additionally you have to adjust the pressure or altitude to where you are doing the measurement, altitude offset (default hardware is 0m). First experiments show that this is pretty crucial, details will have to explored and discussed with the sensirion tech team.
Testing and hacking the SCD 41
Checking the PCB and the footprint to plan our own reflowing of PCB
Opening up the sensor
What is inside? As described on the sensirion product page, the new sensor works on the "photo-accoustic effect". So it's similar, but also a different method, than other NDIR sensors.
It's pretty easy to understand what's under the hood for the SCD41. There is a signal-processor, to read and control the sensor components and communicate to the outside via I2C, there is the "classic" SH40 temperature & humidity sensor, and now... There is an IR emmiter with a dedicted filter on it and a MEMS microphone. Everything is enclosed within a small metal case, with a hole to the outside world and a particle filter stuck onto it.
Photoacoustic effect is the generation of acoustic waves as a result of light absorption in a material. As an example, consider a laser beam that is passed through a gas sample, which is enclosed in a cell of a constant volume. The laser energy absorbed by the sample molecules leads to local heating of the gas, which causes a pressure increase. If the optical excitation of molecules is done periodically, by modulating the laser power or frequency, also the pressure change is periodic. This acoustic wave at the modulation frequency can be detected with a microphone. The microphone signal is directly proportional to the absorbed power, which makes it possible to determine the concentration of absorbing molecules in the sample. Taken from this source on laser spectroscopy
Designing UROŠ - CO2 brkout PCB
PCB (printed circuit board) breakout board for CO2 sensor (SCD41), NEO-pixel (WS2812B) and I2C interface (JST-SH4)
Designed with open source software: Kicad, Inkscape and svg2shenzhen
The files "as ordered" are available on github: https://github.com/GenericLab/UROS-CO2_brkout
It arrived!!!
UROŠ - CO2 brkout PCB reflow soldering
We managed to reflow a first working version of our own PCB!!!
Just un-flowed from the original Sensirion break-out board using our nice little reflow hotplate. Cos we didn't have proper reflow solder paste, we just tinned all the pads with normal solder, and wigged it off to create a very thin flat layer of solder on all the copper for the SCD41 sensor. Then mounted the sensor and back onto the hotplate, using 220 / 250 °C, and after it seemed to have settled down into the molten solder, we took the board off and cooled it down.
Then we soldered the remaining parts, some resistors for pull-up on the I2C channel, LED and a NeoPixel on the backside.
Wiring it up, connecting the I2C connection and the extra wire for the neo-pixel.... It works!!
Minting UROŠ - CO2 brkout as NFT on OpenSea
Go to OpenSea NFT marketplace
Serial Plotter and how to get dedicated soil resp data
Started to use this tool tauno-serial-plotter to plot data and export .png or .csv for further analysis / storage.