Innholdsfortegnelse:

Nivåmåler for ultralyd: 5 trinn (med bilder)
Nivåmåler for ultralyd: 5 trinn (med bilder)

Video: Nivåmåler for ultralyd: 5 trinn (med bilder)

Video: Nivåmåler for ultralyd: 5 trinn (med bilder)
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Juli
Anonim
Ultralyd tanknivåmåler
Ultralyd tanknivåmåler
Ultralyd tanknivåmåler
Ultralyd tanknivåmåler

Trenger du å overvåke væskenivået i en brønn med stor diameter, en tank eller en åpen beholder? Denne guiden viser deg hvordan du lager en ekkoloddvæskemåler for ekkolodd ved hjelp av billig elektronikk!

Skissen ovenfor viser en oversikt over hva vi siktet til med dette prosjektet. Sommerhuset vårt har en brønn med stor diameter for å levere drikkevann til bruk i huset. En dag snakket broren min og jeg om hvordan bestefaren vår brukte til å måle vannstanden manuelt for å holde oversikt over vannforbruket og tilstrømningen gjennom sommeren for å unngå overtrekk. Vi tenkte at med moderne elektronikk skulle vi kunne gjenopplive tradisjonen, men med mindre håndarbeid involvert. Med noen få programmeringstriks klarte vi å bruke en Arduino med en ekkoloddmodul for å måle avstanden ned til vannoverflaten (l) med rimelig pålitelighet og en nøyaktighet på ± noen få millimeter. Dette betydde at vi kunne estimere gjenværende volum V, ved hjelp av den kjente diameteren D og dybden L, med omtrent ± 1 liter nøyaktighet.

Fordi brønnen ligger omtrent 25 meter fra huset og vi ønsket displayet innendørs, valgte vi å bruke to Arduinos med en datalink mellom. Du kan enkelt endre prosjektet for å bruke bare en Arduino hvis dette ikke er tilfelle for deg. Hvorfor ikke bruke trådløs dataoverføring? Dels på grunn av enkelhet og robusthet (ledningen er mindre sannsynlig å bli skadet av fuktighet) og delvis fordi vi ønsket å unngå å bruke batterier på sensorsiden. Med en ledning kunne vi dirigere både dataoverføring og strøm gjennom den samme kabelen.

1) Arduino -modul i huset Dette er den viktigste Arduino -modulen. Den sender et utløsersignal til Arduino i brønnen, mottar den målte avstanden og viser det beregnede gjenværende vannvolumet på et display.

2) Arduino og ekkoloddmodul på brønnen Hensikten med denne Arduino er ganske enkelt å motta et triggersignal fra huset, utføre en måling og sende avstanden fra ekkoloddmodulen til vannstanden. Elektronikken er innebygd i en (relativt lufttett) boks, med et plastrør festet til mottakssiden av ekkoloddmodulen. Hensikten med røret er å redusere målefeil ved å redusere synsfeltet slik at bare vannoverflaten blir "sett" av mottakeren.

Trinn 1: Deler, testing og programmering

Deler, testing og programmering
Deler, testing og programmering
Deler, testing og programmering
Deler, testing og programmering
Deler, testing og programmering
Deler, testing og programmering

Vi brukte følgende deler i dette prosjektet:

  • 2 x Arduino (en for måling av væskenivå, en for å vise resultatene på en skjerm)
  • En grunnleggende 12V strømforsyning
  • Ultralyd (ekkolodd) modul HC-SR04
  • LED -displaymodul MAX7219
  • 25 m telefonkabel (4 ledninger: Strøm, jord og 2 datasignaler)
  • Monteringsboks
  • Varmt lim
  • Lodding

Delekostnad: Ca € 70

For å sikre at alt fungerte som det skulle, gjorde vi alt lodding, ledninger og enkel benketesting først. Det er mange eksempler på programmer for ultralydsensor og LED-modul online, så vi brukte dem bare for å sikre at den målte avstanden var fornuftig (bilde 1) og at vi klarte å fange ultralydrefleksjonen fra vannoverflaten på- nettsted (bilde 2). Vi har også gjort en grundig testing av datalinken for å sikre at den alltid fungerer på lange avstander, noe som ikke viste seg å være noe problem i det hele tatt.

Ikke undervurder tiden du har brukt på dette trinnet, da det er viktig å vite at systemet fungerer før du gjør en innsats for å montere alt pent i esker, grave ned kabler etc.

Under testing innså vi at ekkoloddmodulen noen ganger fanger opp en lydrefleksjon fra andre deler av brønnen, for eksempel sidevegger og vannforsyningsrør, og ikke vannoverflaten. Dette betydde at den målte avstanden plutselig ville være mye kortere enn den faktiske avstanden til vannstanden. Siden vi ikke bare kan bruke gjennomsnitt for å utjevne denne typen målefeil, bestemte vi oss for å forkaste nye målte avstander som var for forskjellige fra gjeldende avstandsestimat. Dette er ikke problematisk siden vi forventer at vannstanden vil endre seg ganske sakte uansett. Ved oppstart vil denne modulen utføre en serie målinger og velge den største mottatte verdien (dvs. laveste vannstand) som det mest sannsynlige utgangspunktet. Etter det, i tillegg til "behold/kast" -beslutningen, brukes en delvis oppdatering av det estimerte nivået for å utjevne tilfeldige målefeil. Det er også viktig å la alle ekko dø ut før en ny måling utføres - i hvert fall i vårt tilfelle der veggene er laget av betong og derfor er veldig ekko -y.

Den siste versjonen av koden vi brukte for de to Arduinoene finner du her:

github.com/kelindqv/arduinoUltrasonicTank

Trinn 2: Sivile arbeider

Sivile arbeider
Sivile arbeider

Siden brønnen vår lå i en avstand fra huset, måtte vi lage en liten grøft i plenen som vi skulle sette kabelen i.

Trinn 3: Koble til og montere alle komponenter

Koble til og montere alle komponenter
Koble til og montere alle komponenter
Koble til og montere alle komponenter
Koble til og montere alle komponenter
Koble til og montere alle komponenter
Koble til og montere alle komponenter

Koble til alt som det var under testing, og håp at det fortsatt fungerer! Husk å sjekke at TX -pinnen på den ene Arduino går til RX på den andre, og omvendt. Som vist på bilde 1, brukte vi telefonkabelen til å levere strøm til Arduino i brønnen, for å unngå å bruke batterier.

Det andre og tredje bildet viser plastrørarrangementet, med senderen plassert utenfor røret og mottakeren plassert inne (ja, dette var en ubehagelig skytestilling …)

Trinn 4: Kalibrering

Etter å ha sørget for at avstanden fra sensoren til vannstanden er beregnet riktig, var kalibrering bare et mål å måle brønnens diameter og den totale dybden slik at væskevolumet kan beregnes. Vi justerte også algoritmeparametrene (tid mellom målinger, parametrene for delvise oppdateringer, antall innledende målinger) for å gi en robust og nøyaktig måling.

Så hvor godt sporet sensoren væskenivået?

Vi kunne lett se en effekt av å skylle kranen i noen minutter, eller skylle toalettet, som er det vi ønsket. Vi kunne til og med se at brønnen fylte på med en relativt forutsigbar hastighet over natten - alt bare ved å se på skjermen. Suksess!

Merk:- Tidsavstandskonverteringen korrigerer for øyeblikket ikke for endringer i lydhastighet på grunn av temperaturvariasjoner. Dette kan være et fint fremtidig tillegg, siden temperaturen i brønnen vil variere ganske mye!

Trinn 5: Langsiktig bruk

1 års oppdatering: Sensoren fungerer feilfritt uten tegn på korrosjon eller skade til tross for det fuktige miljøet! Det eneste problemet i løpet av året har vært at det samler seg kondens på sensoren under kaldt vær (om vinteren), noe som åpenbart blokkerer sensoren. Dette er ikke et problem i vårt tilfelle siden vi bare trenger avlesninger om sommeren, men andre brukere må kanskje bli kreative!:) Isolasjon eller ventilasjon er sannsynligvis gjennomførbare løsninger. Glad for å finne på!

Anbefalt: