Innehållsförteckning:

Open Source Data Logger (OPENSDL): 5 steg (med bilder)
Open Source Data Logger (OPENSDL): 5 steg (med bilder)

Video: Open Source Data Logger (OPENSDL): 5 steg (med bilder)

Video: Open Source Data Logger (OPENSDL): 5 steg (med bilder)
Video: Comptia Security+ SY0-601 Exam Cram DOMAIN 4 2024, November
Anonim
Dataloggare med öppen källkod (OPENSDL)
Dataloggare med öppen källkod (OPENSDL)
Dataloggare med öppen källkod (OPENSDL)
Dataloggare med öppen källkod (OPENSDL)
Dataloggare med öppen källkod (OPENSDL)
Dataloggare med öppen källkod (OPENSDL)

Syftet med detta projekt är att designa, bygga och testa ett lågkostnadsmätningssystem för utvärderingar av byggprestanda som inkluderar åtminstone temperatur, relativ luftfuktighet, belysningsstyrka och kan utvidgas till ytterligare sensorer och utveckla prototypen för dessa enheter.

Detta resulterar i ett anpassat och prisvärt system som gör det möjligt för intressenter att utföra de mätningar som krävs för att bygga prestandautvärdering på ett effektivt och prisvärt sätt genom att logga flera miljöparametrar samtidigt. Den utvecklade Open Source Data Logger (OPENSDL) jämfördes med en HOBO U12-012 datalogger. Detta kommersiellt tillgängliga motsvarighetssystem kan mäta 3 parametrar, nämligen temperatur, RH och belysningsstyrka och en extern kanal för andra sensortyper. En annan avkänningsanordning skulle krävas för mätning av någon annan parameter. Egenskaperna hos parametrar som ska mätas är begränsade till maskinvaran och mjukvaran, som begränsar systemet till att mäta vissa parametrar med specifika noggrannheter. En HOBO U12-012 kostar cirka 13 000 £ (185 $), medan OPENSDL kostar 4 605 £ (66 $), vilket är nästan en tredjedel av den kommersiella motsvarigheten.

En datalogger med öppen källkod för övervakning av temperatur, RH och ljusnivåer (belysning) med hjälp av en Arduino Uno Detta är en DIY för att utveckla OPENSDL datalogger.

Tid som krävs: 2-3 timmar för lödning, 5 timmar för förpackning (4 timmar - 3D -utskrift och 1 timme för laserskärning) Färdigheter som krävs: Lödning, liten eller ingen kunskap inom programmering och elektronik

Delar som krävs:

  1. Arduino Uno med kabel
  2. Datalogger -sköld
  3. CR1220 myntcellsbatteri
  4. BME280 temperaturfuktighetstrycksensor brytskiva
  5. TSL2561 ljussensor brytkort
  6. ESP01-8266 Wi-Fi-modul
  7. RJ-9 han- och honkontakt
  8. Sköldstaplingshuvuden för Arduino
  9. SD -minneskort (vilken kapacitet som helst)
  10. Vektorkort (26 x 18 hål)
  11. 8 AA -batterier Batterihållare

Nödvändiga verktyg:

  • Lödkolv (35W)
  • Lödtråd
  • Avbitartång
  • Crimper -verktyg
  • Multimeter

Programvara som krävs: Arduino IDE (1.0.5 eller högre)

Arduino -bibliotek som används:

  • Trådbibliotek
  • SparkFun TSL2561 -bibliotek
  • Cactus BME280 multisensor bibliotek
  • SD -kortbibliotek
  • SPI -bibliotek
  • RTC -bibliotek

Obs! BME280 -sensorn är en mycket exakt temperatur-, relativ luftfuktighets- och trycksensor från Bosch. På samma sätt är DS1307 en exakt realtidsklocka från Maxim och TSL2561 är en exakt ljussensor. Det finns billigare och mindre exakta alternativ för dessa produkter, men denna handledning var riktad till personer som var intresserade av att samla in data för att bygga prestandautvärdering och bygga övervakningsapplikationer som kräver hög precision och noggrannhet. Detta innebär att varje specifik hårdvaruinställning och mjukvaruinställning (bibliotek, programkod) endast var avsedd för de angivna produkterna.

Steg 1: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Dataloggerskölden kan enkelt staplas ovanpå Arduino Uno -kortet. Denna sköld tillhandahåller dataloggningsfunktioner (tidshållning och datalagring). Skölden måste staplas. Ett CR1220 -knappcellsbatteri måste sättas in i den medföljande runda facket för att hålla klockan igång även när Arduino är avstängd. SD-minneskortet måste sättas i den medföljande kortplatsen. En unik skräddarsydd sköld utvecklades med hjälp av RJ-9-kontaktdon och Arduino-sköldstaplingshuvuden. Lämpliga rubriker löddes på lämpliga platser så att skölden passar perfekt på Arduino -kortet. Arduino har 18 stift på ena sidan och 14 stift på andra sidan. Rubrikerna med samma antal stift användes vid samma avstånd (18 stift från varandra) som på Arduino. Det återstående extra utrymmet intill rubrikerna användes för att placera RJ-9-kontakten.

Rubrikerna var det bästa sättet att använda de nödvändiga stiften, samtidigt som de fortfarande var tillgängliga för andra komponenter. Sensorerna som används följer I2C -kommunikationsprotokollet, som kräver 4 stift från Arduino, nämligen: SDA (finns även som A4), SCL (även tillgänglig som A5), 3.3V & GND. De fyra ledningar som kommer ut från RJ-9-kontakten löddes i dessa fyra huvudstiften. Antalet RJ-9-kontakter som krävs beror på antalet sensorer. I detta projekt användes 3 RJ-9-kontakter (två för BME280 och ett för TSL2561). De fyra trådarna som kom ut ur RJ-9-kontakten var färgkodade och varje färgtråd utsågs till en specifik stift för alla RJ-9-kontakter. Det måste noteras att färgkoden kan variera på olika RJ-9-delar. I ett sådant fall måste trådens placering på kontakten noteras. RJ-9-kontakten, efter lödning, gjordes för att fastna på vektorkortet med en Feviqwik, så att den fastnar på ytan. Dessa anslutningar kan verifieras genom att använda kontinuitetsläget på multimetern. I kontinuitetsläge ska multimetern visa nollmotstånd. Anslut en av multimetrarna till lödstiftet och en annan sond till stiftet inuti RJ-9-kontakten. Multimetern ska avge en ton, vilket innebär att lödfogarna är korrekta och anslutningarna har gjorts korrekt. Om tonen inte avges, kontrollera lödfogarna. På samma sätt löds RJ-9-kontakten med samma ledningar som ansluter till samma hål på sensorbrytarkorten, dvs A4, A5, 3.3V och GND. BME280 -sensorn stöder två I2C -adresser, vilket innebär att två BME280 -sensorer kan anslutas till samma kontroller samtidigt. Under tiden måste adressen till en av sensorerna ändras genom att överbrygga lödkuddarna på sensorn. Ett trådlöst ESP-01-chip kräver följande anslutningar med Arduino.

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

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

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

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

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

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

Obs:- De flera lysdioderna på Arduino Uno togs bort för att förbättra batteriets livslängd. Strömindikatorns LED-, RX- och TX -lysdioder togs bort genom att värma upp lödfogarna och trycka på lysdioden med tång.

Steg 2: Konfigurera IDE och bibliotek

Innan du gör någon programmering måste Arduino IDE (Integrated Development Environment) laddas ner. Programmeringen gjordes på denna plattform. Olika bibliotek krävdes för att interagera med olika komponenter i OPENSDL. Följande bibliotek användes för de angivna komponenterna.

Komponent ------------------------------------------------- --------------Bibliotek

BME280 temperatur- och RH-sensor --------------------------------- Cactus_io_BME280_I2C.h

Ljussensor------------------------------------------------ ---------------- SparkFun TSL2561.h

Riktig tids klocka ----------------------------------------------- ------------- RTClib.h

SD-kortuttag ----------------------------------------------- ------------- SD.h

I2C-anslutning ------------------------------------------------- ------------- Wire.h

Ett separat bibliotek för kommunikation med ESP01 krävs inte eftersom koden som laddas upp i Arduino har AT-kommandon, som skickas till den seriella bildskärmen, varifrån ESP-01 tar instruktionerna. Så i princip skrivs de AT-kommandon som ESP01 körs ut i Serial Monitor, som tas som ett inmatningskommando av ESP-01. För att installera dessa bibliotek, efter att ha laddat ner dem, öppna Arduino IDE, gå till Sketch -> Inkludera bibliotek -> Lägg till. Zip -bibliotek och välj de nedladdade biblioteken.

Steg 3: Programmering av systemet

Programmering av systemet
Programmering av systemet

Innan du programmerar OPENSDL, anslut Arduino med en bärbar dator. Efter anslutning går du till Verktyg -> Port och väljer COM -porten där OPENSDL är ansluten. Se också till att Arduino Uno är markerat under Verktyg -> Brädor.

OPENSDL har utvecklats för att fungera i två lägen. I det första läget lagrar den data på SD -kortet på dataloggerskölden. I det andra läget skickar den data över internet till en webbplats med hjälp av ett ESP-01 Wi-Fi-chip. Programmet för båda lägena är annorlunda. Dessa kodrader kan kopieras och klistras in direkt i Arduino IDE -redigeraren och användas direkt. Väl inne i koden måste vi göra några anpassningar enligt våra behov:

  1. Ändra värdet på fördröjning (1000) manuellt i slutet av koden för att ändra loggningsintervallet. Värdet 1000 representerar intervallet i millisekunder.
  2. Redigera kodraden som säger mySensorData = SD.open ("Logged01.csv", FILE_WRITE); och ersätt Logged01 med filnamnet för det önskade filnamnet. Tillägget av filen kan också ändras genom att ändra.csv -tillägget strax efter filnamnet.
  3. Kalibreringsekvationen som uppnås genom att hitta korrelationen mellan Master/referenssensorn och BME280 varierar med varje sensor. Ersätt denna kodrad med ekvationen för kalibrering av sensorerna: Serial.print ((1.0533*t2) -2.2374)-för sensor med standardadress (0x77), där t2 är värdet avläst från temperaturgivaren.

Ett separat program har tillhandahållits för programmering av det andra tillgängliga läget för OPENSDL, vilket är det trådlösa systemet. ESP-01 måste anslutas till OPENSDL enligt anslutningarna enligt förklaringen i steg #2. När du har slutfört anslutningarna ansluter du Arduino till den bärbara datorn och laddar upp en tom skiss i Arduino. Sätt ESP-01 i uppdateringsläget och uppdatera firmware till den senaste tillgängliga uppdateringen. Efter uppdateringen, se till att ansluta återställningsstiftet för Arduino med 3,3V -stiftet, som kringgår Arduino -startladdaren

Steg 4: Tillverkning

Tillverkning
Tillverkning
Tillverkning
Tillverkning
Tillverkning
Tillverkning

Ett hölje för OPENSDL skapades för skydd och för att förbättra estetiken. Höljen utvecklades genom 3D -utskrift med PLA -material och höljet för mikrokontrollern utvecklades genom laserskärning av MDF -arket och limning av bitarna. 3D -tryckta modeller utvecklades med hjälp av SketchUp -programvara och 2D dxf -ritningar för laserskärning skapades med AutoCAD.

För 3D -utskrift öppnades STL -filerna som skapades med SketchUp och kontrollerades i Ultimaker Cura 3.2.1 -programvaran. Se till att PLA -material används och skrivarens munstycke är för 0,4 mm utskrift. Byggplattan på 3D -skrivaren kan kräva lim för att klibba det 3D -tryckta föremålet. Men när utskriften är klar skapar limet en stark vidhäftning mellan det tryckta föremålet och byggplattan.

Steg 5: Kod

Koden (.ino -filer) är gjord för att fungera i Arduino IDE -programvara. Här är länken till min Github -sida för koden och andra detaljer.

github.com/arihant93/OPENSDL

Tveka inte att ställa frågor om projektet.

Tack.

Rekommenderad: