Inhoudsopgave:

Arduino Pro-mini datalogger: 15 stappen
Arduino Pro-mini datalogger: 15 stappen

Video: Arduino Pro-mini datalogger: 15 stappen

Video: Arduino Pro-mini datalogger: 15 stappen
Video: Amazing arduino project 2024, November
Anonim
Arduino Pro-mini datalogger
Arduino Pro-mini datalogger

Bouwinstructies voor open-source pro-mini Arduino datalogger

Disclaimer: Het volgende ontwerp en de volgende code is gratis te downloaden en te gebruiken, maar wordt zonder enige garantie of garantie geleverd.

Ik moet eerst de getalenteerde mensen bedanken en promoten die het idee voor deze datalogger hebben geïnspireerd en hebben bijgedragen aan de gebruikte code en sensoren. Ten eerste kwam het idee voor de datalogger van de zeer goed ontworpen en goed uitgelegde (sorry onze tutorial is niet zo goed) datalogger van Edward Mallon: https://thecavepearlproject.org/2017/06/19/ arduijn…

Ten tweede zijn de open-source bodemvochtsensoren die hier worden gebruikt, evenals de code/bibliotheek om ze uit te voeren, ontworpen en gebouwd door Catnip Electronics. Dit zijn hoogwaardige sensoren en zeer robuust. Hieronder vindt u informatie over waar u ze kunt kopen en de code kunt verkrijgen om ze uit te voeren (dank u Ingo Fischer).

Stap 1: Materialen, gereedschappen, benodigde apparatuur

Materialen, gereedschappen, benodigde apparatuur
Materialen, gereedschappen, benodigde apparatuur

Pro-mini Arduino-bord. Voor deze toepassing gebruiken we open-source (net als al onze onderdelen) in China gemaakte pro-miniklonen (5V, 16MHz, ATmega 326-microprocessor) (Fig. 1a). Deze boards kunnen worden gekocht op Aliexpress, Ebay en vergelijkbare websites voor minder dan $ 2US. Andere kaarten kunnen echter net zo gemakkelijk worden gebruikt (let op de spanningsvereisten van de benodigde sensoren, evenals de vereisten voor het programmageheugen).

SD-kaart en real-time-klok (RTC) logging-module uitgegeven door Deek-Robot (ID: 8122) (Fig 1b). Deze module bevat een DS13072 RTC en micro-sd-kaartlezer. Deze boards kosten minder dan $2US en zijn zeer robuust.

Arduino nano (ja - "nano") schroefterminaladapter, bracht ook Deek-Robot uit, die voor minder dan $ 2US kan worden gekocht bij Aliexpress of iets dergelijks (Fig. 1c). Zoals je kunt zien, houden we gewoon van AliExpress.

22 gage solid-core geïsoleerde draad (Fig. 1d).

Dataloggerbox (Fig. 1e). We gebruiken dozen van "onderzoekskwaliteit", maar goedkope plastic artikelen werken in de meeste situaties prima.

Batterijhouder voor 4 AA NiMh-batterijen (Fig. 1f). Deze zijn op Aliexpress te koop voor ca. $ 0,20 per stuk (ja - 20 cent). Verspil uw geld niet aan duurdere batterijbehuizingen.

6V, ca 1W zonnepaneel. Kan worden gekocht op Aliexpress voor minder dan $ 2US.

Soldeerbout, soldeer en vloeimiddel van het verleden.

Heet lijmpistool.

Stap 2: Bouwinstructies

Bouw instructies
Bouw instructies

Benodigde tijd voor opbouw: ca 30 tot 60 min.

Maak de nano-terminaladapter klaar voor het solderen.

Voor deze demonstratie zullen we de nano-schroefklemadapter voorbereiden om het aansluiten van drie I2C-bodemvochtsensoren te vergemakkelijken. Met een beetje creativiteit kunnen de schroefklemmen echter op verschillende manieren worden voorbereid om andere apparaten te vergemakkelijken. Als je niet weet wat I2C is, kijk dan op de volgende websites:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Referentie/Wire

Het idee om nano-schroefadapters te gebruiken is ontleend aan het prachtige datalogger-ontwerp van Edward Mallon:

thecavepearlproject.org/2017/06/19/arduino…

Snijd de sporen op de achterkant van de schroefklem tussen de grote en kleine pinnen op posities 3, 5, 9, 10 en 11 (gerekend vanaf de bovenkant van de klem) (Fig. 2). Deze sporen komen overeen met de labels "RST", "A7", "A3", "A2", & "A1" op de schroefaansluiting. Het snijden van de sporen is veel gemakkelijker als je een 'Dremel'-type gereedschap hebt, maar als je dat niet hebt, zal een klein mes gemakkelijk werken. Snijd jezelf niet! Merk op dat de labels op de schroefaansluiting en op de pro-mini niet allemaal hetzelfde zijn (de nano en pro-mini hebben enkele pinnen op verschillende locaties). Dit is een van de nadelen van dit ontwerp, maar het is eenvoudig genoeg om het klemmenbord opnieuw te labelen als u klaar bent, als u dat wilt.

Schraap voorzichtig (met een Dremel of een klein mesje) de dunne laag epoxy direct naast de grote pinnen 9, 10 en 11 (aangeduid met 'A3', 'A2', 'A1' op de nano-terminal) (Fig. 2). De blootgestelde kopercoating onder de epoxy is geaard op het Arduino pro-mini-bord. We zullen dit blootgestelde gedeelte later aan de aangrenzende pinnen solderen, waardoor we drie geaarde schroefklemmen krijgen.

Stap 3: bouwinstructies

Bouw instructies
Bouw instructies

Knip acht 8 cm lange stukken geïsoleerde 22 gauge draad af en strip ongeveer 5 mm isolatie van het ene uiteinde en 3 mm van het andere uiteinde. We raden aan om massieve draad te gebruiken.

Neem vier van deze draden, buig het ene uiteinde 90 graden (het uiteinde met 5 mm of blootliggende draad) en soldeer *over* (d.w.z. alle pinnen verbinden met overvloedig soldeer en vloeimiddel) tot de volgende punten:

Draad 1: grote pinnen 3, 4 en 5 (aangeduid met 'RST', '5V', 'A7' op nano-terminal). We zullen deze drie schroefklemmen wijzigen in drie VCC-klemmen (Fig. 3).

Stap 4: bouwinstructies

Bouw instructies
Bouw instructies

Draad 2: grote pinnen 9, 10 en 11 (aangeduid met 'A3', 'A2', 'A1' op nano-aansluiting) evenals de blootgestelde koperen coating die eerder was blootgesteld. Gebruik veel soldeer. Maak je geen zorgen als het er rommelig uitziet. We zullen deze drie schroefklemmen wijzigen in drie aardingsklemmen (-) klemmen (Fig. 4).

Stap 5: bouwinstructies

Bouw instructies
Bouw instructies

Draad 3: grote pinnen 13, 14 en 15 (aangeduid met 'REF', '3V3', 'D13' op nano-terminal). We zullen deze drie schroefklemmen wijzigen in drie A5 SCL-klemmen voor I2C-communicatie (Fig. 5).

Stap 6: bouwinstructies

Bouw instructies
Bouw instructies

Draad 4: grote pinnen 28, 29 en 30 (aangeduid met 'D10', 'D11', 'D12' op de nano-terminal). We zullen deze drie schroefterminals ombouwen tot drie A4 SDA-terminals voor I2C-communicatie (Fig. 6).

Stap 7: bouwinstructies

Bouw instructies
Bouw instructies

Soldeer een draad aan elk van de kleine (ik zeg het nog een keer - kleine) pinnen 9, 10 en 11 (aangeduid met 'A3', 'A2', 'A1' op de nano-aansluiting) (Fig. 7).

Stap 8: bouwinstructies

Bouw instructies
Bouw instructies

Soldeer

de resterende draad naar grote pin 22 (aangeduid met 'D4' op de nano-terminal) (Fig. 8).

Stap 9: bouwinstructies

Bouw instructies
Bouw instructies

Soldeer het vrije uiteinde van elke draad in de bijbehorende gaatjes op het scherm van de Deek-Robot datalogger (afb. 9):

grote pin 'RST+5V+A7' naar het 5V-pingat

grote pen 'A3+A2+A1' naar het GND-pengat

kleine pin 'A3' naar het SCK-pengat

kleine pin 'A2' naar het MISO-pengat

kleine pin 'A1' naar het MOSI-pengat

grote pen 'REF+3V3+D13' naar het SCL-pengat

grote pen 'D10+D11+D12' naar het SDA-pengat

en grote pen 'D4' naar het CS-pengat

Stap 10: bouwinstructies

Bouw instructies
Bouw instructies

Houd er rekening mee dat we de nano-labels hier alleen verstrekken voor eenvoudige aansluiting. Deze labels komen niet overeen met de pinnen op de pro-mini-kaart als deze eenmaal in de schroefaansluiting is gestoken.

Soldeer twee draden van 6 cm lang in de gaatjes A4 en A5 vanaf de onderkant van het pro-minibord (afb. 10).

Stap 11: bouwinstructies

Bouw instructies
Bouw instructies

Soldeer de pinnen op het pro-minibord en steek het in de voltooide schroefaansluiting. Vergeet niet om de A5- en A4-draden in de D12 (A4) en D13 (A5)-aansluitingen op het nanobord te steken. Onthoud altijd dat de pinnen op de Arduino- en schroefterminallabels niet precies zullen worden uitgelijnd (pro-mini- en nano-kaarten hebben verschillende pinconfiguraties).

Plaats een CR 1220-batterij en een micro-sd-kaart in de loggerkaart. We gebruiken SD-kaarten met een capaciteit van minder dan 15 GB, omdat we problemen hebben gehad met kaarten met een grotere capaciteit. We gebruiken de kaarten om FAT32 te formatteren.

Bedek tot slot alle soldeerverbindingen en bevestig alle draden aan het klemmenbord met hete lijm.

Het bord is nu klaar voor gebruik. Het voltooide bord ziet er nu als volgt uit: Afb. 11.

Stap 12: De datalogger instellen voor gebruik in het veld

De datalogger instellen voor gebruik in het veld
De datalogger instellen voor gebruik in het veld

Om te voorkomen dat uw datalogger omvalt in de dataloggerbox en om een gemakkelijke toegang tot de communicatiepinnen te bieden, raden wij aan om een stabilisatieplatform te maken. Het platform houdt de elektronica ook op zijn minst enkele centimeters van de bodem van de doos, in geval van overstroming. We gebruiken acrylplaat van 1,5 mm en verbinden deze met de datalogger met bouten, moeren en ringen van 4 mm (Fig. 12).

Stap 13:

Afbeelding
Afbeelding

We gebruiken open-source I2C-capaciteitstype bodemvochtsensoren. We kopen ze bij Catnip Electronics (website hieronder). Ze kunnen worden gekocht op Tindie en kosten ca $ 9US voor het standaardmodel en ca $ 22US voor het robuuste model. We hebben de robuuste versie gebruikt in veldexperimenten. Ze zijn zeer robuust en bieden vergelijkbare prestaties als veel duurdere commerciële alternatieven (we zullen niemand op Front Street plaatsen, maar u kent waarschijnlijk de gebruikelijke verdachten).

Catnip Electronics I2C-sensor in deze tutorial:

koop hier:

arduino-bibliotheek:

arduino-bibliotheek op Github:

Sluit de gele draad van de I2C-sensor aan op een van de A5-schroefklemmen. Sluit de groene draad van de I2C-sensor aan op een van de A4-aansluitingen. Rode en zwarte draden van de sensor gaan respectievelijk naar VCC- en aardingsterminals.

Plaats vier opgeladen NiMh-batterijen in de batterijhouder. Bevestig de rode (+) draad aan de RAW-pin op de datalogger (d.w.z. de RAW-pin op het pro-minibord) (maar zie het gedeelte "energiebesparing" hieronder). Bevestig de zwarte (-) draad aan een van de aardpennen op de datalogger.

Voor langdurig gebruik in het veld, bevestig een 6V 1W zonnepaneel aan de logger. Het zonnepaneel zal overdag worden gebruikt om de datalogger te laten werken en het batterijpakket op te laden, en werkt zelfs bij bewolkte lucht (hoewel sneeuw een probleem is).

Soldeer eerst een ~2A Schottky-diode op de positieve pool van het zonnepaneel. Dit voorkomt dat er stroom terugvloeit in het zonnepaneel wanneer er geen zonnestraling is. Vergeet dit niet te doen, anders heb je binnen de kortste keren lege batterijen.

Bevestig de (+) terminal van het zonnepaneel (dwz de diode) aan de RAW-pin op de logger (dwz de RAW-pin op de pro-mini) en de (-) terminal van het zonnepaneel aan een van de grond terminals op de logger.

Deze opstelling zorgt ervoor dat de ingebouwde spanningsregelaar in het pro-mini-bord de spanning regelt die afkomstig is van zowel het zonnepaneel als het batterijpakket. Nu… Ik zal zeggen dat dit geen ideale opstelling is voor het opladen van NiMh-batterijen (zelfs onder perfecte omstandigheden moeilijk). De zonnepanelen die we gebruiken geven echter ca 150mA onder volle zon, wat overeenkomt met ca 0,06 C (C = de capaciteit van het batterijpakket), wat voor ons een eenvoudige, veilige en betrouwbare oplaadmethode is gebleken. voor onze houthakkers. We hebben ze in Colorado tot een jaar op deze manier in het veld laten lopen. Zie echter de disclaimer - onze loggers worden geleverd met absoluut geen garantie of garantie. Elke keer dat u batterijen of zonnepanelen in het veld gebruikt, loopt u het risico brand te veroorzaken. Doe voorzichtig. Gebruik dit ontwerp op eigen risico!

Bewaar de datalogger en het batterijpakket in een weerbestendige doos (afb. 13).

Stap 14: Energiebesparing

We schakelen vaak de power-LED's uit van zowel de pro-mini- als de datalogger-borden. De sporen naar deze LED's kunnen voorzichtig worden gesneden met een scheermesje (zie onderstaande link). Elke LED verbruikt ca 2.5mA stroom bij 5V (link hieronder). Voor veel toepassingen zal deze hoeveelheid stroomverlies echter verwaarloosbaar zijn en kan de onderzoeker de power-LED's gewoon laten zoals ze zijn.

www.instructables.com/id/Arduino-low-Proje…

We gebruiken ook de 'LowPower.h'-bibliotheek (door 'rocketscream'; link hieronder weergegeven), die zeer gemakkelijk te gebruiken is en het energieverbruik tussen de log-intervallen aanzienlijk vermindert.

github.com/rocketscream/Low-Power

Na het verwijderen van de power-LED's van de pro-mini en het dataloggingbord en het uitvoeren van de LowPower.h-bibliotheek (zie 'code' hieronder), verbruikt de logger ca. 1mA stroom bij 5V tijdens de slaap. Met drie I2C-sensoren tegelijk, verbruikt de logger in de slaapmodus (tussen bemonstering-iteraties) ca 4,5 mA bij 5 V en ca 80 mA bij bemonstering. Omdat de bemonstering echter zeer snel en vrij zelden plaatsvindt, draagt het stroomverbruik van 80 mA niet wezenlijk bij aan het leeglopen van de batterij.

Er kan meer stroom worden bespaard als er geen zonnepanelen worden gebruikt door de (+) accupool rechtstreeks aan te sluiten op de VCC-pin op de logger. Als u echter rechtstreeks verbinding maakt met VCC in plaats van de RAW-pin, wordt de ingebouwde spanningsregelaar vermeden en zal de stroom naar de sensoren lang niet zo constant zijn als wanneer deze door de regelaar zou zijn geleid. De spanning zal bijvoorbeeld afnemen naarmate de batterij in de loop van dagen en weken leeg raakt, en in veel gevallen zal dit resulteren in een significante variatie in de sensormetingen (afhankelijk van welke sensoren u gebruikt). Sluit een zonnepaneel niet rechtstreeks aan op VCC.

Stap 15: Coderen

We voegen twee schetsen bij voor het uitvoeren van de datalogger met drie I2C-bodemvochtsensoren. De eerste schets 'logger_sketch' zal elke 30 minuten een monster nemen van elke sensor en de capaciteits- en temperatuurgegevens naar de SD-kaart loggen (maar kan eenvoudig door de gebruiker worden gewijzigd). De tweede schets 'ChangeSoilMoistureSensorI2CAddress' stelt de gebruiker in staat om verschillende I2C-adressen toe te wijzen aan elk van de sensoren, zodat ze gelijktijdig door de datalogger kunnen worden gebruikt. Adressen in de 'logger_sketch' kunnen worden gewijzigd op regel 25, 26 en 27. De bibliotheken die nodig zijn om de sensor uit te voeren, zijn te vinden op Github.

Aanbevolen: