06-15-2023 03:19 PM
Hi,
We have a project to study gas emission from cooking activity in a tropical country, to determine its affect on women health. We would like to try the gas scan function of the BME688s to find the VOCs "fingerprint" when people use different fuel materials (as cow dung, wood, kerosel, etc) and the cooking foods. For this purpose of trying to distinguish gases emission from cooking activities at different areas, after reading on this forum and some publications, I think about applying a heater profile and log as much data as posible. We have a 32 GB SD card. I use "bme68xLibrary.h"
// /* Heater temperature in degree Celsius */
uint16_t tempProf[22] = {400, 100, 400, 125, 400, 150, 400, 175, 400, 200, 400, 250, 400, 275, 400, 300,400, 325, 400, 350, 400, 375};
// /* Heating duration in millismillisseconds */
uint16_t durProf[22] = { 5000, 7000, 5000, 7000,5000, 7000, 5000, 7000, 5000,7000,5000,7000, 5000,7000,5000,7000,5000,7000,5000,7000, 5000,7000};
However, the MKR got frozen after run in the function bme.setHeaterProf(tempProf, durProf, 22);
Then I tried with the force mode,
bme.setHeaterProf(temp, 5000); // Set the gas heater temperature and duration
It takes 4040 ms for bme.fetchData() == 1, and the bme.getData(data) only return a value of data.gas_resistance; the arduino code is in attachment. I wonder if there is a possibility to record all gas resistance values over the heater profile cycle.
Thanks in advance. I really appreciate for all suggestion and recommendation.
Solved! Go to Solution.
06-25-2023 11:37 AM
Hi DN_LiU,
If you define your own heater profile, you need to note that it supports up to 10 temperature steps. Your 22 temperature steps need to be changed to 10. Otherwise, the heater profile will not be executed correctly.
06-26-2023 11:32 AM
Hi Robin, Thanks for your response, and to follow up, how can I log the gas resistance values at these 10 temperature steps? My code as below:
BME68x I2C 0x77 begin
Set SeqSleep
Set seq mode
Done Set heatprofile
3146707, 0, 31.10, 100518.80, 31.89, 6400000.00, 80, 15
06-27-2023 09:32 AM
Hi DN_LiU,
For temperature, it's better to set from 200 to 400, and for duration, it's better from 30 to 4032ms.
06-27-2023 11:39 AM
Thanks Robin for your recommendation. To be able to record the gas resistance value of your recommendation heater profile:
/* Heater temperature in degree Celsius */
uint16_t tempProf[10] = {400, 200, 225, 250, 275, 300, 325, 350, 375, 400};
24278, 33.04, 99813.79, 34.93, B0 400C: 126952.64, 936 ms 200C: 6863846.00, 1023 ms 225C: 2834602.00, 1033 ms 250C: 1507545.12, 1033 ms 275C: 821335.50, 1033 ms 300C: 472651.75, 1033 ms 325C: 256000.00, 1022 ms 350C: 156958.92, 1033 ms 375C: 114669.66, 1033 ms 400C: 101446.41,
43584, 33.08, 99813.24, 33.68, B0 400C: 129949.24, 936 ms 200C: 6991252.50, 1022 ms 225C: 2913229.00, 1033 ms 250C: 1528643.37, 1033 ms 275C: 820841.69, 1033 ms 300C: 469724.78, 1033 ms 325C: 251473.48, 1022 ms 350C: 154963.69, 1033 ms 375C: 112775.33, 1032 ms 400C: 97728.57,
62889, 33.13, 99814.62, 35.31, B0 400C: 123462.74, 936 ms 200C: 6574639.00, 1022 ms 225C: 2740716.00, 1033 ms 250C: 1444287.75, 1033 ms 275C: 802507.81, 1033 ms 300C: 463034.13, 1023 ms 325C: 251658.89, 1033 ms 350C: 156383.63, 1033 ms 375C: 114746.75, 1033 ms 400C: 101870.27,
82195, 33.13, 99814.91, 33.38, B0 400C: 131551.91, 935 ms 200C: 7620465.00, 1022 ms 225C: 3246285.00, 1033 ms 250C: 1681100.00, 1033 ms 275C: 911843.25, 1033 ms 300C: 519401.47, 1022 ms 325C: 277883.31, 1033 ms 350C: 168587.42, 1033 ms 375C: 121962.84, 1033 ms 400C: 106113.99,
101501, 33.14, 99812.82, 32.57, B0 400C: 134242.27, 935 ms 200C: 7884504.50, 1022 ms 225C: 3351882.25, 1033 ms 250C: 1724631.62, 1033 ms 275C: 927326.25, 1033 ms 300C: 532362.88, 1022 ms 325C: 281318.69, 1033 ms 350C: 171812.08, 1033 ms 375C: 122576.01, 1033 ms 400C: 106844.74,
120807, 33.12, 99814.49, 32.48, B0 400C: 135092.34, 936 ms 200C: 8059026.00, 1022 ms 225C: 3406237.00, 1033 ms 250C: 1753424.62, 1033 ms 275C: 958577.13, 1033 ms 300C: 544680.88, 1033 ms 325C: 288939.06, 1022 ms 350C: 174446.34, 1033 ms 375C: 125736.74, 1033 ms 400C: 108474.58,
140112, 33.10, 99815.96, 32.36, B0 400C: 135413.91, 936 ms 200C: 8241448.50, 1022 ms 225C: 3482253.00, 1033 ms 250C: 1791384.25, 1033 ms 275C: 974310.19, 1033 ms 300C: 553513.50, 1022 ms 325C: 294168.34, 1033 ms 350C: 177716.08, 1033 ms 375C: 127331.51, 1033 ms 400C: 109589.04,