Innholdsfortegnelse:
- Trinn 1: Nødvendige deler (trinn 1)
- Trinn 2: Bygg kretsen din (trinn 2)
- Trinn 3: Bygg måleren din (trinn 3)
- Trinn 4: Beregninger og kalibrering (trinn 4)
- Trinn 5: Programvare (trinn 5)
- Trinn 6: Fortsatt å gjøre (trinn 6)
Video: Ultrasonic Rain Gauge: Raspebbery Pi Open Weather Station: Del 1: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Kommersiell tilgjengelig IoT (Internet Of Things) Værstasjoner er dyre og ikke tilgjengelige overalt (som i Sør -Afrika). Ekstreme værforhold rammer oss. SA opplever den hardeste tørken på flere tiår, jorden varmes opp og bønder sliter med å produsere lønnsom, uten teknisk eller økonomisk støtte fra regjeringen til kommersielle bønder.
Det er noen få Raspberry Pi -værstasjoner rundt, som den som Raspberry Pi Foundation bygger for britiske skoler, men den er ikke tilgjengelig for allmennheten. Det finnes mange egnede sensorer, noen analoge, noen digitale, noen solid state, noen med bevegelige deler og noen veldig dyre sensorer som ultralydanemometre (vindhastighet og retning)
Jeg bestemte meg for å bygge en åpen kildekode, åpen maskinvare Weather Station, med deler generelt tilgjengelig i Sør -Afrika kan være et veldig nyttig prosjekt, og jeg vil ha mye moro (og utfordrende hodepine).
Jeg bestemte meg for å starte med en solid state (ingen bevegelige deler) regnmåler. Den tradisjonelle tippebøtta imponerte meg ikke på det stadiet (trodde selv at jeg aldri hadde brukt en da). Så jeg tenkte at regn er vann og vann leder strøm. Det er mange analoge resistive sensorer der motstanden reduseres når sensoren kommer i kontakt med vann. Jeg trodde dette ville være en perfekt løsning. Dessverre lider disse sensorene av alle slags avvik som elektrolyse og deoksidasjon, og avlesningene fra disse sensorene var upålitelige. Jeg bygger til og med mine egne prober i rustfritt stål og et lite kretskort med reléer for å lage vekselstrøm (konstant 5 volt, men vekslende de positive og negative polene) for å eliminere elektrolyse, men avlesningene var fortsatt ustabile.
Mitt siste valg er ultralydsensor. Denne sensoren som er koblet til toppen av måleren, kan måle avstanden til vannstanden. Til min overraskelse var disse sensorene veldig nøyaktige og veldig billige (mindre enn 50 ZAR eller 4 USD)
Trinn 1: Nødvendige deler (trinn 1)
Du trenger følgende
1) 1 Raspberry Pi (hvilken som helst modell, jeg bruker en Pi 3)
2) 1 Brød Bord
3) Noen startkabler
4) En en ohm motstand og en to (eller 2,2) ohm motstand
5) En gammel lang kopp for å lagre regnet. Jeg skrev ut min (myk kopi tilgjengelig)
6) En gammel manuell regnmålerfangende del (Eller du kan designe din egen og skrive den ut)
7) Måleutstyr for å måle milliliter eller en vekt til vekt på vann
8) HC-SR04 ultralydssensor (sørafrikanere kan få dem fra Communica)
Trinn 2: Bygg kretsen din (trinn 2)
Jeg fant en veldig nyttig guide for å hjelpe meg med å bygge kretsen og skrive python -skriptene for dette prosjektet. Denne skriften beregner avstander, og du vil bruke den til å beregne avstanden mellom sensoren montert på toppen av tanken din og vannstanden
Du finner den her:
www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi
Studer den, bygg kretsen din, koble den til pi -en din og lek med pythonkoden. Sørg for at du bygger spenningsdeleren riktig. Jeg brukte en 2,2 ohm motstand mellom GPIO 24 og GND.
Trinn 3: Bygg måleren din (trinn 3)
Du kan skrive ut måleren din, bruke en eksisterende måler eller kopp. HC-SR04-sensoren festes til toppen av målerens hovedtank. Det er viktig å sørge for at det alltid holder seg tørt.
Det er viktig å forstå målevinkelen til din HC-SR04-sensor. Du kan ikke feste den til toppen av en kjegle fra tradisjonelle regnmålere. Jeg normal sylindrisk kopp vil gjøre. Sørg for at den er bred nok til at en skikkelig lydbølge kan gå ned til bunnen. Jeg tror et 75 x 300 mm PVC -rør vil gjøre det. For å teste om signalet går gjennom sylinderen din og sprette tilbake riktig, må du måle avstanden fra sensoren til bunnen av sylinderen med en linjal, sammenligne den målingen med avstanden du får fra sensoren TOF (Time of flight) estimert avstand til bunnen.
Trinn 4: Beregninger og kalibrering (trinn 4)
Hva betyr 1 millimeter regn? En mm regn betyr at hvis du hadde en kube på 1000mm X 1000mm X 1000mm eller 1m X 1m X 1m, vil kuben ha en dybde på 1 mm regnvann hvis du lot den stå ute når det regnet. Hvis du tømmer dette regnet i en 1 liters flaske, vil den fylle flasken 100 % og vannet vil også måle 1 kg. Ulike regnmålere har forskjellige nedbørfelt. Hvis nedslagsfeltet på måleren din var 1m X 1m, er det enkelt.
Dessuten er 1 gram vann konvensjonell 1 ml
For å beregne nedbøren din i mm fra måleren din kan du gjøre følgende etter å ha vektet regnvannet:
W er nedbørsvekten i gram eller milliliter
A er nedslagsfeltet i kvadrat -mm
R er din totale nedbørsmengde i mm
R = B x [(1000 x 1000)/A]
Det er to muligheter ved å bruke HC-SR04 til å estimere W (du trenger W for å beregne R).
Metode 1: Bruk vanlig fysikk
Mål avstanden fra HC-SR til bunnen av måleren (Du gjorde det også i et tidligere trinn) med sensoren ved å bruke TOF (Time of Flight) -beregningene i python-skriptet fra https://www.modmypi. no/blog/hc-sr04-ultrasonic-range-sensor-on-the-bringeberry-pi Ring denne CDen (sylinderdybde)
Mål området på innsiden av sylinderen med alt som er passende i kvadrat -mm. Kall dette IA.
Kast nå 2 ml vann (eller en passende mengde) i sylinderen. Bruk vår sensor til å estimere avstanden til det nye vannstanden i mm, Cal this Dist_To_Water).
Vanndybden (WD) i mm er:
WD = CD - Dist_To_Water (eller sylinderdybde minus avstanden fra sensoren til vannstanden)
Nei den estimerte vekten av vannet er
W = WD x IA i ml eller gram (Husk 1 ml vannvekt 1 gram)
Nå kan du estimere nedbør (R) i mm med B x [(1000 x 1000)/A] som tidligere forklart.
Metode 2: Kalibrer måleren din med statistikk
Siden HC-SR04 ikke er perfekt (feil kan oppstå), virker det som om den er minst konstant når den måler om sylinderen din er egnet.
Bygg en lineær modell med sensoravlesninger (eller sensoravstander) som avhengig variabel og injiserte vannvekter som avhengig variabel.
Trinn 5: Programvare (trinn 5)
Programvare for dette prosjektet er fortsatt under utvikling.
Python-skriptene på https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi bør være brukbare.
Vedlegg er noen nyttige python -applikasjoner (General Public License) utviklet av meg selv.
Jeg planlegger å utvikle et webgrensesnitt for den komplette værstasjonen senere. Vedlegg er noen av programmene mine som brukes til å kalibrere måleren og gjøre sensoravlesninger
Bruk vedleggskalibreringsskriptet for å kalibrere måleren statistisk. Importer dataene i et regneark for å analysere.
Trinn 6: Fortsatt å gjøre (trinn 6)
En magnetventil er nødvendig for å tømme tanken når den er full (nær sensoren)
De første regndråpene måles ikke alltid riktig, spesielt hvis måleren ikke er riktig utjevnet. Jeg er i ferd med å utvikle en disdro -måler for å fange disse dråpene riktig. Disdro min fremtid neste.
Legg til en andre ultralydsensor for å måle effekten av temp på TOF. Jeg legger snart ut en oppdatering om dette.
Jeg fant følgende ressurs som kan hjelpe
www.researchgate.net/profile/Zheng_Guilin3/publication/258745832_An_Innovative_Principle_in_Self-Calibration_by_Dual_Ultrasonic_Sensor_and_Application_in_Rain_Gauge/links/540d53e00cf2f2b29a38392b/An-Innovative-Principle-in-Self-Calibration-by-Dual-Ultrasonic-Sensor-and-Application-in- Rain-Gauge.pdf
Anbefalt:
Super Weather Station hengende kurv: 11 trinn (med bilder)
Super Weather Station Hengende kurv: Hei alle sammen! I dette T3chFlicks blogginnlegget viser vi deg hvordan vi lagde en smart hengende kurv. Planter er et friskt og sunt tillegg til ethvert hjem, men kan fort bli slitsomt - spesielt hvis du bare husker å vanne dem når du
PiSiphon Rain Gauge (prototype): 4 trinn
PiSiphon Rain Gauge (Prototype): Dette prosjektet er en forbedring av Bell sifon Rain Gauge. Det er mer nøyaktig og lekkasje av sifoner burde være noe fra fortiden. Tradisjonelt måles nedbør med en manuell regnmåler. Automatiske værstasjoner (inkludert IoT -værstatus
Bell Siphon Rain Gauge: 8 trinn (med bilder)
Bell Siphon Rain Gauge: En forbedret versjon av dette er PiSiphon Rain GaugeTradisjonelt måles nedbør med en manuell regnmåler. Automatiske værstasjoner (inkludert IoT værstasjoner) bruker normalt tippbøtter, akustiske disdrometre eller laserdisometre. T
Arduino Rain Gauge Kalibrering: 7 trinn
Arduino Rain Gauge Calibration: Introduction: I denne instruksjonsboken 'konstruerer' vi en regnmåler med Arduino og kalibrerer den for å rapportere daglig nedbør og time nedbør. Regnoppsamleren jeg bruker er en omformet regnemåler av typen tippeskuff. Det kom fra en skadet personlig vi
Akustisk DISDRO -måler: Raspebbery Pi Open Weather Station (del 2): 4 trinn (med bilder)
Akustisk DISDRO -måler: Raspebbery Pi Open Weather Station (del 2): DISDRO står for distribusjon av dråper. Enheten registrerer størrelsen på hver dråpe med et tidsstempel. Dataene er nyttige for en rekke applikasjoner, inkludert meteorologisk (vær) forskning og jordbruk. Hvis disdro er veldig nøyaktig, kan det meg