Съдържание:

Регистратор на данни с отворен код (OPENSDL): 5 стъпки (със снимки)
Регистратор на данни с отворен код (OPENSDL): 5 стъпки (със снимки)

Видео: Регистратор на данни с отворен код (OPENSDL): 5 стъпки (със снимки)

Видео: Регистратор на данни с отворен код (OPENSDL): 5 стъпки (със снимки)
Видео: ChatGPT регистрация и верификация аккаунта в России 2024, Юли
Anonim
Регистратор на данни с отворен код (OPENSDL)
Регистратор на данни с отворен код (OPENSDL)
Регистратор на данни с отворен код (OPENSDL)
Регистратор на данни с отворен код (OPENSDL)
Регистратор на данни с отворен код (OPENSDL)
Регистратор на данни с отворен код (OPENSDL)

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

Това води до персонализирана и достъпна система, която позволява на заинтересованите страни да извършват измерванията, необходими за оценка на ефективността на сградата по ефективен и достъпен начин, като регистрират множество параметри на околната среда наведнъж. Разработеният регистратор на данни с отворен код (OPENSDL) беше сравнен с регистратор на данни HOBO U12-012. Тази налична в търговската мрежа система може да измерва 3 параметъра, а именно- температура, относителна влажност и осветеност, и един външен канал за други типове сензори. За измерване на всеки друг параметър би било необходимо различно сензорно устройство. Характеристиките на параметрите, които ще се измерват, са ограничени до собствения хардуер и софтуер, което ограничава системата до измерване на определени параметри със специфична точност. HOBO U12-012 струва около 13 000 йени (185 щ.д.), докато OPENSDL струва 4 605 йени (66 щ.д.), което е почти една трета от търговския еквивалент.

Регистратор на данни с отворен код за наблюдение на температурата, относителната влажност и нивата на осветеност (осветеност) с помощта на Arduino Uno Това е DIY за разработване на регистратора на данни OPENSDL.

Необходимо време: 2-3 часа за запояване, 5 часа за опаковане (4 часа - 3D печат и 1 час за лазерно рязане) Необходими умения: Запояване, малко или никакви познания по програмиране и електроника

Необходими части:

  1. Arduino Uno с кабел
  2. Щит на регистратора на данни
  3. Монетарна батерия CR1220
  4. BME280 температурна влажност сензор за налягане пробивна дъска
  5. TSL2561 платка за пробив на сензора за светлина
  6. ESP01-8266 Wi-Fi модул
  7. RJ-9 мъжки и женски конектор
  8. Заглавки за подреждане на щитове за Arduino
  9. SD карта с памет (с всякакъв капацитет)
  10. Векторна дъска (26 x 18 дупки)
  11. 8 батерии АА Поставка за батерия

Необходими инструменти:

  • Поялник (35W)
  • Спойка тел
  • Резачка за тел
  • Инструмент за кримпване
  • Мултиметър

Изискван софтуер: Arduino IDE (1.0.5 или по -нова версия)

Използвани библиотеки на Arduino:

  • Телефонна библиотека
  • Библиотека на SparkFun TSL2561
  • Мултисензорна библиотека Cactus BME280
  • Библиотека на SD карта
  • SPI библиотека
  • RTC библиотека

Забележка: Сензорът BME280 е много точен сензор за температура, относителна влажност и налягане от Bosch. По същия начин DS1307 е точен часовник в реално време от Maxim, а TSL2561 е точен сензор за светлина. Има по -евтини и по -малко точни алтернативи за тези продукти, но този урок е насочен към хора, които се интересуват от събиране на данни за оценка на ефективността на сградите и приложения за мониторинг на сгради, които изискват висока точност и точност. Това означава, че всяка конкретна хардуерна настройка и настройка на софтуер (библиотеки, програмен код) са били строго предназначени само за посочените продукти.

Стъпка 1: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Щитът на регистратора на данни може лесно да бъде подреден върху дъската Arduino Uno. Този щит осигурява възможности за регистриране на данни (водене на време и съхранение на данни). Щитът трябваше да бъде подреден. Монетарна батерия CR1220 трябваше да бъде поставена в кръглия слот, за да поддържа часовника да работи, дори когато Arduino е изключен. SD картата с памет трябва да бъде поставена в предоставения слот за вградена карта. Уникален персонализиран щит е разработен с помощта на женски щифтове на конектора RJ-9 и заглавки за подреждане на щит Arduino. Подходящите заглавки са запоени на подходящи места, така че щитът да пасва идеално на дъската на Arduino. Arduino има 18 щифта от едната страна и 14 щифта от другата страна. Заглавките със същия брой щифтове бяха използвани на същото разстояние (18 пина един от друг) като на Arduino. Останалото допълнително пространство в съседство с заглавките беше използвано за поставяне на RJ-9 конектора.

Заглавките бяха най -добрият начин за използване на необходимите щифтове, като същевременно ги правеха достъпни за използване от други компоненти. Използваните сензори следват комуникационния протокол I2C, който изисква 4 пина от Arduino, а именно: SDA (също се предлага като A4), SCL (също като A5), 3.3V и GND. Четирите проводника, излизащи от конектора RJ-9, бяха запоени в тези четири щифта на заглавката. Броят на необходимите конектори RJ-9 зависи от броя на сензорите. В този проект бяха използвани 3 конектора RJ-9 (два за BME280 и един за TSL2561). Четирите проводника, излизащи от конектора RJ-9, бяха цветно кодирани и всеки цветен проводник беше определен за специфичен щифт за всички RJ-9 конектори. Трябва да се отбележи, че цветният код може да варира при различните парчета RJ-9. В такъв случай трябва да се отбележи местоположението на проводника върху конектора. Съединителят RJ-9, след запояване, беше направен да залепи върху векторната дъска с помощта на Feviqwik, така че да се фиксира върху повърхността. Тези връзки могат да бъдат проверени чрез режим на непрекъснатост на мултицета. Когато е в режим на непрекъснатост, мултицетът трябва да показва нулево съпротивление. Свържете една от сондите на мултицета към запоения щифт, а другата сонда към щифта вътре в конектора RJ-9. Мултицетът трябва да излъчва тон, което означава, че спойките са правилни и връзките са направени правилно. Ако тонът не се излъчва, проверете спойките. По същия начин запоявайте конектора RJ-9 със същите проводници, свързващи се към същите отвори на сензорните платки, т.е. A4, A5, 3.3V & GND. Сензорът BME280 поддържа два I2C адреса, което означава, че два сензора BME280 могат да бъдат свързани към един и същ контролер едновременно. Докато правите това, адресът на един от сензорите трябва да бъде променен чрез свързване на спойките върху сензора. Чип за безжична връзка ESP-01 изискваше следните връзки с Arduino.

ESP-01 --------- Arduino Uno

10 -------------------- TX

11 -------------------- RX

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

Забележка:- Множеството светодиоди на Arduino Uno бяха премахнати за подобряване на живота на батерията. Светодиодите на индикатора за захранване, RX и TX бяха премахнати чрез загряване на спойките и натискане на светодиода със щипци.

Стъпка 2: Настройка на IDE и библиотеки

Преди да правите каквото и да е програмиране, трябва да изтеглите Arduino IDE (интегрирана среда за разработка). Програмирането е направено на тази платформа. За взаимодействие с различни компоненти на OPENSDL бяха необходими различни библиотеки. Следните библиотеки бяха използвани за дадените компоненти.

Съставна част ------------------------------------------------- --------------Библиотека

BME280 температурен и RH сензор --------------------------------- Cactus_io_BME280_I2C.h

Светлинен сензор------------------------------------------------ ---------------- SparkFun TSL2561.h

Часовник в реално време ----------------------------------------------- ------------- RTClib.h

Гнездо за SD карта ----------------------------------------------- ------------- SD.h

I2C връзка ------------------------------------------------ ------------- Wire.h

Не се изисква отделна библиотека за комуникация с ESP01, тъй като кодът, качен в Arduino, има AT команди, които се изпращат до серийния монитор, откъдето ESP-01 взема инструкциите. Така че по принцип командите AT, с които ESP01 работи, се отпечатват в серийния монитор, които се приемат като входна команда от ESP-01. За да инсталирате тези библиотеки, след като ги изтеглите, отворете Arduino IDE, отидете на Sketch -> Include Library -> Add. Zip library и изберете изтеглените библиотеки.

Стъпка 3: Програмиране на системата

Програмиране на системата
Програмиране на системата

Преди да програмирате OPENSDL, свържете Arduino с лаптоп. След свързване отидете на Инструменти -> Порт и изберете COM порта, в който е свързан OPENSDL. Също така се уверете, че под Инструменти -> Платки е избрано Arduino Uno.

OPENSDL е разработен за работа в 2 режима. В първия режим той съхранява данните на SD картата върху щита на регистратора на данни. Във втория режим той изпраща данните през интернет до уебсайт, като използва Wi-Fi чип ESP-01. Програмата и за двата режима е различна. Тези редове от код могат да бъдат директно копирани и поставени в редактора на Arduino IDE и използвани директно. Веднъж в кода, трябва да направим няколко персонализации според нашите нужди:

  1. Ръчно променете стойността на забавяне (1000) в края на кода, за да промените интервала на регистриране. Стойността 1000 представлява интервал в милисекунди.
  2. Редактирайте реда с код, който казва mySensorData = SD.open ("Logged01.csv", FILE_WRITE); и заменете Logged01 с името на файла с желаното име на файл. Разширението на файла може също да бъде променено чрез промяна на.csv разширението точно след името на файла.
  3. Уравнението за калибриране, постигнато чрез намиране на корелацията между главния/референтния сензор и BME280, ще варира при всеки сензор. Заменете този ред код с уравнението за калибриране на сензорите: Serial.print ((1.0533*t2) -2.2374)-за сензор с адрес по подразбиране (0x77), където t2 е стойността, отчетена от температурния сензор.

Предвидена е отделна програма за програмиране на втория наличен режим на OPENSDL, който е безжичната система. ESP-01 трябва да бъде свързан към OPENSDL според връзките, както е обяснено в Стъпка #2. След като завършите връзките, свържете Arduino към лаптопа и качете празна скица в Arduino. Поставете ESP-01 в режим на актуализация и актуализирайте фърмуера до последната налична актуализация. След актуализиране, уверете се, че сте свързали щифта за нулиране на Arduino с 3.3V пина, който заобикаля буутлоудъра на Arduino

Стъпка 4: Изработка

Изработка
Изработка
Изработка
Изработка
Изработка
Изработка

Създаден е корпус за OPENSDL за защита и подобряване на естетиката. Корпусите са разработени чрез 3D печат с помощта на PLA материал, а корпусът за микроконтролера е разработен чрез лазерно рязане на MDF листа и залепване на парчетата заедно. 3D отпечатаните модели са разработени с помощта на софтуер SketchUp, а 2D dxf чертежите за лазерно рязане са създадени с помощта на AutoCAD.

За 3D печат, STL файловете, произведени с помощта на SketchUp, бяха отворени и проверени в софтуера Ultimaker Cura 3.2.1. Уверете се, че се използва PLA материал, а дюзата на използвания принтер е за 0,4 мм печат. Плочата за изграждане на 3D принтера може да изисква лепило, за да залепи 3D отпечатания обект. Но когато отпечатването приключи, лепилото създава силно сцепление между отпечатания обект и плочата за изграждане.

Стъпка 5: Код

Кодът (.ino файлове) е създаден да работи в софтуера Arduino IDE. Ето връзката към моята страница на Github за кода и други подробности.

github.com/arihant93/OPENSDL

Моля, не се колебайте да задавате въпроси относно проекта.

Благодаря.

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