BME680 wzór przeliczania gas (kOhms) na AIQ - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: BME680 wzór przeliczania gas (kOhms) na AIQ (/watek-bme680-wz%C3%B3r-przeliczania-gas-kohms-na-aiq) |
BME680 wzór przeliczania gas (kOhms) na AIQ - OMK - 10-03-2019 Witam może ktoś poda mi jak przeliczyć odczyt "gas" czujnika BME680 na jakość powietrza. Czytam specyfikację ale nic nie kapuje. Jakieś szkice które wyliczają jakość powietrza nie mogę rozkminić . Może ktoś ma już rozpracowane. Chcę przeliczyć te dane z takiego gotowego szkicu. #include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include "Adafruit_BME680.h" #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10 #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME680 bme; // I2C //Adafruit_BME680 bme(BME_CS); // hardware SPI //Adafruit_BME680 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); void setup() { Serial.begin(9600); while (!Serial); Serial.println(F("BME680 test")); if (!bme.begin()) { Serial.println("Could not find a valid BME680 sensor, check wiring!"); while (1); } // Set up oversampling and filter initialization bme.setTemperatureOversampling(BME680_OS_8X); bme.setHumidityOversampling(BME680_OS_2X); bme.setPressureOversampling(BME680_OS_4X); bme.setIIRFilterSize(BME680_FILTER_SIZE_3); bme.setGasHeater(320, 150); // 320*C for 150 ms } void loop() { if (! bme.performReading()) { Serial.println("Failed to perform reading "); return; } Serial.print("Temperatura = "); Serial.print(bme.temperature); Serial.println(" *C"); Serial.print("Cisnienie = "); Serial.print(bme.pressure / 100.0); Serial.println(" hPa"); Serial.print("Wilgotnosc = "); Serial.print(bme.humidity); Serial.println(" %"); Serial.print("Wysokosc = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Gas = "); Serial.print(bme.gas_resistance / 1000.0); Serial.println(" KOhms"); Serial.println(); delay(5000); } Układ mam na D1 ESP8266 i PME 680 I2C Program to jeden z nielicznych który dał się wgrać i działa. Przykładowe odczyty: Temperature = 24.94 *C Pressure = 992.78 hPa Humidity = 31.18 % Gas = 128.55 KOhms Approx. Altitude = 171.84 m Temperature = 24.94 *C Pressure = 992.76 hPa Humidity = 31.19 % Gas = 129.44 KOhms Approx. Altitude = 172.01 m RE: BME680 wzór przeliczania gas (kOhms) na AIQ - kaczakat - 10-03-2019 Ta biblioteka zwraca raczej gotowe wartości 0-500, no jak są jakieś /100 to może dlatego że wynik jest dokładniejszy, a nikogo nie interesuje Pa tylko hPa czy przez 1000 dla IAQ. Co innego, że każdy czujnik kłamie i wymaga kalibracji/wzorcowania okresowo, a już te od jakości gazu to w szczególności, jak tam zajrzałem do środka to jest kilkadziesiąt parametrów do kalibracji. Dlatego pewnie jednostką jest kOhms, interpretację zostawiając użytkownikom. Możesz sobie nachuchać do pudełka (pooddychać na obiegu zamkniętym, byle nie pluć na czujnik, bo go uszkodzisz), potem iść gdzieś na łąkę wiosną z dala od ludzi i porównać wyniki - taka domowa kalibracja. Do tego dorób skalę z zieloną, żółtą i czerwoną buźką i gotowe. Jak chcesz to mieć w IAQ i miałoby to coś robić to i tak musisz zrobić wzorcowanie, każdy egzemplarz może pokazywać co innego, a po miesiącu/roku znowu się rozjadą. RE: BME680 wzór przeliczania gas (kOhms) na AIQ - OMK - 03-05-2019 (10-03-2019, 14:27)kaczakat napisał(a): Ta biblioteka zwraca raczej gotowe wartości 0-500, no jak są jakieś /100 to może dlatego że wynik jest dokładniejszy, a nikogo nie interesuje Pa tylko hPa czy przez 1000 dla IAQ. Co innego, że każdy czujnik kłamie i wymaga kalibracji/wzorcowania okresowo, a już te od jakości gazu to w szczególności, jak tam zajrzałem do środka to jest kilkadziesiąt parametrów do kalibracji. Dlatego pewnie jednostką jest kOhms, interpretację zostawiając użytkownikom. No chyba aż tak źle z tymi czujnikami to nie jest. Z twojego opisu to wynika że to jakieś nieporozumienie a nie czujnik. Czyli co do kosza i coś z serii laserowych np. 5003 lub 7003? Wiadomo że amatorskie nie będą dokładne. Sama cena już sugeruje że to nie może być super ale czy mamy jakąś alternatywę? RE: BME680 wzór przeliczania gas (kOhms) na AIQ - Jarewa0606 - 03-05-2019 A specyfikacje czujnika czytał ?? sam producent podaje że pomyłka do 20% po kalibracji wzorcowania 5% co i tak jest sporo... RE: BME680 wzór przeliczania gas (kOhms) na AIQ - OMK - 09-05-2019 Znalazłem coś takiego. Wgrałem do 8266. Oczywiście jestem za zielony aby dopisać coś np na Blynka bo odczyt po kablu to nie to. Temperaturę oszukiwał mój czujnik o 4 *C Wilgotność i ciśnienie nawet dobrze. Pomoże ktoś dopisać aby zdalnie można było odczytywać dane. Znaleziony i działający szzkic Kod: /*************************************************************************** |