Публікація датчика твердих часток ESP-01S
Посібник користувача
Публікація датчика твердих часток ESP-01S
Публікація даних датчика твердих частинок в Adafruit IO за допомогою Maker Pi Pico та ESP-01S
від kevinjwalters
У цій статті показано, як опублікувати дані з трьох недорогих датчиків твердих частинок у службі Adafruit IO IoT за допомогою Cytron Maker Pi Pico, що запускає програму CircuitPython, яка передає вихідні дані датчиків через Wi-Fi за допомогою модуля ESP-01S, на якому працює AT rmware.
ВООЗ визначає тверді частинки PM2.5 як одну з найбільших екологічних небезпек для здоров’я, оскільки 99% населення світу проживає в місцях, де у 2019 році не відповідали вимогам ВООЗ щодо якості повітря. За оцінками, це спричинило 4.2 мільйона передчасних смертей. у 2016 році.
У цій статті показані три датчики твердих часток:
- Plantower PMS5003 за допомогою послідовного підключення;
- Sensirion SPS30 з використанням i2c;
- Omron B5W LD0101 з імпульсними виходами.
Ці оптичні датчики схожі на ті, які є в одному типі побутової димової сигналізації, але вони не можуть підрахувати частинки різного розміру, а не просто сигналізувати про порогову концентрацію.
PMS5003 на основі червоного лазера є широко використовуваним датчиком для любителів і його можна знайти в датчику якості повітря PurpleAir PA-II. SPS30 є новішим датчиком, який використовує той же принцип, і його можна знайти в датчику якості повітря Clarity Node-S. Інфрачервоний світлодіодний датчик B5W LD0101 має більш примітивний інтерфейс, але корисний завдяки своїй здатності виявляти частинки розміром понад 2.5 мікрона – два інші датчики не можуть надійно виміряти їх.
Adafruit IO пропонує безкоштовний рівень з обмеженою кількістю каналів і інформаційних панелей – вони достатні для цього проекту. Безкоштовні дані рівня зберігаються протягом 30 днів, але дані можна легко завантажити.
Плата Maker Pi Pico в цій статті виглядає якample Cytron люб'язно надіслав мені для оцінки. Єдиною відмінністю від серійної версії є додавання пасивних компонентів для захисту трьох кнопок.
Модуль ESP-01S, імовірно, потребуватиме оновлення AT rmware. Це відносно складний процес, який може зайняти багато часу. Cytron продає модуль із відповідним AT rmware на ньому.
Датчик Omron B5W LD0101, на жаль, припинено виробником з останніми замовленнями в березні 2022 року.
Постачання:
- Cytron Maker Pi Pico – Digi-key | PiHut
- ESP-01S – плата Cytron поставляється з відповідним ATrmware.
- USB-адаптер/програматор ESP-01 з кнопкою скидання – Cytron.
- Макетна дошка.
- Мінімальна довжина дроту між жінками та чоловіками, можливо, 20 см (8 дюймів).
- Plantower PMS5003 з кабелем і адаптером макетної плати – Adafruit
- або адаптер для макетної плати Plantower PMS5003 + Pimoroni – Pimoroni + Pimoroni
- Sensirion SPS30 – цифровий ключ
- Sparkfun SPS30 JST-ZHR кабель до 5 штифтів – Digi-key
- 2x 2.2k резистори.
- Omron B5W LD0101 – Mouser
- Кабель Omron описується як джгут (2JCIE-HARNESS-05) – Mouser
- 5-контактний штекер (для адаптації кабелю до макетної плати).
- Альтернативою паянню можуть бути затискачі типу «крокодил» (алігатор).
- 2x 4.7k резистори.
- 3x 10k резистори.
- Конденсатор 0.1 мкФ.
- Живлення акумулятора для Omron B5W LD0101:
- Тримач батареї 4AA для акумуляторів NiMH (кращий вибір).
- або тримач батареї 3AA для лужних батарей.
- Блок живлення USB може бути корисним, якщо ви хочете бігти на вулицю подалі від джерела живлення USB.
Крок 1: USB-програматор для оновлення Flash на ESP-01S
Модуль ESP-01S навряд чи постачатиметься з відповідним програмним забезпеченням AT, якщо тільки він не від Cytron. Найпростіший спосіб оновити це за допомогою настільного комп’ютера Windows або ноутбука з USB-адаптером, який підтримує запис і має кнопку скидання.
На жаль, дуже поширений безбрендовий адаптер, який часто описують як щось на зразок «ESP-01 Programmer Adapter UART», не має кнопок або перемикачів для керування ними. Відео вище показує, як це можна швидко повторити
з деякими імпровізованими перемикачами, виготовленими з двох перемичок «папа-жінка», розрізаних надвоє та припаяних до контактів на нижній стороні плати програматора. Альтернативний підхід до цього за допомогою макетної плати можна побачити в Hackaday:
ESPHome на ESP-01 Windows Workflow.
https://www.youtube.com/watch?v=wXXXgaePZX8
Крок 2: Оновлення мікропрограми ESP-01S за допомогою Windows
Термінальна програма, як-от PuTTY, може використовуватися з програматором ESP-01 для перевірки версії мікропрограми. Програмне забезпечення робить ESP8266 схожим на модем із командами, натхненними набором команд Hayes. Команда AT+GMR AT+GMR показує версію прошивки.
AT+GMR
Версія AT: 1.1.0.0 (11 травня 2016 р. 18:09:56)
Версія SDK: 1.5.4 (baaeaebb)
час компіляції: 20 травня 2016 15:08:19
У Cytron є посібник із описом того, як застосувати оновлення мікропрограмного забезпечення за допомогою Espressif Flash Download Tool (тільки для Windows) на GitHub: CytronTechnologies/esp-at-binaries. Cytron також надає копію двійкового файлу rmware Cytron_ESP-01S_AT_Firmware_V2.2.0.bin.
Після успішного оновлення нове програмне забезпечення буде позначено як версія 2.2.0.0
AT+GMR
Версія AT: 2.2.0.0 (b097cdf – ESP8266 – 17 червня 2021 р. 12:57:45)
Версія SDK: v3.4-22-g967752e2
час компіляції (6800286): 4 серпня 2021 р. 17:20:05
Версія Bin: 2.2.0 (Cytron_ESP-01S)
Програма командного рядка під назвою esptool доступна як альтернатива для програмування ESP-8266S на основі ESP01 і може використовуватися в Linux або macOS.
Програмне забезпечення на ESP-01S можна протестувати на Maker Pi Pico за допомогою Cytron's simpletest.py. Це надсилає пінг ICMP до відомої служби в Інтернеті кожні 10 секунд і показує час зворотного зв’язку (rtt) у мілісекундах. Для цього потрібен secrets.py file з Wi-Fi SSID (ім’я) і пароль – це описано далі в цій статті.
ДОБРОПОГАНО
Крок 3: Підключення датчиків
Для підключення трьох датчиків і моніторингу об’єму використовувалася макетна плата половинного розміруtage від чотирьох акумуляторів NiMH. Додається фотографія високої роздільної здатності повного налаштування вище, а в наступних кроках описано, як підключити кожен датчик.
Рейки живлення на макетній платі живляться від Pi Pico
- VBUS (5 В) і GND до рейок живлення зліва
- 3V3 і GND праворуч.
Рейки живлення позначені поруч червоною лінією для позитивної шини та синьою для негативної (або заземленої) шини. На повнорозмірній макетній платі (830 отворів) вони можуть мати верхній набір рейок, які не з’єднані з нижнім набором рейок.
Батареї використовуються лише для живлення Omron B5W LD0101, якому потрібна постійна гучністьtagд. Живлення USB від комп’ютера часто шумить, що робить його непридатним.
Крок 4: Підключення Plantower PMS5003
Plantower PMS5003 вимагає живлення 5 В, але його послідовний інтерфейс у стилі TTL безпечний для 3.3 В. Зв'язки з
PMS5003 через комутаційну плату до Pi Pico:
- VCC до 5 В (червоний) через рядок 6 до 5 В;
- GND до GND (чорний) через ряд 5 до GND;
- SET на EN (синій) через рядок 1 до GP2;
- RX до RX (білий) через рядок 3 до GP5;
- TX до TX (сірий) через рядок 4 до GP4;
- RESET до RESET (фіолетовий) через рядок 2 до GP3;
- NC (не підключено);
- NC
Технічний паспорт містить попередження про металевий корпус.
Металева оболонка підключена до GND, тому будьте обережні, щоб не закоротити [sic] з іншими частинами схеми, крім GND.
Компонент зазвичай постачається з синьою пластиковою плівкою на корпусі, щоб захистити поверхню від подряпин, але на це не варто покладатися для електричної ізоляції.
Крок 5: Підключення Sensirion SPS30
Sensirion SPS30 вимагає живлення 5 В, але його інтерфейс i2c безпечний для 3.3 В. Єдиними додатковими компонентами є два резистори по 2.2 кОм, які виконують функцію підтягування шини i2c. З’єднання від SPS30 до Pi Pico:
- VDD (червоний) на рейку 5V5V;
- SDA (білий) до GP0 (сірий) через ряд 11 з резистором 2.2 кОм до шини 3.3 В;
- SCL (фіолетовий) до GP1 (фіолетовий) через рядок 10 з резистором 2.2 кОм до шини 3.3 В;
- SEL (зелений) до GND;
- GND (чорний) до GND.
Щоб належним чином вставити його в SPS30, потрібно сильно натиснути на роз’єм на проводі.
SPS30 також підтримує послідовний інтерфейс, який Sensirion рекомендує в таблиці даних.
Слід звернути увагу на використання інтерфейсу I2C. I2C спочатку був розроблений для з'єднання двох мікросхем на друкованій платі. Коли датчик підключений до основної друкованої плати за допомогою кабелю, особливу увагу слід приділити електромагнітним перешкодам і перехресним перешкодам. Використовуйте якомога коротші (< 10 см) та/або добре екрановані з’єднувальні кабелі.
Ми рекомендуємо замість цього використовувати інтерфейс UART, коли це можливо: він більш стійкий до електромагнітних перешкод, особливо з довгими з’єднувальними кабелями.
Також є попередження про металеві частини корпусу.
Зауважте, що існує внутрішнє електричне з’єднання між контактом GND (5) і металевим екраном. Тримайте це металеве екранування електричним, щоб уникнути будь-яких ненавмисних струмів через це внутрішнє з’єднання. Якщо це неможливо, належне вирівнювання зовнішнього потенціалу між контактом GND і будь-яким потенціалом, підключеним до екранування, є обов’язковим. Будь-який струм через з’єднання між заземленням і металевим екраном може пошкодити виріб і створити загрозу безпеці через перегрів.
Крок 6: Підключення Omron B5W LD0101
Кабель Omron не призначений для використання з макетною платою. Один із швидких способів перетворити його на брекет — відрізати гніздо, зачистити дроти та припаяти їх до штифтів роз’єму довжиною п’ять штирів. Як альтернативний підхід, щоб уникнути спаювання, можна використовувати кліпси типу крокодил (алігатор).
Для Omron B5W LD0101 потрібне постійне джерело живлення 5 В. Його два виходи також мають рівень напруги 5 В, що несумісно з входами 3.3 В Pi Pico. Наявність резисторів на платі датчика дозволяє легко знизити це значення до безпечного, додавши резистор 4.7 кОм до землі на кожному виході. Вбудовані резистори задокументовані в таблиці даних, що робить цей підхід розумним.
З’єднання від B5W LD0101 до Pi Pico:
- Vcc (червоний) до 5 В (червоний) рейки через ряд 25;
- OUT1 (жовтий) до GP10GP10 (жовтий) через рядок 24 із резистором 4.7 кОм до GND;
- GND (чорний) до GND (чорний) через ряд 23;
- Vth (зелений) до GP26GP26 (зелений) через ряд 22 з конденсатором 0.1 мкФ до GND;
- OUT2 (помаранчевий) до GP11 (помаранчевий) через ряд 21 із резистором 4.7 кОм до GND.
The GP12 (зелений) від Pi Pico підключається до ряду 17, а резистор 10 кОм підключає ряд 17 до рядка 22.
Специфікація описує вимоги до джерела живлення так:
Мінімум 4.5 В, зазвичай 5.0 В, максимум 5.5 В, пульсація гучностіtagРекомендується діапазон 30 мВ або менше. Переконайтеся, що немає шуму нижче 300 Гц. Кон
rm допустима пульсація voltage значення за допомогою фактичної машини.
Три лужні або чотири акумуляторні (NiMH) батареї — найпростіший спосіб забезпечити постійну стабільну напругуtage близько 5 В до датчика. Блок живлення USB, ймовірно, буде поганим вибором, оскільки обtage, як правило, від літієвої батареї з використанням понижувально-підвищувального перетворювача, що створює шум.
B5W LD0101 використовує конвекцію для потоку повітря, тому для правильної роботи його потрібно розмістити вертикально. Зміна пропозиції обtage, ймовірно, вплине на температуру нагрівача та відповідний потік повітря. Температура навколишнього середовища також має впливати.
Крок 7: Моніторинг батареї за допомогою дільника потенціалу
Батарея обtage перевищує рівень 3.3 В на входах процесора RP2040 Pi Pico. Простий дільник потенціалу може зменшити цей об'ємtage бути в межах цього діапазону. Це дозволяє RP2040 вимірювати рівень заряду батареї на аналоговому вході (від GP26 до GP28).
Пара резисторів 10k була використана вище, щоб зменшити обсяг вдвічіtagд. Часто використовують вищі значення, наприклад 100k, щоб мінімізувати втрачений струм. З'єднання такі:
- B5W LD0101 Vcc (червоний) перемичка до ряду 29 зліва;
- резистор 10 кОм у рядку 29 між лівою та правою сторонами в рядку 29;
- Коричневий дріт-перемичка до Pi Pico GP27;
- Резистор 10 кОм від правого боку рядка 29 до сусідньої рейки GND.
GP28 на Maker Pi Pico можна використовувати як аналоговий вхід, але оскільки він також підключений до пікселя RGB, це може мати незначний вплив на значення та може навіть світитися або змінюватися, якщо вхід виглядає як протокол WS2812!
Крок 8: Встановлення CircuitPython і програми для публікації даних датчиків
Якщо ви не знайомі з CircuitPython, то варто спочатку прочитати посібник Ласкаво просимо до CircuitPython.
- Установіть наступні сім бібліотек із пакета версії 7.x https://circuitpython.org/libraries у каталог lib на диску CIRCUITPY:
- adafruit_bus_device
- adafruit_minimqtt
- adafruit_io
- adafruit_espatcontrol
- adafruit_pm25
- adafruit_requests.mpy
- neopixel.mpy
- Завантажте ці дві додаткові бібліотеки в каталог lib, клацнувши посилання «Зберегти як…» на сторінці files всередині каталогу або на file:
- adafruit_sps30 від https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py від https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- Створіть secrets.py file (див. напрample нижче) і заповніть значення.
- Завантажте програму в CIRCUITPY, натиснувши посилання «Зберегти як…» на pmsensors_adafruitio.py
- Перейменуйте або видаліть будь-який існуючий code.py file на CIRCUITPY, потім перейменуйте pmsensors_adafruitio.py на code.py Це file запускається під час запуску або перезавантаження інтерпретатора CircuitPython.
# У цьому файлі ви зберігаєте секретні налаштування, паролі та токени!
# Якщо ви розмістите їх у коді, ви ризикуєте передати цю інформацію або поділитися нею
секрети = {
“ssid” : “INSERT-WIFI-NAME-HERE”,
«password» : «INSERT-WIFI-PASSWORD-HERE»,
“aio_username” : “INSERT-ADAFRUIT-IO-USERNAME-HERE”,
“aio_key” : “INSERT-ADAFRUIT-IO-APPLICATION-KEY-HERE”
# http://worldtimeapi.org/timezones
“timezone” : “Америка/Нью_Йорк”,
}
Для цього проекту використовувалися такі версії:
CircuitPython 7.0.0
Комплект бібліотеки CircuitPython adafruit-circuitpython-bundle-7.x-mpy-20211029.zip- попередні версії з вересня/жовтня не можна використовувати як adafruit_espatcontrol
бібліотека була глючною, а половина працювала незрозуміло.
Крок 9: Налаштування Adafruit IO
Adafruit має багато посібників щодо своєї служби Adafruit IO, найактуальніші з них:
Ласкаво просимо до Adafruit IO
Основи Adafruit IO: Канали
Adafruit IO Basics: інформаційні панелі
Ознайомившись із стрічками та інформаційними панелями, виконайте наведені нижче дії.
- Створіть обліковий запис Adafruit, якщо у вас його ще немає.
- Створіть нову групу під назвою mpp-pm у розділі Канали
- Створіть дев’ять каналів у цій новій групі, натиснувши кнопку + Новий канал, назви яких:
- b5wld0101-raw-out1
- b5wld0101-raw-out2
- b5wld0101-vcc
- b5wld0101-vth
- температура процесора
- pms5003-pm10-стандарт
- pms5003-pm25-стандарт
- sps30-pm10-стандарт
- sps30-pm25-стандарт
- Створіть інформаційну панель для цих значень, запропоновані блоки:
- Три блоки лінійної діаграми, по одному для кожного датчика з двома лініями на діаграму.
- Три блоки Gauge для двох обtages і температура.
Крок 10: Перевірка публікації даних
Сторінка монітора в розділі Pro file корисно перевірити надходження даних у режимі реального часу шляхом перегляду поточних даних file розділ. Програма перетворює піксель RGB на синій на 2-3 секунди, коли надсилає дані в Adafruit IO, а потім повертається до зеленого.
Схоже, що температура RP2040 сильно відрізняється між різними ЦП і навряд чи відповідає температурі навколишнього середовища.
Якщо це не працює, перевірте кілька речей.
- Якщо піксель RGB залишається або якщо Adafruit IO не отримує дані, перевірте послідовну консоль USB на наявність виводу/помилок. Числовий вихід для Mu на послідовній консолі показуватиме, чи працюють датчики з новими рядками, які друкуються кожні 2-3 секунди – дивіться нижче для напр.ample вихід.
- У розділі «Помилки в реальному часі» на сторінці «Монітор» варто перевірити, чи дані надсилаються, але не відображаються.
- Змінну debug у програмі можна встановити від 0 до 5, щоб керувати обсягом інформації для налагодження. Більш високі рівні вимикають друк кортежів для Mu.
- Програма simpletest.py — це корисний спосіб підтвердити наявність з’єднання Wi-Fi і роботу з’єднання з Інтернетом для трафіку ICMP.
- Переконайтеся, що ви використовуєте останню версію бібліотеки adafruit_espatcontrol.
- Сині світлодіоди Maker Pi Pico на кожному GPIO дуже корисні для миттєвого переглядуview стану GPIO. Усі підключені GPIO будуть увімкнені, за винятком:
- GP26 буде вимкнено, оскільки згладжений обсягtage (близько 500 мВ) занадто низький;
- GP12 буде тьмяним, тому що це ~ 15% шпаруватості ШІМ-сигналу;
- GP5 буде увімкнено, але миготітиме під час надсилання даних із PMS5003;
- GP10 буде вимкнено, але миготітиме, коли B5W LD0101 виявить дрібні частинки;
- GP11 буде вимкнено, але час від часу блиматиме, якщо ви не перебуваєте в дуже задимленому місці.
Вихід, призначений для плотера в Mu, буде виглядати приблизно так в кімнаті:
(5,8,4.59262,4.87098,3.85349,0.0)
(6,8,4.94409,5.24264,1.86861,0.0)
(6,9,5.1649,5.47553,1.74829,0.0)
(5,9,5.26246,5.57675,3.05601,0.0)
(6,9,5.29442,5.60881,0.940312,0.0)
(6,11,5.37061,5.68804,1.0508,0.0)
Або кімната з чистішим повітрям:
(0,1,1.00923,1.06722,0.0,0.0)
(1,2,0.968609,1.02427,0.726928,0.0)
(1,2,0.965873,1.02137,1.17203,0.0)
(0,1,0.943569,0.997789,1.47817,0.0)
(0,1,0.929474,0.982884,0.0,0.0)
(0,1,0.939308,0.993282,0.0,0.0)
Шість значень на рядок у порядку:
- PMS5003 PM1.0 і PM2.5 (цілі значення);
- SPS30 PM1.0 і PM2.5;
- B5W LD0101 необроблені підрахунки OUT1 і OUT2.
Крок 11. Тестування внутрішніх датчиків за допомогою Mu та Adafruit IO
На відео вище показано, як датчики реагують на сірник, який запалює ароматичну паличку. Пікові значення PM2.5 для PMS5003 і SPS30 становлять 51 і 21.5605 відповідно. B5W LD0101 має відкриту оптику, на яку, на жаль, впливає вольфрамове галогенне освітлення, яке використовується для цього відео. У повітрі спостерігається підвищений рівень частинок після попереднього випробування.
Пам’ятайте про від’єднання акумуляторної батареї, коли вона не використовується, інакше обігрівач B5W LD0101 розрядить батареї.
https://www.youtube.com/watch?v=lg5e6KOiMnA
Крок 12: тверді частинки на вулиці в ніч Гая Фокса
Ніч Гая Фокса асоціюється з багаттями та феєрверками, які можуть сприяти збільшенню забруднення повітря протягом одного-двох вечорів. На діаграмах вище показано, як три датчики було розміщено на вулиці одразу після 7:5 у п’ятницю, 2021 листопада XNUMX року. Феєрверків поблизу не було, але їх було чути здалеку. Примітка: шкала мухи різниться між трьома діаграмами.
Дані каналу, що зберігаються в Adafruit IO, показують, що датчики, які виявляють повітря, вже мали дещо підвищений рівень PM2.5 на основі чисел SPS30:
2021/11/05 7:08:24PM 13.0941
2021/11/05 7:07:56PM 13.5417
2021/11/05 7:07:28PM 3.28779
2021/11/05 7:06:40PM 1.85779
Пік був близько 46 мкг на кубічний метр незадовго до 11:XNUMX:
2021/11/05 10:55:49PM 46.1837
2021/11/05 10:55:21PM 45.8853
2021/11/05 10:54:53PM 46.0842
2021/11/05 10:54:26PM 44.8476
Є короткі стрибки в інших даних, коли датчики були на вулиці. Це може бути пов’язано з:
- відпрацьовані гази центрального опалення,
- людей, які курять поблизу та/або
- запахи/дим від приготування їжі.
Перевірте погоду, перш ніж виносити електроніку на вулицю!
Крок 13: тверді частинки всередині під час приготування
На діаграмах вище показано, як датчики реагують на бекон і гриби, які смажаться на сусідній кухні з посереднім віджиманням. Датчики знаходилися приблизно на відстані 5 м (16 футів) від плити. Примітка: шкала y змінюється між трьома діаграмами.
Дані каналу, що зберігаються в Adafruit IO, показують датчики з коротким піковим рівнем PM2.5 близько 93 мкг на кубічний метр на основі чисел SPS30:
2021/11/07 8:33:52PM 79.6601
2021/11/07 8:33:24PM 87.386
2021/11/07 8:32:58PM 93.3676
2021/11/07 8:32:31PM 86.294
Забруднювачі будуть сильно відрізнятися від тих, що виникли після переробки. Це цікавий колишнійampз різноманітних джерел твердих частинок у повітрі, яким ми дихаємо.
Крок 14: Громадські датчики твердих часток
Дані, наведені на графіку вище, отримані від громадських датчиків поблизу.
- Дихайте Лондоном
- Clarity Movement Node-S
- Тбіт/с
- осс
- rl
- Clarity Movement Node-S
- OpenAQ
- PurpleAir PA-II
- sr
- PurpleAir PA-II
- Лондонська мережа якості повітря
- Еталонна якість (Met One BAM 1020 та інші)
- FS
- AS
- TBR
- Еталонна якість (Met One BAM 1020 та інші)
Датчики tbps і TBR розташовані майже поруч і зображені разом, щоб показати кореляцію між пристроєм на основі SPS30 і еталонним пристроєм поблизу. SPS30, здається, значно занижував показники ввечері 5 і 6 листопада, коли розумно припустити, що вечірнє збільшення пов’язане з переробками. Це може бути пов’язано з різницею в масі частинок, оскільки датчики, використані для цієї статті, можуть виявляти лише об’єм і їм потрібно вгадати щільність частинок, щоб отримати значення в мікрограмах на кубічний метр.
PMS5003 у PurpleAir PA-II, здається, суттєво завищує показники для будь-яких підвищених рівнів PM2.5 на основі цього короткого періоду. Це може збігатися з результатами, показаними на попередніх сторінках, або це можуть спричиняти інші фактори.
SPS30 і PMS5003 дають дані для частинок розміром понад 2.5 мікрона, але на наступних сторінках показано, чому до цього слід ставитися обережно.
Крок 15: Порівняння датчиків – розмір частинок
Наведені вище графіки взято з лабораторної оцінки селективності частинок за розміром оптичних недорогих датчиків твердих частинок, проведеної Фінським метеорологічним інститутом. Було протестовано три датчики кожного типу з різними розмірами частинок, відображеними на логарифмічній осі x. Кольорові лінії вказують на розраховані значення смуг конкретного розміру частинок на основі вихідних даних датчика, смуги показують розподіл. Три значення SPS30 вище 1 мкм сильно перекриваються, що робить їх дуже важко розрізнити.
Загальні показники твердих часток: PM2.5 і PM10. Хоча число в назві означає максимальний розмір частинки, одиниці вимірюються в мікрограмах на кубічний метр. Недорогі датчики можуть вимірювати лише діаметр (об’єм) частинок і мають зробити деякі припущення щодо щільності, щоб обчислити ймовірні значення PM2.5 та PM10.
PMS5003 використовує постійне значення щільності, Sensirion описує свій підхід до щільності для SPS30 як:
Більшість недорогих датчиків PM на ринку припускають постійну масову щільність під час калібрування та обчислюють масову концентрацію шляхом множення кількості виявлених часток на цю масову щільність. Це припущення працює, лише якщо датчик вимірює один тип частинок (наприклад, тютюновий дим), але насправді ми знаходимо багато різних типів частинок із багатьма різними оптичними властивостями в повсякденному житті, від «важкого» домашнього пилу до «легких» частинок горіння. . Власні алгоритми Sensirion використовують розширений підхід, який дозволяє правильно оцінити масову концентрацію, незалежно від виміряного типу частинок. Крім того, такий підхід дозволяє правильно оцінити розміри бункерів.
Показники PM охоплюють усі частинки, менші за параметр розміру, тобто
PM1 + маса всіх частинок від 1.0 до 2.5 мікрон = PM2.5,
PM2.5 + маса всіх частинок розміром від 2.5 до 10 мікрон = PM10.
PMS5003 і SPS30 не можуть виявити частинки в цьому лабораторному тесті розміром більше 2-3 мікрон. Цілком можливо, що вони можуть виявити інші типи частинок вище цього розміру.
B5W LD0101 виглядає надійним у цьому лабораторному тесті для вимірювання PM10.
Крок 16: Порівняння датчиків – дизайн
Нагрівач Omron (резистор 100 Ом +/- 2%!) можна побачити, якщо перевернути датчик догори дном. Дизайн детально обговорюється в Omron: Розробка датчика якості повітря для очищувача повітря. Використання конвекції здається грубим, але воно може бути більш надійним рішенням порівняно з механічним компонентом, таким як вентилятор, який має кінцевий термін служби та термін служби, який може бути скорочений у разі роботи в запиленому середовищі. Схоже, що вентилятор SPS30 розроблено таким чином, що його можна легко замінити, не відкриваючи корпус. Інші моделі Plantower мають таку ж конструктивну особливість.
Усі три датчики будуть схильні до впливу високої відносної вологості, яка, на жаль, помилково підвищує значення PM.
Сертифіковані датчики еталонної якості (список DEFRA Великобританії), які контролюють тверді частинки, не використовують оптичний підхід для вимірювання. Met One BAM 1020 працює
- відокремлення та видалення з повітря частинок, розмір яких перевищує обмеженняample,
- нагрівання повітря для контролю/зменшення відносної вологості,
- осадження частинок на новій ділянці безперервної рутинної стрічки та
- потім вимірювання ослаблення джерела бета-випромінювання накопиченими частинками на стрічці, щоб обчислити точну оцінку загальної маси частинок.
Іншою поширеною технікою є осцилюючий мікроваг із конічним елементом (TEOM), який осідає частинки на змінному фільтрі на вільному кінці конічної трубки, яка закріплена на іншому кінці. Точне вимірювання частоти коливань природно-резонансної трубки дозволяє обчислити додаткову крихітну масу частинок за мінімальною зміною частоти. Цей підхід підходить для створення більш високих значень PM.
Крок 17: Йти далі
Коли ви налаштуєте свої датчики та опублікуєте дані в Adafruit IO, ось ще кілька ідей для вивчення:
- Перевірте кожну кімнату у вашому домі з часом, відзначаючи активність і вентиляцію. Перевірте свій дім, коли ви готуєте. Випробуйте барбекю.
- Використовуйте три кнопки на Maker Pi Pico. Вони підключені до GP20, GP21 і GP22, які навмисно не використовувалися, щоб дозволити використовувати кнопки.
- Якщо ви живете поблизу громадської станції моніторингу якості повітря, порівняйте свої дані з нею.
- Додайте дисплей для контрольованого використання, що показує значення датчиків. SSD1306 невеликий, його можна замовити та легко додавати/використовувати в CircuitPython. Див. Інструкції: визначення вологості ґрунту
- З Maker Pi Pico для ексampле його використання.
- Дослідіть бібліотеку MQTT, щоб дізнатися, чи можна надсилати всі дані датчиків одним пакетом. Це має бути більш ефективним.
- Певним чином інтегруйте з автономним датчиком якості повітря IKEA Vindriktning.
- Підключення MQTT Сорена Бея для Ikea VINDRIKTNING показує, як додати ESP8266 до датчика, і ідентифікує датчик твердих частинок (пилу) як «подібний до Cubic PM1006».
- Розширений проект полягав би в тому, щоб замінити основну друковану плату на плату на основі ESP32-S2 з додатковими цифровими датчиками навколишнього середовища, щоб створити пристрій на основі Wi-Fi і CircuitPython.
- Цей пристрій обговорюється на форумі Home Assistant: Датчик якості повітря IKEA Vindriktning.
- LaskaKit виробляє змінну друковану плату на основі ESP32 для датчика, що дозволяє легко використовувати його з ESPHome.
- Вивчіть вплив варіювання об’єму пропозиціїtage в межах дозволених діапазонів для датчиків. Це може змінити швидкість вентилятора або температуру нагрівача, що вплине на результати.
- Створіть корпус, захищений від погодних умов і диких тварин, із продуманим дизайном для входу, випуску повітря та потоку повітря через датчики. Парасольку, прикріплену скотчем до перил, використовували для захисту відкритої електроніки під час збору даних у вихідні для цієї статті.
Пов'язані проекти:
- Costas Vav: портативний датчик якості повітря
- Pimoroni: зовнішня станція якості повітря з Enviro+ і Luftdaten
- Інструкції: використання Pimoroni Enviro+ FeatherWing із Adafruit Feather NRF52840 Express –
- Enviro+ FeatherWing містить роз’єм для PMS5003. SPS30 можна використовувати з контактами i2c, а контактів достатньо для використання B5W LD0101.
- nRF52840 не підтримує Wi-Fi, тому його не можна використовувати окремо для публікації даних через Інтернет.
- Adafruit Learn: Корпус із 3D-друком датчика якості повітря. – використовує Adafruit Feather M4 з Airlift FeatherWing на основі ESP32 і PMS5003.
- Adafruit Learn: Quickstart IoT – Raspberry Pi Pico RP2040 з Wi-Fi – використовує роз’ємну плату Adafruit AirLift на основі ESP32.
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – напрampкод для Adafruit IO, Blynk і Thinkspeak.
- Cytron: моніторинг повітря за допомогою мобільного телефону – використовує щит Arduino на основі ESP8266 для надсилання даних із
- Датчик твердих частинок Honeywell HPM32322550 для Blynk, (смартфон) не потрібен.
Проміжні датчики, дорожчі, але з кращою здатністю виявляти більші розміри часток:
- Piera Systems IPS-7100
- Alphasense OPC-N3 і OPC-R2
Додаткова інформація:
- Датчики
- Фінський метеорологічний інститут: Лабораторна оцінка селективності оптичних недорогих датчиків твердих частинок за розміром частинок (травень 2020 р.)
- Гоф Луї: Review, Розбирання: Лазерний датчик твердих частинок Plantower PMS5003 включає порівняння з Sensirion SPS30.
- Карл Кернер: Як відкрити та очистити датчик повітря PMS 5003
- Met One Instruments, Inc., BAM-1020 Навчальне відео EPA TSA (YouTube) – показує, що всередині та як це працює.
- Дослідницький обмін CITRIS: Доповідь Шона Віхери (Clarity Movement) (YouTube) – доповідь, зокрема докладна інформація про датчик Node-S, який використовує Sensirion SPS30.
- Законодавство та організації, пов’язані з якістю повітря
- Правила стандартів якості повітря 2010 (Великобританія)
- Рекомендації Всесвітньої організації охорони здоров’я (ВООЗ) щодо забруднення повітря
- British Lung Foundation – Якість повітря (PM2.5 і NO2)
- дослідження
- Імперський коледж Лондона: континуум забруднення повітря в приміщенні та на вулиці (YouTube)
- Учні початкової школи збирають дані про якість повітря за допомогою рюкзаків у Лондоні у 2019 році:
- Дайсон: Відстеження забруднення навколишнього середовища в школі. Дихай Лондоном (YouTube)
- Королівський коледж Лондона: Дослідницька група з питань навколишнього середовища: Дослідження переносних пристроїв Breathe London
- Atmosphere Journal: Забруднення повітря в приміщеннях від житлових печей: дослідження потрапляння твердих частинок у будинки під час використання в реальному світі
- Новини та блоги
- The Economist: опівнічне небо – вугільно-червоне опалення будинків у Польщі створює масове забруднення (січень 2021 р.)
- NPR США: укриття всередині може не захистити вас від небезпеки дикого диму?
- Reuters: Вечірка закінчилася: Дівалі залишає Делі, захрипуючи в небезпечно нездоровому повітрі
- Блог Pimoroni: Найзабрудненіша ніч року (у Великобританії)
- Рух чіткості: дим від дикої пожежі, охорона здоров’я та екологічна справедливість: краще
- Прийняття рішень за допомогою моніторингу повітря (YouTube) – презентація та обговорення якості повітря на заході США, зокрема навколо диму від диких пожеж у 2020 році.
- Guardian: Брудне повітря впливає на 97% будинків Великобританії, свідчать дані
- Моніторинг частинок і зберігання даних
- Нідерланди Rijksinstitutut voor Volksgezondheid en Milieu (Національний інститут громадського здоров’я та навколишнього середовища): Vuurwerkexperiment (експеримент з феєрверками) 2018-2019
- Google: вулиця за вулицею: як ми наносимо карту якості повітря в Європі – вулиця view автомобілі збирають дані про тверді частинки та забруднюючі гази. Лондонська мережа якості повітря
- Breathe London – мережа, яка доповнює Лондонську мережу якості повітря «датчиками якості повітря, які можна замовляти, легко встановлювати та обслуговувати будь-кому», наразі використовує Clarity Movement Node-S.
- Посольство США в Пекіні моніторинг твердих частинок (Twitter)
- Світовий індекс якості повітря – збирає дані з багатьох різних джерел за допомогою карти views та історичні дані.
- Sensor.Community (раніше відомий як Luftdaten) – «зробити світ кращим за допомогою відкритих екологічних даних, керованих спільнотою».
- Бібліотеки програмного забезпечення
- Помилки програмного забезпечення в бібліотеці датчиків твердих часток – adafruit_pm25 страждає принаймні від однієї з описаних проблем, що вимагає обробки винятків навколо read() для послідовного порту (UART).
- Курси
- HarvardX: Забруднення повітря твердими частинками (YouTube) – п’ятихвилинне відео з короткого курсу EdX: Energy Within Environmental Constraints
Критичні для безпеки виявлення та сигналізацію краще залишити комерційним приладам від перевірених постачальників.
https://www.youtube.com/watch?v=A5R8osNXGyo
Публікація даних датчика твердих часток в Adafruit IO за допомогою Maker Pi Pico та ESP-01S:
Документи / Ресурси
![]() |
інструкції ESP-01S Публікація датчика твердих частинок [pdfПосібник користувача ESP-01S Публікація датчика твердих частинок, ESP-01S, Публікація датчика твердих частинок, Публікація датчика твердих частинок, Датчик речовини |