Taula de continguts:

Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)
Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)

Vídeo: Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)

Vídeo: Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)
Vídeo: Java tech talk: Spring Boot and GraphQl integration. Как сделать это просто? 2024, De novembre
Anonim
Registrador de dades de codi obert (OPENSDL)
Registrador de dades de codi obert (OPENSDL)
Registrador de dades de codi obert (OPENSDL)
Registrador de dades de codi obert (OPENSDL)
Registrador de dades de codi obert (OPENSDL)
Registrador de dades de codi obert (OPENSDL)

L’objectiu d’aquest projecte és dissenyar, construir i provar un sistema de mesura de baix cost per als estudis d’avaluació del rendiment de l’edifici que inclogui almenys temperatura, humitat relativa, il·luminació i sigui extensible a sensors addicionals, i desenvolupar el prototip d’aquests dispositius..

Això es tradueix en un sistema personalitzat i assequible que permet als grups d'interès dur a terme les mesures necessàries per a l'avaluació del rendiment de l'edifici d'una manera eficaç i assequible registrant múltiples paràmetres ambientals alhora. El registre de dades de codi obert (OPENSDL) desenvolupat es va comparar amb un registrador de dades HOBO U12-012. Aquest sistema de contrapartida disponible al mercat pot mesurar 3 paràmetres, a saber: temperatura, HR i il·luminació, i un canal extern per a altres tipus de sensors. Es necessitaria un dispositiu de detecció diferent per mesurar qualsevol altre paràmetre. Les característiques dels paràmetres a mesurar es limiten al maquinari i al programari propietaris, que restringeixen el sistema a la mesura de certs paràmetres amb precisions específiques. Un HOBO U12-012 costa al voltant de 13.000 euros (185 dòlars EUA), mentre que l’OPENSDL costa 4.660 ₹ (66 dòlars EUA), que és gairebé un terç de la contrapart comercial.

Un registre de dades de codi obert per controlar la temperatura, l'HR i els nivells de llum (il·luminació) amb l'ajut d'un Arduino Uno. Aquest és un bricolatge per desenvolupar el registre de dades OPENSDL.

Temps requerit: 2-3 hores per soldar, 5 hores per embalar (4 hores - impressió 3D i 1 hora per tall per làser) Habilitats necessàries: soldadura, poc o cap coneixement en programació i electrònica

Peces necessàries:

  1. Arduino Uno amb cable
  2. Escut de registre de dades
  3. Bateria mòbil CR1220
  4. Tauler de trencament del sensor de pressió d’humitat de temperatura BME280
  5. Tauler de sortida de sensor de llum TSL2561
  6. Mòdul Wi-Fi ESP01-8266
  7. Connector RJ-9 mascle i femella
  8. Capçaleres d'apilament d'escuts per a Arduino
  9. Targeta de memòria SD (qualsevol capacitat)
  10. Tauler vectorial (forats de 26 x 18)
  11. 8 bateries AA Suport de bateria

Eines necessàries:

  • Soldador (35W)
  • Filferro de soldadura
  • Tallador de filferro
  • Eina de premsat
  • Multímetre

Cal programari: Arduino IDE (1.0.5 o superior)

Biblioteques Arduino utilitzades:

  • Biblioteca de cables
  • Biblioteca SparkFun TSL2561
  • Biblioteca multisensor Cactus BME280
  • Biblioteca de targetes SD
  • Biblioteca SPI
  • Biblioteca RTC

Nota: El sensor BME280 és un sensor de temperatura, humitat relativa i pressió molt precís de Bosch. De la mateixa manera, el DS1307 és un rellotge precís en temps real de Maxim i el TSL2561 és un sensor de llum precís. Hi ha alternatives menys costoses i menys precises per a aquests productes, però aquest tutorial va dirigit a persones que estaven interessades en recopilar dades per avaluar el rendiment de l'edifici i aplicar aplicacions de control de l'edifici que requereixin una alta precisió i precisió. Això significa que la configuració de programari i de maquinari específica (biblioteques, codi de programa) es va fer exclusivament per als productes especificats.

Pas 1: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

El blindatge del registre de dades es pot apilar fàcilment a la part superior de la placa Arduino Uno. Aquest escut proporciona les capacitats de registre de dades (temps i emmagatzematge de dades). L’escut s’havia d’apilar. S'havia d'inserir una bateria de cèl·lula de moneda CR1220 a la ranura rodona proporcionada per mantenir el rellotge en funcionament fins i tot quan l'Arduino està apagat. La targeta de memòria SD s'ha d'inserir a la ranura de targeta incorporada que es proporciona. Es va desenvolupar un blindatge personalitzat únic mitjançant l'ús de pins femelles del connector RJ-9 i capçaleres d'apilament de blindatge Arduino. Les capçaleres adequades es van soldar als llocs adequats perquè l’escut encaixi perfectament a la placa Arduino. L'Arduino té 18 pins a un costat i 14 pins a l'altre costat. Les capçaleres amb el mateix nombre de pins es van utilitzar al mateix espai (18 pins separats) que a Arduino. L’espai addicional restant adjacent a les capçaleres es va utilitzar per col·locar el connector RJ-9.

Les capçaleres eren la millor manera d’utilitzar els pins necessaris, mentre que els feien encara disponibles per a l’ús d’altres components. Els sensors utilitzats segueixen el protocol de comunicació I2C, que requereix 4 pins d'Arduino, a saber: SDA (també disponible com a A4), SCL (també disponible com a A5), 3,3 V i GND. Els quatre cables que sortien del connector RJ-9 es van soldar en aquests quatre pins de capçalera. El nombre de connectors RJ-9 necessaris depèn del nombre de sensors. En aquest projecte, es van utilitzar 3 connectors RJ-9 (dos per a BME280 i un per a TSL2561). Els quatre cables que sortien del connector RJ-9 tenien un codi de colors i cada cable de color es designava com un pin específic per a tots els connectors RJ-9. Cal tenir en compte que el codi de color pot variar en diferents peces RJ-9. En aquest cas, cal tenir en compte la ubicació del cable al connector. Després de soldar, el connector RJ-9 es va enganxar a la placa vectorial mitjançant un Feviqwik, de manera que es fixés a la superfície. Aquestes connexions es poden verificar mitjançant el mode de continuïtat al multímetre. Quan es troba en mode de continuïtat, el multímetre hauria de mostrar resistència nul·la. Connecteu una de les sondes del multímetre al pin soldat i una altra sonda al pin dins del connector RJ-9. El multímetre hauria d’emetre un to, cosa que significa que les juntes de soldadura són adequades i que les connexions s’han fet correctament. Si no s’emet el to, comproveu les juntes de soldadura. De la mateixa manera, soldeu el connector RJ-9 amb els mateixos cables que es connecten als mateixos forats a les plaques de ruptura del sensor, és a dir, A4, A5, 3.3V i GND. El sensor BME280 admet dues adreces I2C, és a dir, que es poden connectar dos sensors BME280 al mateix controlador alhora. En fer-ho, s’ha de canviar l’adreça d’un dels sensors mitjançant el pont de les pastilles de soldadura del sensor. Un xip de connexió sense fils ESP-01 requeria les següents connexions amb l'Arduino.

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

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

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

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

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

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

Nota: - S'han eliminat els múltiples LEDs d'Arduino Uno per millorar la durada de la bateria. Els LED indicadors d’alimentació, els LED RX i TX s’han eliminat escalfant les juntes de soldadura i empenyent el LED amb pinces.

Pas 2: configureu IDE i biblioteques

Abans de fer cap programació, cal descarregar Arduino IDE (Integrated Development Environment). La programació es va fer en aquesta plataforma. Calia que diferents biblioteques interactuessin amb diferents components d’OPENSDL. Es van utilitzar les biblioteques següents per als components donats.

Component ------------------------------------------------- -------------- Biblioteca

Sensor de temperatura i HR BME280 --------------------------------- Cactus_io_BME280_I2C.h

Sensor de llum ------------------------------------------------ ---------------- SparkFun TSL2561.h

Rellotge en temps real ----------------------------------------------- ------------- RTClib.h

Presa de la targeta SD ----------------------------------------------- ------------- SD.h

Connexió I2C ------------------------------------------------ ------------- Wire.h

No cal una biblioteca independent per comunicar-se amb l’ESP01, ja que el codi penjat a l’Arduino té comandes AT, que s’envien al monitor sèrie, des d’on l’ESP-01 pren les instruccions. Així doncs, bàsicament, les ordres AT mitjançant les quals s’executa ESP01 s’imprimeixen al Serial Monitor, que l’ESP-01 pren com a ordre d’entrada. Per instal·lar aquestes biblioteques, després de descarregar-les, obriu l'IDE Arduino, aneu a Sketch -> Inclou biblioteca -> Afegeix biblioteca. Zip i seleccioneu les biblioteques descarregades.

Pas 3: Programació del sistema

Programació del sistema
Programació del sistema

Abans de programar l’OPENSDL, connecteu l’Arduino amb un ordinador portàtil. Després de connectar-vos, aneu a Eines -> Port i seleccioneu el port COM al qual està connectat l’OPENSDL. A més, assegureu-vos que a Eines -> Taulers, estigui seleccionat Arduino Uno.

L'OPENSDL va ser desenvolupat per funcionar en 2 modes. En el primer mode, emmagatzema les dades a la targeta SD a la pantalla del registrador de dades. En segon mode, envia les dades per Internet a un lloc web mitjançant un xip Wi-Fi ESP-01. El programa per als dos modes és diferent. Aquestes línies de codi es poden copiar i enganxar directament a l'editor IDE d'Arduino i utilitzar-les directament. Un cop al codi, hem de fer algunes personalitzacions segons les nostres necessitats:

  1. Canvieu manualment el valor de delay (1000) al final del codi per canviar l'interval de registre. El valor 1000 representa l'interval en mil·lisegons.
  2. Editeu la línia de codi que diu mySensorData = SD.open ("Logged01.csv", FILE_WRITE); i substituïu Logged01 pel nom del fitxer que desitgeu. L'extensió del fitxer també es pot canviar modificant l'extensió.csv just després del nom del fitxer.
  3. L'equació de calibratge aconseguida en trobar la correlació entre el sensor mestre / referència i el BME280 variarà segons cada sensor. Substituïu aquesta línia de codi per l'equació per calibrar els sensors: Serial.print ((1.0533 * t2) -2.2374) - per al sensor amb adreça predeterminada (0x77), on t2 és el valor llegit del sensor de temperatura.

S'ha proporcionat un programa independent per programar el segon mode disponible d'OPENSDL, que és el sistema sense fils. L'ESP-01 s'ha de connectar a l'OPENSDL d'acord amb les connexions tal com s'explica al pas núm. 2. Després de completar les connexions, connecteu l'Arduino a l'ordinador portàtil i pengeu un esbós en blanc a l'Arduino. Poseu l’ESP-01 en mode d’actualització i actualitzeu el firmware a la darrera actualització disponible. Després de l’actualització, assegureu-vos de connectar el pin de restabliment d’Arduino amb el pin de 3,3 V, que evita el carregador d’arrencada d’Arduino.

Pas 4: fabricació

Fabricació
Fabricació
Fabricació
Fabricació
Fabricació
Fabricació

Es va crear un recinte per a OPENSDL per protegir-lo i millorar-ne l’estètica. Les carcasses es van desenvolupar mitjançant la impressió 3D amb material PLA i la carcassa del microcontrolador es va desenvolupar mitjançant el tall làser de la làmina de MDF i l’encolat de les peces. Els models impresos en 3D es van desenvolupar mitjançant el programari SketchUp i els dibuixos 2D dxf per al tall amb làser es van crear mitjançant AutoCAD.

Per a la impressió 3D, els fitxers STL produïts mitjançant SketchUp es van obrir i comprovar al programari Ultimaker Cura 3.2.1. Assegureu-vos que s’utilitza material PLA i que el broquet de la impressora utilitzat serveix per imprimir 0,4 mm. És possible que la placa de construcció de la impressora 3D requereixi cola per enganxar l’objecte imprès en 3D. Però quan es completa la impressió, la cola crea una forta adhesió entre l’objecte imprès i la placa de construcció.

Pas 5: Codi

El codi (fitxers.ino) està fet per funcionar amb el programari IDE Arduino. Aquí teniu l’enllaç a la meva pàgina de Github per obtenir el codi i altres detalls.

github.com/arihant93/OPENSDL

No dubteu a fer preguntes sobre el projecte.

Gràcies.

Recomanat: