От мобилни телефони до цифрови камери
brum - майстор
Както всички други сензори. Сравняваш показанията му спрямо референтен термометър и записваш отклонения при 0 и 30 градуса (примерно). После правиш корекции. И тъй като истински референтен термометър е трудно да се открие трябва да търсиш нещо на което да имаш вяра и да го избереш за референтен. За тия цели съм ползвал термометър за температура (детски, инфрачервен) който може да мери от 0 до 100 градуса и са му дадени отклоненията в различните диапазони.

По аналогичен начин за влажността, но не с термометър, а със соли. Едната може да е обикновена готварска сол (натриев хлорид, 75% влажност), другата магнезиев хлорид (33%). В интернет има информация какъв е процеса. Само да наблегна, че за тая част е изключително влажно контейнера в който е сензора да е херметически затворен. И най-малката пролука пречи да се стабилизира влажността.

На по-лъскавите им сензори има вградени в библиотеката корекции (примерно BME680). В по-базовите като BME280 май нямаше. Там се добавят няколко сметки по данните идващи от сензора.

Иначе самият сензор си идва уж калибриран от фабриката. Всеки BME280 има записани калибровъчни данни от производителят в него. Повечето драйвери ги четат и ги използват за корекции на суровите данни идващи от сензора. Реално потребителят суровите данни не ги вижда, а вижда данните след като са коригиране.

След няколко ЛС-та с torbalan се оказа, че неговите работят доста добре без калибриране. Има вариант при мен да са проблемите, защото ги запоявам тези сензори. Колкото и да се старая да следвам процедурите по документацията за тая работа най-вероятно има разминавания и предполагам, че ги прегрявам. Но дори и без запояване - в момента в който ги сложиш в кутия калибрирането става нужна, защото околните компоненти качват температурата с малко или много. С капак и без капак на кутията в която седяха сензорите разликите по спомени бяха 3-4 градуса. При няколкото AQ монитора които съм разглобил бяха доста очевадни опитите да се изолира сензора от влиянието на другите компоненти.
nikolovvd - майстор
ср юни 03, 2020 11:52 pmbrum написа:

Всеки BME280 има записани калибровъчни данни от производителят в него. Повечето драйвери ги четат и ги използват за корекции на суровите данни идващи от сензора. Реално потребителят суровите данни не ги вижда, а вижда данните след като са коригиране.
За това попитах, защото никъде не намерих информация за ВМЕ280, който използвам. Пише, че е калибриран в завода. Ползвам готови модули със запоен чип, за да не го "убия" с поялника.
Това не пречи да се направят корекции на прочетените данни в програмата. По подобен начин се изчислява температурата по Фаренхайт.
Комуникацията по IIC шина пък дава възможност за изнасяне на сензора извън кутията с разумно дълъг кабел.
torbalan - Дървен философ
Аз използвам Adafruit_BME280. Гледам, че в драйвера четат някакви данни за калибрация от чипа.
И надолу ги ползват при пресмятането на данните.

https://github.com/adafruit/Adafruit_BM ... BME280.cpp

_bme280_calib
brum - майстор
Факт, можеш да го изнесеш извън кутията. Ама тоя сензор е с тия размери и корпус за да можеш и в часовник да го събереш. Не е мислен да го вадиш с кабел извън корпуса на устройствата.

Ако ще го вадиш от кутия по-добре ползвай DS18B20. Има варианти дето да е в метален корпус и да е водоустойчив.

Не задълбавайте в офсетите и калибрацията от сега. Тия неща си идват от само себе си с еволюцията на устройствата. Още повече ако не се наблюдават отклонения в момента. Мен лично тоя факт ме накара да преосмисля подхода с запояването на сензорите и да работя върху подобряването му. Щом китаеца го може ще гледам и аз да се науча.

И като говорим за тия сензори да споделя моето решение за събиране на данните. InfluxDB е част от цялата картинка. Над него има Grafana за визуализация и аларми. Пример за аларма е високо ниво на CO2 или финни прахов частици. Идеята е да може да се предприемат правилните действия (отваряне на прозорец, пускане на air purifier). Алармите бяха до преди 2 години - тогава изградих вентилация с рекуператор и спрямо нивата на CO2 и часа вентилацията се контролира автоматично. Сложих хепа филтър и такъв с активен въглен на входа на вентилацията за да реша проблема с мръсният въздух зимно време.

Сензорите не са постоянно свързани в WiFi мрежата за да се намали електромагнитното замърсяване. Данните се трупат в паметта и при определени условия се пращат към базата. Задава се допустимо отклонение от последната изпратена стойност към базата и ако то бъде достигнато WiFi-я се пали, данните се изпращат и после се гаси. Ако в рамките на 30 минути не се достигне до такова условие данните пак се изпращат към базата.

За настройка на сензорите се използва web интерфейс вграден в самият контролер. Първите 30 минути след включване на сензора не гаси WiFi-я за да има достъп до интерфейса.

А при съвсем първо палене или при неуспех за свързване към WiFi-я сензора се пали в access point режим. От там се вкарват SSID-то и паролата за WiFi-я.

Туй по-горе е като идеи ако някой реши да развива станциите си.

А за драйверите - тия дето са на Bosch Sensortec са най-читаво написани. Малко по-трудно е да се подкарат в началото, ама после са си благинка. И за BME280„ и за BME680.
nikolovvd - майстор
ВМЕ280 след 4-5 години работа на открито, в смисъл извън затворено помещение, даде дефект като спря да отчита правилно влажността. Останалите параметри бяха в граници.
При тази цена въобще не му "цепя басма". :-D
resistbody - майстор
ср юни 03, 2020 11:52 pmbrum написа:
При няколкото AQ монитора които съм разглобил бяха доста очевадни опитите да се изолира сензора от влиянието на другите компоненти.
При мойте опити с "учебни" бордове за есп-01 го забелязах, греенето на есп модула влияе доста на данните... но там всичко беше с учебна цел... сега чакам bme680 и sth21 за разни тестове..

Тема "ESP32 & BME280" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: