Humidity sensor on exhaust - other gas sensors ? - Page 6

Discuss roast levels and profiles for espresso, equipment for roasting coffee.
randytsuch
Posts: 502
Joined: 15 years ago

#51: Post by randytsuch »

I decided to give this a try, but ordered a generic SGP30 board because I'll hand connect it to an ESP32.
But this will be sitting next to my SCTO setup, so we will see how that works. I normally roast in my garage, with the door open right by the opening. So lots of fresh air.

Looking at the SGP30, saw that it is obsolete
https://sensirion.com/products/catalog/SGP30

Its been replaced by the SGP40, but the 40 returns different data, a 0-500 VOC number.

There might be are a bunch of 30's still out in the wild, no problem finding them right now.

Randy

Esteve (original poster)
Supporter ♡
Posts: 67
Joined: 1 year ago

#52: Post by Esteve (original poster) »

I see. Thanks! So far I am only doing the humidity correction.

My baseline values are : eCO2: 0x81B0 & TVOC: 0x82AF quite a difference.

In a steady run, no exhausts I assume this bring the sensor to read always 0 ? And basically go back to the calibrated baseline. Correct?

Advertisement
ira
Team HB
Posts: 5525
Joined: 16 years ago

#53: Post by ira »

If you use the "Code" button, the indents will stay. That's the "</>" button above the message editor. You do get Courier, but that's typical for code formatting.
with open("/Log.csv", "a") as Log:
while True:
	T = sensor.temperature
	RH = sensor.relative_humidity
	TVOC = sgp30.TVOC
	eCO2 = sgp30.eCO2
	sgp30.set_iaq_relative_humidity(celsius=T, relative_humidity=RH)
	sgp30.set_iaq_baseline(0x92c3, int(hex(int(BaseTVOC - .02 * TVOC))))
	TC = mcp.temperature

GDM528
Posts: 850
Joined: 2 years ago

#54: Post by GDM528 »

randytsuch wrote:Looking at the SGP30, saw that it is obsolete
https://sensirion.com/products/catalog/SGP30

Its been replaced by the SGP40, but the 40 returns different data, a 0-500 VOC number.

There might be are a bunch of 30's still out in the wild, no problem finding them right now.
Yeah, I saw there's maybe less than a thousand SGP30's left in the channel (DigiKey has 838), but I was just trying to put a 'toe in the water' to see if there's any potential in making the measurement at all. Longer term a better sensor will surface, but the SGP30 has been pretty workable for me so far.

The SGP40 not only over-simplifies the gas reading, it doesn't have a baseline override that I'm finding critical to keeping the SGP30 from oversaturating at first crack. There are sensors for much higher concentrations, but they cost considerably more.

For me, it remains to be seen what 'effluents' should be measured: moisture, CO2, TVOC, NOx, etc. But if there's a few peeps out there collecting the data it should become apparent over time. Happy to see you diving in!

GDM528
Posts: 850
Joined: 2 years ago

#55: Post by GDM528 »

Esteve wrote:In a steady run, no exhausts I assume this bring the sensor to read always 0 ? And basically go back to the calibrated baseline. Correct?
It's not clear to me if the baseline correction is in the chip, or in the software drivers. Regardless, the loop will try to drive the TVOC to 0 and eCO2 to 400, aka 'normal' atmosphere. As far as I'm concerned they're just numbers, but only useful as long as they stay within the range of 0 to 60,000.

I've abandoned any hope of making 'accurate' measurements of actual gas concentrations, given all the variables that will affect the readings. Changing the airflow in the IKAWA will change the relative concentrations of TVOC and CO2: airflow == dilution. Likewise for anyone taking readings from a drum roaster. So, I think it's all about the shape of the curves, and there may be interesting things going on early in the roast when the TVOC and CO2 readings are relatively low.

GDM528
Posts: 850
Joined: 2 years ago

#56: Post by GDM528 »

ira wrote:If you use the "Code" button, the indents will stay. That's the "</>" button above the message editor. You do get Courier, but that's typical for code formatting.
Thank you!!

Esteve (original poster)
Supporter ♡
Posts: 67
Joined: 1 year ago

#57: Post by Esteve (original poster) »

Here is my first data, without implementing the calibration change, so TVOC saturates/clips. One thing that bothers me is how TVOC and eCO2 measures correlate, is one just a function of the other inside the chip?

The eCO2 and TVOC are on the right axis in a log format. Funny how similar to GDM528's they are.

Regarding SGP30, with the existing libraries, it is really easy to work with.




Advertisement
ira
Team HB
Posts: 5525
Joined: 16 years ago

#58: Post by ira »

One thing to try if you can figure it out, is to create 2 pumps that move a known volume of air so you can accurately dilute the stream.

GDM528
Posts: 850
Joined: 2 years ago

#59: Post by GDM528 »

Esteve wrote:One thing that bothers me is how TVOC and eCO2 measures correlate, is one just a function of the other inside the chip?

The eCO2 and TVOC are on the right axis in a log format. Funny how similar to GDM528's they are.
According to the spec, the sensors are actually for ethanol and H2. They don't spell it out, but the equivalent-CO2 readout might be calculated from both sensors, which could lead to them tracking each other so closely - maybe this is why they're obsoleting the chip...

My setup heats the sensor quite a bit more than yours, and I observe a significant ramp-up in the readings (4,000 to 7,000) during an empty-chamber run. That temperature sensitivity (for both sensors) could be overwhelming the readings and contributing to them looking the same.

I've been hoping the CO2 data would measure a different type of chemistry than TVOC. It would be awesome to gather Mailliard-phase data separately from development phase. Eventually switching to a legitimate CO2 sensor may be what it takes to settle that question.

Happy to see you're getting similar results, yay! And your curve shapes are different for your different thermal profiles too. That may bode well for this being more than just an alternative first-crack detector.

For the Gesha, you marked first crack well before the TVOC and eCO2 curves leveled off - was that just one or two cracks, or did it really kick in that early?

Is "Dry" when the BT hits 160C? From the gas curves it looks like dry-end might have started closer to the 2:30 mark.

Esteve (original poster)
Supporter ♡
Posts: 67
Joined: 1 year ago

#60: Post by Esteve (original poster) »

GDM528 wrote: For the Gesha, you marked first crack well before the TVOC and eCO2 curves leveled off - was that just one or two cracks, or did it really kick in that early?
I believe it was the "right" FC, I marked after 3 or 4 cracks. The logging app has a button, when I press it , it records the timestamp that is used to plot that vertical line. The first pop happens a few seconds earlier. The Gesha with this profile is really loud with many pops. In comparison the Burundi bean and profile is much quieter.

Burundi is one of the coffees that came with the IKAWA, so it might be a bit older. Got the IKAWA end of January... And was roasted with a slightly modified version of the Filter profile provided by IKAWA.

The Gesha is one that I picked recently in a trip https://smartstore.naver.com/bpcommerce ... 7661549626 . So far wonderful coffee but I am struggling to make a profile that gives most of the floral notes.
GDM528 wrote: Is "Dry" when the BT hits 160C? From the gas curves it looks like dry-end might have started closer to the 2:30 mark.
Correct, it is done on the frontend, when BT hits 160C it marks as Dry. And I agree with your observation, it looks like CO2 release starts at the end of the Dry phase. (more clear in the Gesha than Burundi)

Also, the way I have placed the PT1000 sensor, it is more of an ET probe. So 160ºC ET happens latter than 160ºC BT.

The placement as ET is because I wanted to mimic the sensor location from the IKAWA PRO, so I could use their profiles. It is true that it allows me that, but I have only used a couple of times... as fine tuning inlet temperature to match an ET profile is quite a process...
GDM528 wrote: My setup heats the sensor quite a bit more than yours, and I observe a significant ramp-up in the readings (4,000 to 7,000) during an empty-chamber run. That temperature sensitivity (for both sensors) could be overwhelming the readings and contributing to them looking the same.
On a totally empty chamber when warming up the roaster before first roast I get: Starting sensor temperature 27ºC, ending 44ºC. eCO2 stable at 402ppm , TVOC starting at 7ppb climbing up to 150ppb. Those are quite similar to full runs just before charging the beans into the chamber. On full runs after warming up sensor temperature is quite stable at around 40ºC.