Weerstation met laag vermogen - Ajarnpa
Weerstation met laag vermogen - Ajarnpa
Anonim
Weerstation met laag vermogen
Weerstation met laag vermogen
Weerstation met laag vermogen
Weerstation met laag vermogen

Nu in de derde versie en na meer dan twee jaar getest te zijn, wordt mijn weerstation geüpgraded voor betere prestaties bij laag stroomverbruik en betrouwbaarheid van de gegevensoverdracht.

Stroomverbruik - geen probleem in de maanden behalve december en januari, maar in deze zeer donkere maanden kon het zonnepaneel, hoewel het een vermogen van 40 watt had, de vraag van het systeem niet bijhouden … en het grootste deel van de vraag kwam van de 2G FONA GPRS-module die de gegevens rechtstreeks naar de interwebs verzendt.

Het volgende probleem was met de FONA GPRS-module zelf, of waarschijnlijker het mobiele telefoonnetwerk. Het apparaat zou weken/maanden perfect werken, maar dan plotseling stoppen zonder aanwijsbare reden. Blijkbaar probeert het netwerk een soort 'systeemupdate-info' te verzenden die, indien niet geaccepteerd, ervoor zorgt dat het apparaat van het netwerk wordt opgestart, dus GPRS is niet echt een onderhoudsvrije oplossing voor gegevensoverdracht. Het is jammer, want toen het werkte, werkte het heel goed.

Deze upgrade gebruikt het low-power LoRa-protocol om de gegevens naar een lokale Raspberry Pi-server te sturen, die deze vervolgens naar de interwebs stuurt. Op deze manier kan het weerstation zelf een laag vermogen hebben op een zonnepaneel en kan het 'zware tillen' deel van het proces ergens binnen wifi-bereik op netstroom worden gedaan. Als je een openbare LoRa-gateway binnen bereik hebt, is de Raspberry Pi natuurlijk niet nodig.

Het opbouwen van de weerstation-printplaat is eenvoudig, aangezien de SMD-componenten allemaal vrij groot zijn (1206) en alles op de printplaat 100% werkt. Sommige componenten, namelijk de blaasinstrumenten, zijn vrij duur, maar zijn soms tweedehands te vinden op Ebay.

Stap 1: Componenten

Componenten
Componenten
Componenten
Componenten
Componenten
Componenten
Componenten
Componenten

Arduino MKR1300 LORAWAN ………………………………………………………………. 1 van

Raspberry Pi (optioneel afhankelijk van beschikbaarheid lokale LoRa-gateway) ………… 1 van

BME280 voor druk, vochtigheid, temperatuur en hoogte ……………………….. 1 van

RJ 25-stekker 477-387 ……………………………………………………………………… 1 van

L7S505 ………………………………………………………………………………………………. 1 van

Pieper 754-2053 …………………………… 1 van

Shottky-diode (1206) …………………………………… 2 van

R1K-restauraties ………………………………… 3 van

R4.7K-weerstand ……………………………… 1 van

C100nF condensator ………………………….. 3 van

R100K ……………………………………………… 1 van

R10K …………………………………………….. 4 van

C1uF ……………………………………………… 1 van

C0.33uF ………………………………………… 1 van

R100 ………………………………………….. 1 van

R0 ……………………………………………….. 1 van

Dallas DS18B20 temperatuurvoeler ………… 1 van

PCB ………………………………………………………… 1 van

Regenmeter ……………………………………………. 1 van

Bodemsonde …………………………………… 1 van (zie stap 6 voor doe-het-zelf sonde)

A100LK windmeter ……………………….. 1 van

W200P windvaan ……………………………..1 van

Stap 2: Hoe het werkt

Hoe het werkt
Hoe het werkt
Hoe het werkt
Hoe het werkt

Het is gemakkelijk genoeg om sensoren te laten werken voor zaken als temperatuur, vochtigheid en druk, maar sommige van de andere zijn behoorlijk lastig, hoewel alle code in deze blog is opgenomen.

1. De regenmeter staat op 'interrupt' en werkt door als er een verandering wordt gedetecteerd. De regen komt het instrument binnen en druppelt neer op een wipwimpel die wiebelt zodra een uiteinde vol is, en twee keer een magnetische sensor activeert als hij eroverheen gaat. De regensensor heeft voorrang op alles en werkt ook als er gegevens worden verzonden.

2. De anemometer werkt door een puls met een laag vermogen uit te zenden, waarvan de frequentie afhankelijk is van de snelheid. Het is heel eenvoudig te coderen en verbruikt heel weinig stroom, ook al moet het ongeveer één keer per seconde opnemen om de zwaarste windstoten op te vangen. De code houdt tijdens de opnamesessie doorlopend de gemiddelde windsnelheid en de maximale windstoot bij.

3. Hoewel op het eerste gezicht de windvaan gemakkelijk te coderen zou zijn, is het een stuk ingewikkelder als de fijne kneepjes zijn onderzocht. In wezen is het gewoon een potentiometer met een zeer laag koppel, maar het probleem om er metingen van te krijgen wordt verergerd door het feit dat het een korte 'dode zone' heeft rond de noordelijke richting. Het heeft weerstanden en condensatoren nodig om vreemde metingen in de buurt van het noorden te voorkomen, die vervolgens niet-lineariteit in de metingen veroorzaken. Omdat de metingen polair zijn, zijn normale gemiddelde gemiddelde berekeningen niet mogelijk en dus moet de meer gecompliceerde modus worden berekend, waarbij een enorme reeks van ongeveer 360 getallen moet worden gemaakt! …. En daar blijft het niet bij…. Er moet speciale aandacht worden besteed aan naar welk kwadrant de sensor wijst alsof deze zich in het kwadrant aan weerszijden van het noorden bevindt, de modus moet anders worden behandeld.

4. Het bodemvocht is een eenvoudige geleidbaarheidssonde, maar om energie te besparen en corrosie te voorkomen, wordt het zeer snel gepulseerd met een van de reserve digitale pinnen van de Arduino.

5. Het systeem verzendt gegevens van de Arduino naar de Raspberry Pi (of LoRa-gateway), maar heeft ook een 'call back' van de ontvanger nodig om te bevestigen dat het de gegevens daadwerkelijk goed heeft ontvangen voordat alle verschillende tellers en gemiddelden worden gereset en een nieuwe reeks lezingen. Een opnamesessie kan elk ongeveer 5 minuten duren, waarna de Arduino probeert de gegevens te verzenden. Als de gegevens beschadigd zijn of als er geen internetverbinding is, wordt de opnamesessie verlengd totdat het terugbellen succes aangeeft. Op deze manier wordt er geen maximale windvlaag of regenmeting gemist.

6. Hoewel buiten het bestek van deze blog, worden de gegevens eenmaal op de internetserver (het is een grote computer in Ipswich, VK) verzameld in een MySQL-database die toegankelijk is met eenvoudige PHP-scripts. De eindgebruiker kan de gegevens ook zien in fraaie wijzerplaten en grafieken dankzij de eigen Java-software van Amcharts. Dan is 'eindresultaat' hier te zien:

www.goatindustries.co.uk/weather2/

Stap 3: Bestanden

Bestanden
Bestanden

Alle Arduino-, Raspberry Pi-codebestanden en het bestand voor het maken van de PCB op 'Design Spark'-software bevinden zich hier in de Github-repository:

github.com/paddygoat/Weather-Station

Stap 4: De PCB vullen

De printplaat vullen
De printplaat vullen
De printplaat vullen
De printplaat vullen

Er is geen stencil nodig voor het solderen van de SMD-componenten - dep gewoon een beetje soldeer op de PCB-pads en plaats de componenten met een pincet. De componenten zijn groot genoeg om alles met het oog te doen en het maakt niet uit of het soldeer er rommelig uitziet of de componenten een beetje uit het midden staan.

Plaats de PCB in een broodroosteroven en verwarm tot 240 graden C met behulp van een K-thermometersonde om de temperatuur te bewaken. Wacht 30 seconden op 240 graden en zet dan de oven uit en open de deur om de warmte te laten ontsnappen.

Nu kunnen de rest van de componenten met de hand worden gesoldeerd.

Als je een PCB wilt kopen, download dan hier de gezipte gerber-bestanden:

github.com/paddygoat/Weather-Station/blob/master/PCB/Gerbers_Weather%20station%203_Tx_01.zip

en upload ze hier naar JLC:

Selecteer het bordformaat 100 x 100 mm en gebruik alle standaardinstellingen. Kosten zijn $2 + verzendkosten voor 10 boards.

Stap 5: Implementatie

Inzet
Inzet
Inzet
Inzet
Inzet
Inzet

Het weerstation staat midden op een veld met de blaasinstrumenten op een hoge paal met tuikabels. Details van de implementatie worden hier gegeven:

www.instructables.com/id/Arduino-GPRS-Weat…

Stap 6: Vorig werk

Vorig werk
Vorig werk

Deze instructable is de nieuwste fase in het lopende project dat zijn ontwikkelingsgeschiedenis heeft in zeven andere eerdere projecten:

www.instructables.com/id/Arduino-GPRS-Weat…

www.instructables.com/id/Arduino-GPRS-Weat…

www.instructables.com/id/Setting-Up-an-A10…

www.instructables.com/id/Analogue-Sensors-…

www.instructables.com/id/Analogue-Wind-Van…

www.instructables.com/id/Arduino-Soil-Prob…

www.instructables.com/id/Arduino-GPRS-Weat…

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding