Sisällysluettelo:

Open Source Data Logger (OPENSDL): 5 vaihetta (kuvien kanssa)
Open Source Data Logger (OPENSDL): 5 vaihetta (kuvien kanssa)

Video: Open Source Data Logger (OPENSDL): 5 vaihetta (kuvien kanssa)

Video: Open Source Data Logger (OPENSDL): 5 vaihetta (kuvien kanssa)
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Heinäkuu
Anonim
Avoimen lähdekoodin dataloggeri (OPENSDL)
Avoimen lähdekoodin dataloggeri (OPENSDL)
Avoimen lähdekoodin dataloggeri (OPENSDL)
Avoimen lähdekoodin dataloggeri (OPENSDL)
Avoimen lähdekoodin dataloggeri (OPENSDL)
Avoimen lähdekoodin dataloggeri (OPENSDL)

Tämän projektin tavoitteena on suunnitella, rakentaa ja testata edullinen mittausjärjestelmä rakennusten suorituskyvyn arviointitutkimuksiin, jotka sisältävät vähintään lämpötilan, suhteellisen kosteuden, valaistuksen ja jotka voidaan laajentaa muihin antureihin, ja kehittää näiden laitteiden prototyyppi.

Tuloksena on räätälöity ja edullinen järjestelmä, jonka avulla sidosryhmät voivat suorittaa rakennuksen suorituskyvyn arvioinnin edellyttämät mittaukset tehokkaasti ja edullisesti kirjaamalla useita ympäristöparametreja kerralla. Kehitettyä avoimen lähdekoodin dataloggeria (OPENSDL) verrattiin HOBO U12-012 -dataloggeriin. Tämä kaupallisesti saatavana oleva vastinejärjestelmä voi mitata 3 parametria, nimittäin lämpötilan, suhteellisen kosteuden ja valaistuksen, sekä yhden ulkoisen kanavan muille anturityypeille. Minkä tahansa muun parametrin mittaamiseen tarvitaan erilainen anturi. Mitattavien parametrien ominaisuudet rajoittuvat omaan laitteistoon ja ohjelmistoon, mikä rajoittaa järjestelmän tiettyjen parametrien mittaamiseen erityisillä tarkkuuksilla. HOBO U12-012 maksaa noin ₹ 13 000 (185 dollaria), kun taas OPENSDL maksaa 4 605 ₹ (66 dollaria), mikä on lähes kolmannes kaupallisesta vastineesta.

Avoimen lähdekoodin dataloggeri lämpötilan, suhteellisen kosteuden ja valotasojen (valaistuksen) seuraamiseen Arduino Unon avulla. Tämä on DIY OPENSDL -dataloggerin kehittämiseen.

Tarvittava aika: 2-3 tuntia juottamiseen, 5 tuntia pakkaamiseen (4 tuntia - 3D -tulostus ja 1 tunti laserleikkaukseen) Vaadittavat taidot: Juotto, ohjelmoinnin ja elektroniikan tuntemus on vähäinen tai ei lainkaan

Tarvittavat osat:

  1. Arduino Uno kaapelilla
  2. Tiedonkerääjän suoja
  3. CR1220 -nappiparisto
  4. BME280 lämpötila kosteuspaineanturin katkaisukortti
  5. TSL2561 valoanturin katkaisukortti
  6. ESP01-8266 Wi-Fi-moduuli
  7. RJ-9 uros- ja naarasliitin
  8. Kilven pinoamisotsikot Arduinolle
  9. SD -muistikortti (mikä tahansa kapasiteetti)
  10. Vektorilevy (26 x 18 reikää)
  11. 8 AA -paristoa Paristopidike

Tarvittavat työkalut:

  • Juotosrauta (35W)
  • Juotoslanka
  • Lankaleikkuri
  • Puristustyökalu
  • Yleismittari

Tarvittava ohjelmisto: Arduino IDE (1.0.5 tai uudempi)

Käytetyt Arduino -kirjastot:

  • Lankakirjasto
  • SparkFun TSL2561 -kirjasto
  • Cactus BME280 -monianturikirjasto
  • SD -kortin kirjasto
  • SPI -kirjasto
  • RTC -kirjasto

Huomautus: BME280 -anturi on erittäin tarkka Boschin lämpötila-, suhteellisen kosteus- ja paineanturi. Vastaavasti DS1307 on tarkka reaaliaikainen kello Maximilta ja TSL2561 on tarkka valosensori. Näille tuotteille on halvempia ja vähemmän tarkkoja vaihtoehtoja, mutta tämä opetusohjelma oli tarkoitettu ihmisille, jotka olivat kiinnostuneita keräämään tietoja rakennusten suorituskyvyn arviointia ja suurta tarkkuutta vaativien rakennusten valvontasovelluksia varten. Tämä tarkoittaa, että kaikki erityiset laitteisto- ja ohjelmistoasetukset (kirjastot, ohjelmakoodi) oli tarkoitettu vain määritetyille tuotteille.

Vaihe 1: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Dataloggeri -kilpi voidaan pinota helposti Arduino Uno -levyn päälle. Tämä suoja tarjoaa tiedon kirjausominaisuudet (ajan säilyttäminen ja tietojen tallennus). Kilpi oli pinottava. CR1220 -nappiparisto oli asetettava mukana toimitettuun pyöreään paikkaan, jotta kello pysyisi käynnissä, vaikka Arduino olisi sammutettu. SD-muistikortti on asetettava mukana toimitettuun korttipaikkaan. Ainutlaatuinen räätälöity kilpi kehitettiin käyttämällä RJ-9-liittimen naaraspuolisia nastoja ja Arduino-kilpipinoamisotsikoita. Sopivat otsikot juotettiin sopiviin paikkoihin, jotta kilpi sopii täydellisesti Arduino -levylle. Arduinossa on 18 nastaa toisella puolella ja 14 nastaa toisella puolella. Otsikoita, joissa on sama määrä nastoja, käytettiin samoilla väleillä (18 nastaa toisistaan) kuin Arduinolla. Ylätunnistimien vieressä oleva ylimääräinen tila käytettiin RJ-9-liittimen sijoittamiseen.

Otsikot olivat paras tapa käyttää vaadittuja tappeja samalla, kun ne olivat edelleen muiden komponenttien käytettävissä. Käytetyt anturit noudattavat I2C -tiedonsiirtoprotokollaa, joka vaatii 4 nastaa Arduinolta, nimittäin: SDA (saatavana myös A4 -muodossa), SCL (saatavana myös A5 -muodossa), 3,3 V ja GND. RJ-9-liittimestä tulevat neljä johtoa juotettiin näihin neljään otsatappiin. Tarvittavien RJ-9-liittimien määrä riippuu antureiden määrästä. Tässä projektissa käytettiin 3 RJ-9-liitintä (kaksi BME280: lle ja yksi TSL2561: lle). RJ-9-liittimestä tulevat neljä johtoa oli värikoodattu, ja jokainen värijohto oli nimetty erityiseksi tapiksi kaikille RJ-9-liittimille. On huomattava, että värikoodi voi vaihdella eri RJ-9-kappaleissa. Tällaisessa tapauksessa johtimen sijainti liittimessä on merkittävä muistiin. Juottamisen jälkeen RJ-9-liitin kiinnitettiin vektorilevylle Feviqwikin avulla niin, että se kiinnittyy pintaan. Nämä yhteydet voidaan tarkistaa käyttämällä yleismittarin jatkuvuustilaa. Jatkuvuustilassa multimetrin pitäisi näyttää nollavastusta. Liitä yksi yleismittarin anturista juotettuun tapiin ja toinen anturi RJ-9-liittimen sisällä olevaan nastaan. Yleismittarin pitäisi antaa merkkiääni, mikä tarkoittaa, että juotosliitokset ovat oikein ja liitännät on tehty oikein. Jos ääni ei kuulu, tarkista juotosliitokset. Samoin juotetaan RJ-9-liitin samoilla johtimilla, jotka on kytketty samoihin nastareikiin anturien katkaisulevyissä, eli A4, A5, 3.3V ja GND. BME280 -anturi tukee kahta I2C -osoitetta, joten samaan ohjaimeen voidaan yhdistää kaksi BME280 -anturia kerralla. Samalla yhden anturin osoite on muutettava yhdistämällä anturin juotoslevyt. Langaton yhteys ESP-01 vaati seuraavia yhteyksiä Arduinon kanssa.

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

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

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

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

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

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

Huomautus:- Arduino Unon useat LEDit poistettiin akun käyttöiän pidentämiseksi. Virran merkkivalo, RX- ja TX -LEDit poistettiin kuumentamalla juotosliitoksia ja työntämällä LEDiä pihdeillä.

Vaihe 2: Määritä IDE: t ja kirjastot

Ennen kuin teet mitään ohjelmointia, sinun on ladattava Arduino IDE (Integrated Development Environment). Ohjelmointi tehtiin tällä alustalla. Eri kirjastoja vaadittiin olemaan vuorovaikutuksessa OPENSDL: n eri osien kanssa. Seuraavia kirjastoja käytettiin annetuille komponenteille.

Komponentti ------------------------------------------------- --------------Kirjasto

BME280 lämpötila- ja kosteusanturi --------------------------------- Cactus_io_BME280_I2C.h

Valoanturi ------------------------------------------------ ---------------- SparkFun TSL2561.h

Reaaliaikainen kello ----------------------------------------------- ------------- RTClib.h

SD-korttipaikka ----------------------------------------------- ------------- SD.h

I2C-liitäntä ------------------------------------------------ ------------- johto. H

Erillistä kirjastoa ESP01: n kanssa kommunikoimiseksi ei tarvita, koska Arduinoon ladatussa koodissa on AT-komennot, jotka lähetetään sarjamonitoriin, josta ESP-01 ottaa ohjeet. Periaatteessa ESP01: n suorittamat AT-komennot tulostetaan sarjamonitoriin, jotka ESP-01 ottaa syöttökomennoiksi. Asenna nämä kirjastot lataamisen jälkeen avaamalla Arduino IDE, valitsemalla Luonnos -> Sisällytä kirjasto -> Lisää. Zip -kirjasto ja valitsemalla ladatut kirjastot.

Vaihe 3: Järjestelmän ohjelmointi

Järjestelmän ohjelmointi
Järjestelmän ohjelmointi

Ennen kuin ohjelmoit OPENSDL: n, yhdistä Arduino kannettavaan tietokoneeseen. Kun olet muodostanut yhteyden, valitse Työkalut -> Portti ja valitse COM -portti, johon OPENSDL on kytketty. Varmista myös, että kohdasta Työkalut -> Taulut, Arduino Uno on valittu.

OPENSDL on kehitetty toimimaan kahdessa tilassa. Ensimmäisessä tilassa se tallentaa tiedot SD -kortille tiedonkeruulaitteeseen. Toisessa tilassa se lähettää tiedot Internetin kautta verkkosivustolle käyttämällä ESP-01 Wi-Fi -piiriä. Molempien tilojen ohjelma on erilainen. Nämä koodirivit voidaan kopioida ja liittää suoraan Arduino IDE -editoriin ja käyttää suoraan. Kun koodi on kirjoitettu, meidän on tehtävä joitain mukautuksia tarpeidemme mukaan:

  1. Muuta manuaalisesti viiveen arvoa (1000) koodin lopussa kirjausvälin muuttamiseksi. Arvo 1000 edustaa aikaväliä millisekunteina.
  2. Muokkaa koodiriviä, joka sanoo mySensorData = SD.open ("Logged01.csv", FILE_WRITE); ja korvaa Logged01 halutun tiedostonimen tiedostonimellä. Tiedoston laajennusta voidaan muuttaa myös muuttamalla.csv -tiedostotunnistetta heti tiedostonimen jälkeen.
  3. Kalibrointiyhtälö, joka saadaan pää-/referenssianturin ja BME280: n välisen korrelaation löytämisellä, vaihtelee kullakin anturilla. Korvaa tämä koodirivi yhtälöllä antureiden kalibroimiseksi: Sarjajälki ((1.0533*t2) -2.2374)-anturille, jonka oletusosoite (0x77) on, jossa t2 on lämpötila-anturista luettu arvo.

OPENSDL: n toisen käytettävissä olevan tilan, joka on langaton järjestelmä, ohjelmointiin on erillinen ohjelma. ESP-01 on liitettävä OPENSDL-liitäntään vaiheiden 2 mukaisesti. Kun liitännät on tehty, liitä Arduino kannettavaan tietokoneeseen ja lataa tyhjä luonnos Arduinoon. Aseta ESP-01 päivitystilaan ja päivitä laiteohjelmisto uusimpaan saatavilla olevaan päivitykseen. Päivityksen jälkeen muista liittää Arduinon nollausnasta 3,3 V: n nastaan, joka ohittaa Arduino -käynnistyslataimen

Vaihe 4: Valmistus

Valmistus
Valmistus
Valmistus
Valmistus
Valmistus
Valmistus

OPENSDL -kotelo luotiin suojaamaan ja parantamaan estetiikkaa. Kotelot kehitettiin 3D -tulostuksella käyttäen PLA -materiaalia, ja mikrokontrollerin kotelo kehitettiin leikkaamalla MDF -levy laserilla ja liimaamalla kappaleet yhteen. 3D -tulostetut mallit kehitettiin SketchUp -ohjelmiston avulla ja 2D -dxf -piirustukset laserleikkaukseen luotiin AutoCAD -ohjelmalla.

3D -tulostuksessa SketchUpilla tuotetut STL -tiedostot avattiin ja tarkistettiin Ultimaker Cura 3.2.1 -ohjelmistossa. Varmista, että käytetään PLA -materiaalia ja että tulostimen suutin on tarkoitettu 0,4 mm: n tulostamiseen. 3D -tulostimen rakennuslevy saattaa vaatia liimaa 3D -tulostetun kohteen liimaamiseen. Mutta kun tulostus on valmis, liima luo vahvan tartunnan painetun kohteen ja rakennuslevyn väliin.

Vaihe 5: Koodi

Koodi (.ino -tiedostot) on tehty toimimaan Arduino IDE -ohjelmistossa. Tässä on linkki Github -sivulleni, jossa on koodi ja muut tiedot.

github.com/arihant93/OPENSDL

Älä epäröi esittää kysymyksiä projektista.

Kiitos.

Suositeltava: