INHOUDSOPGAWE:

Open Source Data Logger (OPENSDL): 5 stappe (met foto's)
Open Source Data Logger (OPENSDL): 5 stappe (met foto's)

Video: Open Source Data Logger (OPENSDL): 5 stappe (met foto's)

Video: Open Source Data Logger (OPENSDL): 5 stappe (met foto's)
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, November
Anonim
Open Source Data Logger (OPENSDL)
Open Source Data Logger (OPENSDL)
Open Source Data Logger (OPENSDL)
Open Source Data Logger (OPENSDL)
Open Source Data Logger (OPENSDL)
Open Source Data Logger (OPENSDL)

Die doel van hierdie projek is om 'n goedkoop metingstelsel vir die bou van prestasie-evalueringsstudies te ontwerp, te bou en te toets, wat ten minste temperatuur, relatiewe humiditeit, beligting en uitbreidbaar vir addisionele sensors insluit en die prototipe van hierdie toestelle te ontwikkel.

Dit lei tot 'n pasgemaakte en bekostigbare stelsel wat belanghebbendes in staat stel om die metings wat nodig is vir die opbou van prestasie -evaluering op 'n doeltreffende en bekostigbare manier uit te voer deur verskeie omgewingsparameters tegelyk aan te meld. Die Open Source Data Logger (OPENSDL) wat ontwikkel is, is vergelyk met 'n HOBO U12-012 datalogger. Hierdie in die handel beskikbare eweknie-stelsel kan 3 parameters meet, naamlik temperatuur, RH en verligting, en een eksterne kanaal vir ander sensorsoorte. 'N Ander meetapparaat is nodig vir die meting van enige ander parameter. Die eienskappe van parameters wat gemeet moet word, is beperk tot die eie hardeware en sagteware, wat die stelsel beperk tot die meting van sekere parameters met spesifieke akkuraatheid. 'N HOBO U12-012 kos ongeveer £ 13 000 (US $ 185), terwyl die OPENSDL £ 4, 605 ($ 66) kos, wat byna 'n derde van die kommersiële eweknie is.

'N Open source datalogger vir die monitering van temperatuur, RH en ligvlakke (verligting) met behulp van 'n Arduino Uno Dit is 'n DIY om die OPENSDL -datalogger te ontwikkel.

Tyd benodig: 2-3 uur vir soldeer, 5 uur vir verpakking (4 uur - 3D -druk, en 1 uur vir lasersny) Vereiste vaardighede: soldeer, min of geen kennis in programmering en elektronika

Onderdele benodig:

  1. Arduino Uno met kabel
  2. Data logger skild
  3. CR1220 muntstuk battery
  4. BME280 temperatuurvogdruksensor -uitbreekbord
  5. TSL2561 ligsensor -uitbreekbord
  6. ESP01-8266 Wi-Fi-module
  7. RJ-9 manlike en vroulike aansluiting
  8. Skildstapelkoppe vir Arduino
  9. SD geheue kaart (enige kapasiteit)
  10. Vectorbord (26 x 18 gate)
  11. 8 AA -batterye Batteryhouer

Vereiste gereedskap:

  • Soldeerbout (35W)
  • Soldeerdraad
  • Draadsnyer
  • Krimpgereedskap
  • Multimeter

Sagteware benodig: Arduino IDE (1.0.5 of hoër)

Arduino -biblioteke gebruik:

  • Draad biblioteek
  • SparkFun TSL2561 biblioteek
  • Cactus BME280 multisensor biblioteek
  • SD kaart biblioteek
  • SPI biblioteek
  • RTC biblioteek

Opmerking: die BME280 -sensor is 'n baie akkurate temperatuur-, relatiewe humiditeits- en druksensor van Bosch. Net so is die DS1307 'n akkurate intydse klok van Maxim en die TSL2561 'n akkurate ligsensor. Daar is goedkoper en minder akkurate alternatiewe vir hierdie produkte, maar hierdie tutoriaal was gemik op mense wat belangstel in die versameling van data vir die bou van prestasie -evaluering en die bou van moniteringstoepassings wat hoë presisie en akkuraatheid vereis. Dit beteken dat enige spesifieke hardeware -opstelling en sagteware -opstelling (biblioteke, programkode) slegs bedoel was vir die gespesifiseerde produkte.

Stap 1: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Die datalogger -skild kan maklik bo -op die Arduino Uno -bord gestapel word. Hierdie skild bied die data -aanmeldfunksies (tydsberekening en data -berging). Die skild moes gestapel word. 'N CR1220 -knoppieselbattery moes in die ronde gleuf geplaas word om die klok te laat draai, selfs as die Arduino afgeskakel is. Die SD-geheue kaart moet in die ingeboude kaartgleuf geplaas word. 'N Unieke pasgemaakte skild is ontwikkel deur gebruik te maak van RJ-9-connectorpenne en Arduino-skildstapelkoppe. Die toepaslike kopstukke is op die toepaslike plekke gesoldeer, sodat die skild perfek op die Arduino -bord pas. Die Arduino het 18 penne aan die een kant en 14 penne aan die ander kant. Die kopstukke met dieselfde aantal penne is op dieselfde afstand (18 penne uitmekaar) op Arduino gebruik. Die oorblywende ekstra ruimte langs die kopstukke is gebruik om die RJ-9-aansluiting te plaas.

Die kopstukke was die beste manier om die vereiste penne te gebruik, terwyl dit steeds beskikbaar was vir ander komponente. Die gebruikte sensors volg die I2C -kommunikasieprotokol, wat 4 penne van Arduino benodig, naamlik: SDA (ook beskikbaar as A4), SCL (ook beskikbaar as A5), 3.3V en GND. Die vier drade wat uit die RJ-9-aansluiting kom, is in hierdie vier koppenne gesoldeer. Die aantal RJ-9-verbindings wat benodig word, hang af van die aantal sensors. In hierdie projek is 3 RJ-9-verbindings gebruik (twee vir BME280 en een vir TSL2561). Die vier drade wat uit die RJ-9-aansluiting kom, is gekleurd en elke kleurdraad is 'n spesifieke pen vir al die RJ-9-verbindings. Daar moet op gelet word dat die kleurkode vir verskillende RJ-9-stukke kan verskil. In so 'n geval moet die ligging van die draad op die aansluiting aangeteken word. Die RJ-9-aansluiting, nadat dit gesoldeer is, is met behulp van 'n Feviqwik op die vektorbord geplak sodat dit op die oppervlak vasgemaak word. Hierdie verbindings kan geverifieer word deur die kontinuïteitsmodus op die multimeter te gebruik. In die kontinuïteitsmodus moet die multimeter nulweerstand toon. Koppel een van die sondes van die multimeter aan die gesoldeerde pen en 'n ander sonde aan die pen in die RJ-9-aansluiting. Die multimeter moet 'n toon gee, wat beteken dat die soldeerverbindings korrek is en dat die verbindings behoorlik gemaak is. Kontroleer die soldeerverbindings as die toon nie uitgestraal word nie. Soldeer die RJ-9-aansluiting op dieselfde manier met dieselfde drade wat verbind is met dieselfde gaatjies op die sensorbreukborde, dit wil sê A4, A5, 3.3V en GND. Die BME280 -sensor ondersteun twee I2C -adresse, wat beteken dat twee BME280 -sensors tegelyk aan dieselfde beheerder gekoppel kan word. Terwyl u dit doen, moet die adres van een van die sensors verander word deur die soldeerblokkies op die sensor te oorbrug. 'N ESP-01-draadlose verbindingskyfie het die volgende verbindings met die Arduino vereis.

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

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

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

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

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

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

Nota:- Die veelvuldige LED's op Arduino Uno is verwyder om die batterylewe te verbeter. Die LED's vir die kragindikator, RX en TX is verwyder deur die soldeerverbindings te verhit en die LED met 'n tang te druk.

Stap 2: Stel IDE's en biblioteke op

Voordat u programmeer, moet Arduino IDE (Integrated Development Environment) afgelaai word. Die programmering is op hierdie platform gedoen. Verskillende biblioteke moes interaksie hê met verskillende komponente van OPENSDL. Die volgende biblioteke is vir die gegewe komponente gebruik.

Komponent ------------------------------------------------- -------------- Biblioteek

BME280 temperatuur- en RH-sensor --------------------------------- Cactus_io_BME280_I2C.h

Lichtsensor ------------------------------------------------- ---------------- SparkFun TSL2561.h

Intydse klok ----------------------------------------------- ------------- RTClib.h

SD-kaartaansluiting ----------------------------------------------- ------------- SD.h

I2C-verbinding ------------------------------------------------- ------------- Draad.h

'N Afsonderlike biblioteek vir kommunikasie met die ESP01 is nie nodig nie, aangesien die kode wat in die Arduino opgelaai is, AT-opdragte het, wat na die seriële monitor gestuur word, vanwaar die ESP-01 die instruksies neem. Die AT-opdragte waarmee ESP01 uitgevoer word, word dus in die Serial Monitor gedruk, wat as 'n invoeropdrag deur ESP-01 geneem word. Vir die installering van hierdie biblioteke, nadat u dit afgelaai het, maak u die Arduino IDE oop, gaan na Sketch -> Include Library -> Add. Zip library, en kies die afgelaaide biblioteke.

Stap 3: Die stelsel programmeer

Die stelsel programmeer
Die stelsel programmeer

Koppel die Arduino met 'n skootrekenaar voordat u die OPENSDL programmeer. Na die verbinding, gaan na Tools -> Port en kies die COM -poort waarin die OPENSDL gekoppel is. Maak ook seker dat onder Tools -> Boards, Arduino Uno gekies is.

Die OPENSDL is ontwikkel om in twee modusse te werk. In die eerste modus stoor dit die data op die SD -kaart op die datalogger -skild. In die tweede modus stuur dit die data via die internet na 'n webwerf deur 'n ESP-01 Wi-Fi-chip te gebruik. Die program vir beide modusse is anders. Hierdie kode lyne kan direk in die Arduino IDE -redakteur gekopieer en geplak word en direk gebruik word. Sodra ons in die kode is, moet ons 'n paar aanpassings maak volgens ons behoeftes:

  1. Verander die waarde van die vertraging (1000) aan die einde van die kode handmatig om die aanmeldinterval te verander. Die waarde 1000 verteenwoordig interval in millisekondes.
  2. Wysig die kodelyn wat sê mySensorData = SD.open ("Logged01.csv", FILE_WRITE); en vervang die Logged01 met die lêernaam van die gewenste lêernaam. Die uitbreiding van die lêer kan ook verander word deur die.csv -uitbreiding net na die lêernaam te verander.
  3. Die kalibrasievergelyking wat verkry word deur die korrelasie tussen die Master/verwysingsensor en die BME280 te vind, sal met elke sensor wissel. Vervang hierdie kodereël met die vergelyking vir die kalibrering van die sensors: Serial.print ((1.0533*t2) -2.2374)-vir sensor met standaardadres (0x77), waar t2 die waarde is wat deur die temperatuursensor gelees word.

'N Afsonderlike program is voorsien vir die programmering van die tweede beskikbare modus van OPENSDL, wat die draadlose stelsel is. Die ESP-01 moet aan die OPENSDL gekoppel word volgens die verbindings soos uiteengesit in stap #2. Nadat u die verbindings voltooi het, koppel die Arduino aan die skootrekenaar en laai 'n leë skets in die Arduino op. Plaas die ESP-01 in die opdateringsmodus en werk die firmware op na die nuutste beskikbare opdatering. Nadat u dit bygewerk het, moet u die resetpen van Arduino verbind met die 3.3V -pen, wat die Arduino -laaiprogram omseil

Stap 4: Vervaardiging

Vervaardiging
Vervaardiging
Vervaardiging
Vervaardiging
Vervaardiging
Vervaardiging

'N Omhulsel vir OPENSDL is gemaak vir beskerming en om die estetika te verbeter. Die omhulsels is ontwikkel deur 3D -druk met behulp van PLA -materiaal, en die omhulsel vir die mikrobeheerder is ontwikkel deur die MDF -vel met laser te sny en die stukke aan mekaar te plak. Die 3D -gedrukte modelle is ontwikkel met behulp van SketchUp -sagteware, en die 2D dxf -tekeninge vir lasersny is gemaak met behulp van AutoCAD.

Vir 3D -drukwerk is die STL -lêers wat met SketchUp vervaardig is, oopgemaak en in Ultimaker Cura 3.2.1 sagteware nagegaan. Maak seker dat PLA -materiaal gebruik word en dat die spuitstuk van die drukker vir die druk van 0,4 mm gebruik word. Die bouplaat van die 3D -drukker benodig dalk gom om die 3D -gedrukte voorwerp vas te plak. Maar as die drukwerk voltooi is, skep die gom 'n sterk hechting tussen die gedrukte voorwerp en die bouplaat.

Stap 5: Kode

Die kode (.ino lêers) word gemaak om te werk in Arduino IDE sagteware. Hier is die skakel na my Github -bladsy vir die kode en ander besonderhede.

github.com/arihant93/OPENSDL

Moet asseblief nie huiwer om vrae oor die projek te stel nie.

Dankie.

Aanbeveel: