Съдържание:

AtmoScan: 7 стъпки (със снимки)
AtmoScan: 7 стъпки (със снимки)

Видео: AtmoScan: 7 стъпки (със снимки)

Видео: AtmoScan: 7 стъпки (със снимки)
Видео: Пил чеснок с медом утром. Вот что вышло через 7 дней употребления! 2024, Септември
Anonim
Image
Image
Сензори
Сензори

**********************************************************************************************

НОВИНИ

Отидете на моя GitHub за:

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

- Вече е публикуван дизайн на печатна платка v2 заедно с ръководство за лесно прилагане на промяната към платки V1.0.

- CAD файлове за пълно заграждане

Новият корпус изглежда като на снимката по -горе … добре, без гумената лента

****************************************************************************************

ATMOSCAN е мултисензорно устройство, насочено към мониторинг на качеството на въздуха в помещенията. Докато са публикувани много проекти със сходна цел, този е цялостна система в компактен, самостоятелен пакет, който обобщава всички тях. Той има LCD цветен дисплей, има време и местоположение, управлява се с жестове и се публикува в ThingSpeak (или други) чрез MQTT, но може правилно да се справя с прекъснати операции и повторно свързване. Със своята вградена акумулаторна батерия той издържа цял ден, когато е изключен от захранването.

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

Кредити за библиотеки отиват при редица сътрудници, вижте по -късно.

Музика във видео можете да намерите ТУК

Стъпка 1: Сензори

Atmoscan измерва редица променливи:

  • Температура
  • Влажност
  • Налягане
  • CO2
  • CO
  • NO2
  • ЛОС (летливи органични съединения, индикатор за качеството на въздуха)
  • PM 01
  • PM25
  • PM10
  • Радиация

За тази цел той интегрира редица дискретни сензори

  • BME280 (например връзка)
  • PMS7003 (например връзка)
  • MH-Z19 (например връзка)
  • HDC1080 (например връзка)
  • MiCS6814 (Връзка)
  • MP503 (Връзка)
  • LND-712 тръба на Гайгер (Връзка, намерих я в Европа тук Връзка или тук Връзка) с модул за високо напрежение (Връзка)

Информационните листове са ТУК.

Стъпка 2: Електроника

Електроника
Електроника
Електроника
Електроника
Електроника
Електроника

Atmoscan може лесно да бъде изграден с NodeMCU или друга платка ESP8266 и някои лесно достъпни компоненти, като превключватели на нивата и регулатори на напрежението, ако се откажете от вграденото зарядно устройство за батерии.

Докато направих прототип с отделни компоненти, за крайната версия проектирах специфична платка, която интегрира всички функции и осигурява чисти конектори за сензори, светодиоди за състояние (синьо = захранване свързано; червено = зареждане).

Eagle PCB файлове са достъпни ТУК.

По -конкретно, дъската интегрира:

  • Зареждаща схема, базирана на MAX8903A (Връзка)
  • Логика за включване/изключване с един бутон
  • ESP12E модул
  • Логика за програмиране
  • Превключвател на нивата
  • Драйвер за LCD подсветка
  • 3.3V Регулатор на напрежение за повишаване/понижаване, базиран на Pololu S7V8F3 (Връзка)
  • Регулатор на напрежение 5V на базата на Pololu U1V10F5 (Връзка)
  • LiPo горивомер на базата на SparkFun TOL10617 (Връзка)

Дисплеят е 2.8 TFT 320x240, базиран на чип ILI9341 (Link).

Сензорът за жестове е базиран на чипа PAJ7620U2 (Link), много по -добър от евтиния APDS9960, който генерира непрекъснати прекъсвания и не може да работи чрез плексиглас.

Сензорите са доста гладни за захранване, така че за да гарантирам поне 24 часа автономност направих пакет с 3 x 5000mAh LiPo 105575 батерии (Връзка). Всъщност 2 биха могли да бъдат достатъчни. Зарядното устройство MAX8903 се бори да зареди получения пакет от 15 000 mAh.

ЗАБЕЛЕЖКИ - ВИДЕНИ НА СНИМКИТЕ:

  • Показват се позициите на конекторите
  • Слотът за SD карта трябва да се разпаи от дисплея, ако искате да се побере в кутията
  • Трябва да направите малък прорез в печатната платка, за да не пречите на вентилатора (прорезите са на мода след iPhone X). Коригирано в PCB V2

Съкращенията на конекторите на печатни платки са както следва:

  • PRS: Барометричен сензор за налягане (на базата на BME280) ЗАБЕЛЕЖКА: да се монтира директно върху печатната платка
  • VOC: Grove - Сензор за качество на въздуха v1.3 (въз основа на MP503)
  • TMP: Цифров сензор за влажност и температура с висока точност (базиран на HDC1080)
  • PMS: PMS7003 Цифров сензор за концентрация на частици
  • GAS: Grove - Многоканален сензор за газ (базиран на MiCS6814)
  • GES: Grove - сензор за жестове (въз основа на PAJ7620U2)
  • RAD: тръба на Гайгер (чрез модул за захранване на драйвер за сонда на гейгерова сонда 400V / 500V с TTL дигитализиран импулсен изход)
  • CO2: инфрачервен CO2 сензор за газ MH-Z19
  • U1V10F: 5V регулатор на повишаващо напрежение, базиран на Pololu
  • U1V10F5 S7V8V3: Регулатор на напрежение 3.3V стъпка нагоре/стъпка надолу, базиран на Pololu S7V8F3
  • TOL10617: Горивомер Sparkfun LiPo
  • LCD: дисплей ILI9341

Стъпка 3: Приложение

Корпус
Корпус
Корпус
Корпус
Корпус
Корпус

Заграждението е получено от кубичен контейнер от плексиглас 10x10x10 cm, който купих в ebay и беше предназначен за напълно различна употреба. Имаше хубави вентилационни отвори, които бяха точно това, което беше необходимо. Обемът по принцип беше достатъчен, за да опакова целия комплект, с изключение на това, че не беше лесно … някои ранни опити, базирани на макети от картон, се провалиха ужасно, затова се отказах и загубих няколко часа с 3D CAD и лазерно изрязване на вътрешните опори. Вътрешното пространство е разделено на отделения, така че температурният сензор да е възможно най -далеч от вътрешните източници на топлина. Докато външната обвивка е изработена от 3 мм материал, горната част е от 2+1 мм листове. Този трик позволи сензорът за жестове да бъде покрит само с 1 мм акрил и това е достатъчно, за да работи.

Някои модификации трябваше да се направят с ръчни инструменти на оригиналния корпус, като вентилатор, превключвател и USB отвори. Резултатът обаче беше достоен!

CAD файловете са ТУК.

Стъпка 4: Механичен монтаж

Механичен монтаж
Механичен монтаж
Механичен монтаж
Механичен монтаж
Механичен монтаж
Механичен монтаж

Пакетът е много плътен, но благодарение на 3D cad дизайна имах няколко изненади при сглобяването му.

Циркулацията на въздуха (отгоре надолу) се осигурява от малък вентилатор. След като купих справедлив брой на Aliexpress / eBay, разбрах, че шумът от евтини вентилатори е непоносим за вътрешно устройство. В крайна сметка купих доста скъп, бавно въртящ се Papst 255M (Link) и го захранвах с по -малко от 5V чрез няколко диода. Резултатът е доста добър и е достатъчно тих, за да бъде незабелязан (дори е одобрен от съпругата, най-трудното сертифициране).

Стъпка 5: Софтуер

Софтуер
Софтуер
Софтуер
Софтуер
Софтуер
Софтуер
Софтуер
Софтуер

Софтуерната архитектура се основава на обектно ориентирана рамка, която изпълнява множество (съвместни) процеси, които обработват потребителски интерфейс, сензори и MQTT. Той е наясно с местоположението и времето, но може да се справи с прекъсване / повторно свързване към WiFI.

Рамката е отворена и може да управлява произволен брой екрани, стига техният код и ресурси да се поберат във Flash паметта. Рамката на приложението обработва жестовете и ги предава на екраните за по -нататъшно обработване или отмяна, ако е необходимо. Жестовете, управлявани от рамката, са:

  • Плъзнете наляво / надясно - Промяна на екрана
  • (Пръст) Завъртане по часовниковата стрелка - Завъртете екрана
  • (Пръст) Завъртане обратно на часовниковата стрелка - Извикайте екрана за настройка
  • (Ръчно) От далеч до затваряне - Изключете дисплея

Екраните се наследяват от базов клас и се управляват чрез следния модел на събитие:

  • активиране - задейства се веднъж, когато се създава екран
  • update - извиква се периодично за актуализиране на екрана
  • деактивиране - извиква се веднъж, преди екранът да бъде отхвърлен
  • onUserEvent - извиква се при задействане на сензора за жестове. Позволява да реагира, а също и да отменя обработката на събитията по подразбиране, напр. прекъснете плъзнете, за да промените екрана

Всеки екран декларира своите възможности, като предоставя следната информация:

  • getRefreshPeriod - колко често екранът се нуждае от опресняване
  • getRefreshWithScreenOff - ако екранът иска да се опресни, дори когато подсветката е изключена. напр. за диаграми
  • getScreenName - име на екрана
  • isFullScreen - поемете пълен контрол върху дисплея или разрешете горната лента с дата/час/местоположение/габарит на батерията/wifi габарит

Рамката може да създава и освобождава екраните чрез декларативна фабрика за клас. Динамичното разпределение спестява RAM и прави устройството лесно разширяемо. Общата рамка за кандидатстване също може да се използва повторно за други проекти.

Екраните, внедрени в момента в Atmoscan, са:

  • Стойности на сензорите
  • Гайгер метър / полу -диаграма
  • Състояние на системата
  • Дневник на грешки
  • Метеорологична станция
  • Plane Spotter
  • Настройвам
  • Изтощена батерия

Екраните за настройка позволяват настройка на идентификационни данни за Wifi, MQTT канали, сървър на Syslog.

НОВО във v2.0: всички ключове за уеб услуги вече могат да се конфигурират чрез конфигурационния портал. Единствената стойност, която все още е твърдо кодирана, е OTA паролата (главни ATMOSCAN).

ЗАБЕЛЕЖКА 1: Първото програмиране трябва да се извърши с USB-сериен кабел, свързан към конектора за програмиране. Тъй като серийният порт е зает от сензор, отстраняването на грешки и програмирането по този начин е непрактично след сглобяването, тъй като би изисквало отделяне на сензора. Следователно софтуерът поддържа SYSLOG отстраняване на грешки и OTA актуализации.

ЗАБЕЛЕЖКА 2: Бинарният файл ATMOSCAN е над 700Kb и ArduinoOTA изисква пространството на програмата да бъде поне два пъти по -голямо от размера на изображението, което изключва опцията "4M (3M SPIFFS)". Стандартната опция "4M (1M SPIFFS)" също е неподходяща, тъй като дялът SPIFFS би бил недостатъчен за графичните ресурси, свързани с метеорологичната станция, самолетния наблюдател и за конфигуриращия файл. Затова е създадена персонализирана конфигурация „4M (2M SPIFFS)“за решаване на проблема. Обяснение тук.

Документация и пълен изходен код са достъпни тук.

КРЕДИТИТЕ СКЛЮЧВАТ КОД И БИБЛИОТЕКИ ОТ

  • Адафрут
  • Аркао
  • Ббланшон
  • Бодмер
  • ClosedCube
  • Gmag11
  • Knolleary
  • Лукадентела
  • Видяно
  • Squix78
  • Цапу
  • Wizard97

ИНТЕГРИРА УЕБ УСЛУГИ ОТ

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Стъпка 6: Направете го по -добър

Направи го по-добре!
Направи го по-добре!

Резултатът изобщо не е лош! Софтуерът изглежда добре и е надежден, докато може да бъде разширен с нови функции и може би малко почистен, за да направи рамката на приложението наистина многократно използваема за други проекти. Калибрирането на някои сензори не е добро, но ще е необходимо оборудване за изпитателни лаборатории. Времето е ценно и нямам много, така че напредъкът беше бавен. Когато свърших, достойната поддръжка за ESP32 стана достъпна. Ако го стартирах сега, щях да го използвам и да интегрирам външни сензори чрез bluetooth.

Някой?

ЗАБЕЛЕЖКА: Все още имам шепа печатни платки, така че ако някой се интересува, те са достъпни на номинална / пощенска цена.

Стъпка 7: Въпроси и отговори

Въпроси и отговори
Въпроси и отговори
Въпроси и отговори
Въпроси и отговори

Първо, БЛАГОДАРЯ за изключително положителните коментари. Честно казано не очаквах толкова голям интерес.

Получих редица въпроси или чрез коментари, или чрез лични съобщения, затова се сетих да събера отговорите тук. Ако дойде още, ще добавя.

Намерих в задната част на чекмеджето 8 налични печатни платки - и те са на път за Белгия, Германия, Индия, САЩ, Канада, Великобритания, Австралия. Уау, 3 континента! Удивително.

Какво да поставя на страницата за конфигуриране на ATMOSCAN?

Конфигурационната страница на Atmoscan изисква следните параметри:

  • SSID и парола на WiFi мрежата, към която искате да се свърже
  • MQTT сървър, който използвате. Например използвам mqtt.thingspeak.com
  • Низ за връзка за използвани теми за MQTT. Например темите на Thingspeak MQTT са във формата: канали/CHANNEL-ID/публикация/WRITE-API (ПРИМЕР: канали/123456/публикация/567890)
  • Syslog сървър: IP на сървъра на syslog, който използвате за регистриране
  • Google ключ за Статичен API на Карти. Вземете ключ от https://console.cloud.google.com/apis/dashboard. Създайте проект; API, който Atmoscan използва, е https://maps.googleapis.com/maps/api/staticmap. Създайте ключ за този API в току -що създадения от вас проект на Google, използвайте го тук
  • Weather Underground ключ. Създайте акаунт на www.wunderground.com, отидете на WEATHER API (връзка в долната част на началната страница, отидете на KEY SETTINGS, генерирайте ключ, използвайте го тук
  • Профил на Geonames. Създайте акаунт на https://www.geonames.org/, разрешете му да използва безплатните уеб услуги и поставете потребителското име тук
  • KeyZoneDB ключ. Създайте акаунт на https://timezonedb.com/, създайте ключ, поставете го тук

Как да конфигурирам Thingspeak?

Имате нужда от 3 канала Thingspeak. Полетата се използват както следва:

КАНАЛ 1 полета

  1. ТЕМПЕРАТУРА
  2. ВЛАЖНОСТ
  3. НАЛЯГАНЕ
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. РАДИАЦИЯ

КАНАЛ 2 полета

  1. CO
  2. CO2
  3. NO2
  4. ЛОС

КАНАЛ 3 полета (системен канал)

  1. ПРЕПОДАВАНЕ В МИНУТИ
  2. БЕЗПЛАТНА ХИПА В БАЙТОВЕ
  3. WIFI RSSI (СИГНАЛ В DBM)
  4. НАПРЕЖЕНИЕ НА АКУМУЛАТОРА
  5. LINEAR SOC (СЪСТОЯНИЕ НА АКУМУЛАТОРА % - линейно изчисление, пропорционално на напрежението)
  6. NATIVE SOC (СЪСТОЯНИЕ НА ЗАРЯДАНЕ НА АКУМУЛАТОРА % - както се съобщава от габарита. Прочетено от манометъра. ЗАБЕЛЕЖКА: габаритът казва 0 % при достигане на 3.6v, докато батериите могат да се разредят малко по -нататък, да речем над 3v. Долната граница, при което ATMOSCAN се изключва, е #дефиниране във файл globaldefinitions.h)
  7. СИСТЕМНА ТЕМПЕРАТУРА (от bme280, монтирана директно към платката)
  8. СИСТЕМНА ВЛАЖНОСТ (от bme280, монтирана директно към дъската)

ПХБ е много компактен. Как да запоя SMD устройствата, особено IC MAX8903A?

Първо, предлагам ви да се запитате дали искате да влезете в SMD или е еднократно. Ако последното, може би помолете някой да го направи вместо вас. Ако искате да се справите с предизвикателството за SMD, инвестирайте малко и вземете подходящите инструменти (спойка, флюс, малко желязо с изопропилов алкохол, горещ пистолет, пинсета, евтина USB камера, държач за печатна платка). В днешно време това са евтини неща. След това гледайте видеоклип в YouTube-има половин милион-и прекарайте известно време със стара печатна платка, която можете да пожертвате и да разлеите / почистите / запоите някои компоненти. Няма да повярвате колко поучително е това, да научите какво да очаквате, да получите правилна температура и т.н. Говорейки от опит … Започнах SMD да сменям конектора на дисплея в iPod touch и убих първия!

В действителност печатната платка Atmoscan е компактна и тази IC не е лесна. Отново не ви препоръчвам да правите това като първото си SMD запояване. QFN не е приятелски пакет, въпреки че вече съм запоял номер. Никога не сте сигурни, че сте разбрали правилно …

На Atmoscan първо го запоех, след това околните му компоненти, за да мога да тествам дали зареждащата част на платката работи, след което завърших всички останали. От приложените снимки трябва да можете да заключите ориентацията на компонентите. Използвах библиотеки с компоненти за обществено достояние и ориентацията не е много очевидна в коприната.

Моят начин: първо поставих малко спойка върху подложките с ютията. След това много поток (специфичен за SMD) и внимателно позиционирах IC с пинсети. След това загрейте всичко до около 200/220C (под точката на топене), за да избегнете напрежение поради неравномерно нагряване. След това повиших температурата до 290C или така нататък и около IC. Ако поставите малко спойка върху близката подложка, ще видите, когато температурата е в точката на топене, тъй като тя ще блести.

След това го почистих с изопропилов спирт и внимателно го огледах с евтина USB камера. Типичните проблеми са подравняването и количеството спойка, тъй като някои щифтове може да не са свързани. В някои случаи трябваше да се върна към него с малък поялник, за да добавя още малко спойка към някои щифтове, тъй като тази интегрална схема има термична подложка отдолу, която също трябва да бъде запоена. Това прави малко трудно да се отгатне количеството спойка и може да се случи твърде много спойка отдолу да я повдигне, така че щифтовете да не докосват печатната платка.

Като казах това, не искам да те плаша. Завърших 3 платки и никога не убих тези интегрални схеми … Веднъж дори се наложи да я премахна, да почистя и рестартирам от нулата, но в крайна сметка тя работи. Отново не е супер лесно, но изпълнимо.

Къде купихте компонентите?

Най -вече в eBay и Aliexpress. Марковите обаче са оригинални (Seeed, Pololu, Sparkfun).

Следват някои ИНДИКАТИВНИ връзки. Забележка: огледайте се, може да намерите още по -евтини оферти …

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

Първо програмиране Платката Atmoscan включва схема за програмиране, която е в съответствие с NodeMCU. Последователната връзка обикновено се използва за първото програмиране. След това OTA програмирането чрез wifi е предпочитаният вариант, тъй като това може да стане с напълно сглобеното устройство. Не забравяйте, че серийният порт обикновено се използва от сензора за частици!

За да програмирате платката със сериен, USB-сериен адаптер (напр. FTDI232 или подобен) трябва да бъде свързан към конектора J7 (до бутона за нулиране), следвайки извода в схемата. Програмата може да бъде качена без свързани сензори, с изключение на това, че линията на прекъсване на датчика на Гейгер трябва да бъде свързана към GND, в противен случай платката няма да се зареди (за да направите това, свържете щифтове 1 и 3 в RAD конектора). Най -лесният начин да тествате платката, без да използвате основната скица - следователно без сложността на сензорите - е да качите ТАЗИ проста програма чрез сериен кабел. Той създава точка за достъп до wifi, която позволява по -нататъшно мигане с основната програма.

ВАЖНО: Не забравяйте да използвате конфигурацията 4M/2M SPIFFS според инструкциите, в противен случай основната програма няма да се побере. Платката трябва да бъде инициализирана чрез серийно програмиране с тази конфигурация, в противен случай може да имате проблеми с OTA по -късно.

За съжаление, някои инициализации на сензори се блокират, ако сензорите не присъстват (зависи от доставчика на библиотеката). Един пример е многогазовата сензорна библиотека. За да сте сигурни, че Atmoscan се зарежда правилно с пълния фърмуер, можете да деактивирате свързания процес, вижте свързаната точка с въпроси и отговори. Един прост начин да деактивирате ВСИЧКИ сензори за тестване е да коментирате реда #define ENABLE_SENSORS във файла GlobalDefinitions.h.

Когато платката зарежда основната скица за първи път, тя трябва да разпознае, че не е конфигурирана и трябва да отвори wifi гореща точка, към която можете да се свържете и да я настроите. Сред настройките има сървър на syslog, който помага значително за отстраняване на грешки. Можете също да увеличите нивото на регистриране, като декомментирате #define DEBUG_SYSLOG във файла GlobalDefinitions.h. Моля, обърнете внимание, че в същия файл има и #define DEBUG_SERIAL, който е бил използван по време на първоначалното отстраняване на грешки. Ако не е коментиран, той извежда _место_ остатъчно регистриране, но минимално. Елемент от ToDo винаги трябваше да прави регистрацията еднаква и избираема, но никога не ми оставаше време да я почистя.

Променили ли сте библиотеките, които сте използвали, необходима ли е някаква конфигурация? (за разлика от изтеглянето и компилирането)

Добър въпрос, пропуснах да спомена този момент. Наистина са необходими няколко модификации / конфигурации:

  • Библиотека https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - серийни изявления за отстраняване на грешки. Трябва да се коментира, тъй като серийният порт се използва за сензор!
  • Библиотека https://github.com/Bodmer/TFT_eSPI - изисква конфигурационен файл, в който са посочени присвояването на щифтове и честотата на SPI
  • Библиотека https://github.com/lucadentella/ArduinoLib_MAX1704… - Разглеждайки коментарите и заявките за изтегляне забелязах, че има корекция на грешка, която никога не е била обединена

Доколкото си спомням, това трябва да е. Кажете ми, ако възникнат проблеми.

ЗАБЕЛЕЖКА: Моля, вижте коментарите в най -новия изходен код - съдържа връзки към всички необходими библиотеки и се поддържа актуален

Защо някои сензори четат червено, а някои зелено във видеото/снимките?

Цветът показва тенденция. Той започва бяло и ако изкачването е червено, ако слизането надолу е зелено.

Как се справяте с отклонението на сензорите с течение на времето? Колко добри са тези сензори? Какво мога да видя с тези сензори?

Честно казано това не е научен комплект за измерване. За калибриране ще ми трябва оборудване, което нямам на разположение. Това наистина е проект за домашни любимци. Пробвах няколко сензора. Частиците, CO2, температурата, влажността, налягането, Geiger са доста добри според мен. По отношение на NO2 имам резерви относно калибрирането и цялостния дизайн, но няма много налични. Като цяло те са основни сензори.

Комбинацията обаче е достатъчно добра, за да покаже неща, които не бихте очаквали.

С Atmoscan в хола и кухнята на една стая, той открива огромни върхове на частици, когато напр. пържене. Усеща се NO2 от сутрешния трафик дори при затворени прозорци.

Наистина ли е необходим брояч на Гайгер? Показва ли нещо полезно?

За щастие не сме имали ядрени инциденти и войната все още не е настъпила … Все пак има атомни централи не толкова далеч и правителството раздава хапчета йод за деца, които да се държат в чекмеджето в случай на инциденти … затова започнах да се съмнявам. Засега трябва да кажа, че показанията са точно в съответствие с очакваното фоново излъчване (0,12 uSv/h)

Каква е общата цена на устройството?

Вече имах много компоненти у дома и връзките по -горе ви дават представа. Честно казано, ако купувате готов NetAtmo или подобен, спестявате пари. Не можете да победите китайска компания, правеща неща в мащаб! Ако обаче ви харесва да правите заедно с децата си, си заслужава. Хубавото е, че вече тествах (и изхвърлих) редица сензори за вас …

Какво ще кажете за печатни платки? Можете ли да ми продадете един?

Първоначално направих 10 от тях от dirtypcbs.com и файловете ми работеха добре. Добро качество и достатъчно евтино, 25USD / 20Euro за 10 печатни платки. Използвах две и с удоволствие изпращам остатъчните за чиста цена (2 евро + пратка, в зависимост от местоположението и предпочитанията за доставка). Страхувам се, че ще трябва да избера първите, които да ми изпратят лично съобщение.

Можете ли да направите комплект или кикстарт кампания?

Ласкаво, но честно казано никога не съм мислил, че е достатъчно иновативен … и освен това НЯМА ВРЕМЕ !!

Ако обаче някой вземе идеята, ще е необходима втора итерация. Има някои остри ръбове в дизайна, които си струва да се коригират, но отново никога не съм имал достатъчно време за V2.

На хардуера: Мога ли да добавя / премахвам сензор, екрана и т.н., за да разширя възможностите / да намаля консумацията на енергия?

Дисплеят е свързан без използване на MISO, поради което процесорът никога не чете от дисплея. Следователно просто не можете да свържете мравката на дисплея, тя ще работи добре. Като каза това, дисплеят е включен само за известно време след засичане на последния жест, така че не влияе реално на консумацията на енергия.

Вместо това сензорите са гладни за захранване и цялото нещо използва лесно 400/500mA. Не забравяйте вентилатора, както и факта, че сензорът за частици също има вграден вентилатор. ESP също не преминава в спящ режим поради липса на GPIO мост. Това обаче може би би спестило 20 mA …

Софтуерът е модулен и можете лесно да добавяте/премахвате процеси и екрани, за да можете да добавяте сензори или да го включите, като премахнете някои, ако желаете. Единственото ограничение е броят на GPIO пиновете. Въпреки това, сензорите могат лесно да се добавят, ако I2C или алтернативно I2C разширител може да се използва за добавяне на GPIOs …

За да деактивирате сензор, например за тестване на частично изграждане, според мен най -добрият начин е да не стартирате свързания процес. Това може да бъде постигнато чрез коментиране на свързаното повикване enable () във функцията void startProcesses () в основния.ino файл. Освен ако не искате структурно да промените системата, няма да премахна процесите напълно, тъй като процесите на екрана и MQTT ще ги анкетират. По този начин те просто трябва да върнат нула. Моля, обърнете внимание, че входът за прекъсване за дъската на Geiger трябва да бъде изтеглен, ако не се използва, в противен случай платката няма да се стартира.

Какви подобрения бихте направили, ако имате време за V2.0?

Не в някакъв определен ред..

  • Печатната платка може да избегне мед зад антената ESP8266. Напълно го забравих и това прави радиационната диаграма неизотропна
  • Зарядното устройство според мен е с малък размер за толкова голяма батерия / батерията е твърде голяма за зарядното устройство. Има и други интегрални схеми и бих пробвал друга.
  • Има по -добри габарити на батерията.
  • Бих добавил озонов сензор
  • Бих използвал ESP32 за повече GPIO и Bluetooth сензори извън основното устройство.
  • Ако имах повече GPIO или с ESP32, или с I2C разширител, щях да използвам един за управление на вентилатора, а друг за изключване на устройството от софтуер. Сега, когато батерията е изтощена, единственото нещо, което може да направи, за да покаже екран с ниска батерия. Това всъщност е най -големият недостатък на дизайна, тъй като ситуацията с ниска батерия не се обработва грациозно.

На софтуера

Отне ми повече време от хардуера … Мисля, че съдържа редица добри концепции, уви, не са напълно изпълнени. Конкретно смятам, че трябва да бъде изчистен, потенциално разширен и от него лесно може да се извлече обща рамка за приложения ESP8266. Няма време. Някой приема ли предизвикателството?

Можете ли да добавите гласов контрол?

Би трябвало да е осъществимо. Има няколко готови библиотеки за управление на ESP8266 с Alexa и не виждам защо интеграцията трябва да е проблем. Интересният въпрос е какво искате да направите с него, функционално. Не притежавам Amazon Echo, така че никога не съм опитвал.

Как направихте лазерните разрези?

Чертежите са направени с SketchUp. Програмата е хубава, но сериозно няма възможности за експортиране. 30 -дневната пробна версия помага, тъй като има допълнителна функционалност. След това го импортирах в Inkscape за окончателна обработка.

Можете ли да включите/изключите сензори за пестене на енергия чрез MOSFETs?

По принцип добра идея, но повечето от тези сензори трябва да се захранват през цялото време, тъй като имат време за загряване. Освен това… свършвам GPIO в ESP8266. Дори трябваше да използвам GPIO10, който официално не е функционален, но работи добре на ESP12E.

Какви умения ще ми трябват?

За да го изградите от нулата, ще ви е необходим опит в дизайна на електрониката. Всъщност не много, в днешно време с интернет всъщност не е нужно да четете таблици с данни ред по ред, както в ранните ми дни … Ако използвате резултата от моя експеримент, имате нужда от умения за запояване на SMD, механични умения и малко търпение.

Това ли е първият ви проект?

Това е първият ми инструктаж, но не и първият ми проект. В миналото се занимавах много, но наистина нямам много време в днешно време. Възкресих ръждясалите си умения, докато се опитвам да науча нещо полезно на децата си..! Направих още няколко проекта, които един ден може да публикувам.

Препоръчано: