Inhoudsopgave:
- Stap 1: Montage
- Stap 2: IDE's en bibliotheken instellen
- Stap 3: Het systeem programmeren
- Stap 4: Fabricage
- Stap 5: Coderen
Video: Open Source Data Logger (OPENSDL): 5 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Het doel van dit project is het ontwerpen, bouwen en testen van een goedkoop meetsysteem voor evaluatiestudies van gebouwprestaties dat ten minste temperatuur, relatieve vochtigheid, verlichtingssterkte omvat en uitbreidbaar is naar extra sensoren, en om het prototype van deze apparaten te ontwikkelen..
Dit resulteert in een op maat gemaakt en betaalbaar systeem waarmee belanghebbenden op een efficiënte en betaalbare manier de metingen kunnen uitvoeren die nodig zijn voor de evaluatie van de gebouwprestaties door meerdere omgevingsparameters tegelijk te registreren. De ontwikkelde Open Source Data Logger (OPENSDL) werd vergeleken met een HOBO U12-012 datalogger. Dit in de handel verkrijgbare tegenhangersysteem kan 3 parameters meten, namelijk temperatuur, RV en verlichtingssterkte, en één extern kanaal voor andere sensortypes. Voor het meten van een andere parameter zou een ander meetapparaat nodig zijn. De kenmerken van te meten parameters zijn beperkt tot de eigen hardware en software, waardoor het systeem beperkt is tot het meten van bepaalde parameters met specifieke nauwkeurigheid. Een HOBO U12-012 kost ongeveer ₹ 13.000 (US $ 185), terwijl de OPENSDL ₹ 4.605 (US $ 66) kost, wat bijna een derde is van de commerciële tegenhanger.
Een open source datalogger voor het bewaken van temperatuur, RV en lichtniveaus (verlichtingssterkte) met behulp van een Arduino Uno Dit is een DIY voor het ontwikkelen van de OPENSDL datalogger.
Benodigde tijd: 2-3 uur solderen, 5 uur verpakken (4 uur - 3D-printen en 1 uur lasersnijden) Benodigde vaardigheden: Solderen, weinig of geen kennis van programmeren en elektronica
Benodigde onderdelen:
- Arduino Uno met kabel
- Afscherming datalogger
- CR1220 knoopcelbatterij
- BME280 temperatuur vochtigheid druksensor breakout board
- TSL2561 lichtsensor breakout board
- ESP01-8266 Wi-Fi-module
- RJ-9 mannelijke en vrouwelijke connector
- Shield-stapelheaders voor Arduino
- SD-geheugenkaart (elke capaciteit)
- Vectorbord (26 x 18 holes)
- 8 AA-batterijen Batterijhouder
Benodigd gereedschap:
- Soldeerbout (35W)
- Soldeerdraad
- Draadknipper
- Krimptang
- Multimeter
Benodigde software: Arduino IDE (1.0.5 of hoger)
Gebruikte Arduino-bibliotheken:
- Draadbibliotheek
- SparkFun TSL2561 bibliotheek
- Cactus BME280 multisensor-bibliotheek
- SD-kaartbibliotheek
- SPI-bibliotheek
- RTC-bibliotheek
Let op: De BME280 sensor is een zeer nauwkeurige temperatuur-, relatieve vochtigheids- en druksensor van Bosch. Evenzo is de DS1307 een nauwkeurige real-time klok van Maxim en is de TSL2561 een nauwkeurige lichtsensor. Er zijn goedkopere en minder nauwkeurige alternatieven voor deze producten, maar deze tutorial was bedoeld voor mensen die geïnteresseerd waren in het verzamelen van gegevens voor het evalueren van bouwprestaties en het bouwen van monitoringtoepassingen die hoge precisie en nauwkeurigheid vereisen. Dit betekent dat elke specifieke hardwareconfiguratie en softwareconfiguratie (bibliotheken, programmacode) uitsluitend bedoeld was voor de gespecificeerde producten.
Stap 1: Montage
Het dataloggerschild kan eenvoudig op het Arduino Uno-bord worden gestapeld. Dit schild biedt de datalogging-mogelijkheden (tijdwaarneming en gegevensopslag). Het schild moest worden gestapeld. Een CR1220 knoopcelbatterij moest in de daarvoor bestemde ronde sleuf worden geplaatst om de klok te laten lopen, zelfs als de Arduino is uitgeschakeld. De SD-geheugenkaart moet in de daarvoor bestemde kaartsleuf aan boord worden geplaatst. Een uniek, op maat gemaakt schild is ontwikkeld met behulp van vrouwelijke RJ-9-connectorpinnen en Arduino-schildstapelheaders. De juiste headers zijn op de juiste locaties gesoldeerd, zodat het schild perfect op het Arduino-bord past. De Arduino heeft 18 pinnen aan de ene kant en 14 pinnen aan de andere kant. De headers met hetzelfde aantal pinnen werden gebruikt op dezelfde afstand (18 pinnen uit elkaar) als op Arduino. De resterende extra ruimte naast de headers werd gebruikt voor het plaatsen van de RJ-9-connector.
De headers waren de beste manier om de vereiste pinnen te gebruiken, terwijl ze nog steeds beschikbaar waren voor gebruik voor andere componenten. De gebruikte sensoren volgen het I2C-communicatieprotocol, waarvoor 4 pinnen van Arduino nodig zijn, namelijk: SDA (ook verkrijgbaar als A4), SCL (ook verkrijgbaar als A5), 3.3V & GND. De vier draden die uit de RJ-9-connector kwamen, werden in deze vier header-pinnen gesoldeerd. Het aantal benodigde RJ-9-connectoren is afhankelijk van het aantal sensoren. In dit project werden 3 RJ-9-connectoren gebruikt (twee voor BME280 en één voor TSL2561). De vier draden die uit de RJ-9-connector kwamen, hadden een kleurcode en elke kleurdraad kreeg een specifieke pin voor alle RJ-9-connectoren. Opgemerkt moet worden dat de kleurcode op verschillende RJ-9-stukken kan variëren. In een dergelijk geval moet de locatie van de draad op de connector worden genoteerd. De RJ-9-connector is na het solderen gemaakt om met een Feviqwik op het vectorbord te plakken, zodat deze op het oppervlak wordt gefixeerd. Deze verbindingen kunnen worden geverifieerd met behulp van de continuïteitsmodus op de multimeter. In continuïteitsmodus moet de multimeter nul weerstand vertonen. Sluit een van de sondes van de multimeter aan op de gesoldeerde pin en een andere sonde op de pin in de RJ-9-connector. De multimeter moet een toon afgeven, wat betekent dat de soldeerverbindingen goed zijn en de verbindingen goed zijn gemaakt. Als de toon niet wordt uitgezonden, controleer dan de soldeerverbindingen. Soldeer op dezelfde manier de RJ-9-connector met dezelfde draden die zijn aangesloten op dezelfde gaatjes op de sensor breakout-kaarten, d.w.z. A4, A5, 3.3V & GND. De BME280-sensor ondersteunt twee I2C-adressen, wat betekent dat twee BME280-sensoren tegelijk op dezelfde controller kunnen worden aangesloten. Daarbij moet het adres van een van de sensoren worden gewijzigd door de soldeerpads op de sensor te overbruggen. Een ESP-01 draadloze verbindingschip vereiste de volgende verbindingen met de Arduino.
ESP-01 ---------Arduino Uno
10 --------------------TX
11 --------------------RX
Vcc ----------------CH_PD
Vcc -------------------Vcc
GND ----------------- GND
Opmerking: - De meerdere LED's op Arduino Uno zijn verwijderd om de levensduur van de batterij te verbeteren. De stroomindicator-LED, RX- en TX-LED's werden verwijderd door de soldeerverbindingen op te warmen en de LED met een pincet in te drukken.
Stap 2: IDE's en bibliotheken instellen
Voordat u programmeert, moet Arduino IDE (Integrated Development Environment) worden gedownload. De programmering gebeurde op dit platform. Er waren verschillende bibliotheken nodig om te communiceren met verschillende componenten van OPENSDL. De volgende bibliotheken werden gebruikt voor de gegeven componenten.
Onderdeel ------------------------------------------------- --------------Bibliotheek
BME280 temperatuur & RV sensor ---------------------------------Cactus_io_BME280_I2C.h
Licht sensor------------------------------------------------ ----------------SparkFun TSL2561.h
Realtime klok ----------------------------------------------- -------------RTClib.h
SD-kaartaansluiting ----------------------------------------------- -------------SD.h
I2C-verbinding ------------------------------------------------ -------------Draad.h
Een aparte bibliotheek voor communicatie met de ESP01 is niet nodig, aangezien de code die in de Arduino is geüpload, AT-commando's heeft, die naar de seriële monitor worden gestuurd, van waaruit de ESP-01 de instructies ophaalt. Dus eigenlijk worden de AT-commando's waarmee ESP01 wordt uitgevoerd, afgedrukt in de seriële monitor, die door ESP-01 als invoercommando worden genomen. Om deze bibliotheken te installeren, opent u na het downloaden de Arduino IDE, gaat u naar Sketch -> Include Library -> Add. Zip-bibliotheek en selecteert u de gedownloade bibliotheken.
Stap 3: Het systeem programmeren
Voordat u de OPENSDL programmeert, sluit u de Arduino aan op een laptop. Ga na het verbinden naar Tools -> Port en selecteer de COM-poort waarop de OPENSDL is aangesloten. Zorg er ook voor dat onder Tools -> Boards, Arduino Uno is geselecteerd.
De OPENSDL is ontwikkeld om in 2 modi te werken. In de eerste modus slaat het de gegevens op de SD-kaart op het dataloggerschild op. In de tweede modus stuurt het de gegevens via internet naar een website met behulp van een ESP-01 Wi-Fi-chip. Het programma voor beide modi is anders. Deze coderegels kunnen direct in de Arduino IDE-editor worden gekopieerd en geplakt en direct worden gebruikt. Eenmaal in de code, moeten we een paar aanpassingen maken volgens onze behoeften:
- Wijzig handmatig de waarde van vertraging (1000) aan het einde van de code om het logboekinterval te wijzigen. De waarde 1000 vertegenwoordigt het interval in milliseconden.
- Bewerk de regel code die zegt mySensorData = SD.open("Logged01.csv", FILE_WRITE); en vervang de Logged01 door de bestandsnaam van de gewenste bestandsnaam. De extensie van het bestand kan ook worden gewijzigd door de extensie.csv net achter de bestandsnaam aan te passen.
- De kalibratievergelijking die wordt bereikt door de correlatie tussen de master-/referentiesensor en de BME280 te vinden, verschilt per sensor. Vervang deze regel code door de vergelijking voor het kalibreren van de sensoren: Serial.print((1.0533*t2)-2.2374) – voor sensor met standaardadres (0x77), waarbij t2 de waarde is die wordt afgelezen van de temperatuursensor.
Er is een apart programma voorzien voor het programmeren van de tweede beschikbare modus van OPENSDL, namelijk het draadloze systeem. De ESP-01 moet worden aangesloten op de OPENSDL volgens de aansluitingen zoals uitgelegd in stap #2. Sluit na het voltooien van de verbindingen de Arduino aan op de laptop en upload een blanco schets in de Arduino. Zet de ESP-01 in de update-modus en update de firmware naar de laatst beschikbare update. Zorg er na het updaten voor dat u de reset-pin van Arduino verbindt met de 3.3V-pin, die de Arduino-bootloader omzeilt
Stap 4: Fabricage
Ter bescherming en ter verbetering van de esthetiek is een behuizing voor OPENSDL gemaakt. De behuizingen zijn ontwikkeld door 3D-printen met PLA-materiaal en de behuizing voor de microcontroller is ontwikkeld door de MDF-plaat te lasersnijden en de stukken aan elkaar te lijmen. De 3D-geprinte modellen zijn ontwikkeld met behulp van SketchUp-software en de 2D dxf-tekeningen voor lasersnijden zijn gemaakt met behulp van AutoCAD.
Voor 3D-printen werden de STL-bestanden geproduceerd met SketchUp geopend en gecontroleerd in Ultimaker Cura 3.2.1-software. Zorg ervoor dat er PLA-materiaal wordt gebruikt en dat het mondstuk van de gebruikte printer geschikt is voor afdrukken van 0,4 mm. De bouwplaat van de 3D-printer heeft mogelijk lijm nodig om het 3D-geprinte object te plakken. Maar wanneer het printen voltooid is, zorgt de lijm voor een sterke hechting tussen het geprinte object en de bouwplaat.
Stap 5: Coderen
De code (.ino-bestanden) is gemaakt om te werken in Arduino IDE-software. Hier is de link naar mijn Github-pagina voor de code en andere details.
github.com/arihant93/OPENSDL
Aarzel niet om vragen te stellen over het project.
Bedankt.
Aanbevolen:
Arduino Learner Kit (Open Source): 7 stappen (met afbeeldingen)
Arduino Learner Kit (Open Source): als je een beginner bent in Arduino World en Arduino gaat leren met wat praktische ervaring, dan is deze Instructables en deze Kit iets voor jou. Deze Kit is ook een goede keuze voor de leraren die graag op een gemakkelijke manier Arduino leren aan hun leerlingen
Open source 3/4/5S lithium BMS: 4 stappen
Open-source 3/4/5S Lithium BMS: In deze Instructable wordt het ontwerp van de BMS345 uitgelegd. Het ontwerp is volledig open source, de ontwerpbestanden zijn te vinden in de GitHub-link in de laatste stap. Ook is er een beperkte voorraad beschikbaar op Tindie.De BMS345 is een BatteryManagement
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
Versiebeheer voor open source hardware: 10 stappen
Versiebeheer voor open source-hardware: het team van Brainbow heeft een aantal elektronicaprojecten onder onze riem en we wilden ons proces delen voor het gebruik van versiebeheer om onze workflow voor elektronicaontwerp te beheren. Deze workflow is gebruikt voor grote en kleine projecten, van eenvoudige
GTP USB PIC PROGRAMMER (Open Source): 5 stappen (met afbeeldingen)
GTP USB PIC PROGRAMMER (Open Source): Dit werk omvat GTP USB (niet plus of lite). Het schema, de foto's en de PCB zijn ontwikkeld door PICMASTERS op basis van een aantal waardevolle werken die eerder zijn gedaan. Deze programmeur ondersteunt pic10F, 12F, 16C, 16F, 18F, 24Cxx Eeprom. Helaas, het w