Sadržaj:

Mjerač nivoa rezervoara za ultrazvuk: 5 koraka (sa slikama)
Mjerač nivoa rezervoara za ultrazvuk: 5 koraka (sa slikama)

Video: Mjerač nivoa rezervoara za ultrazvuk: 5 koraka (sa slikama)

Video: Mjerač nivoa rezervoara za ultrazvuk: 5 koraka (sa slikama)
Video: ČUDNE VIJESTI TJEDNA - 38 | Tajanstveni | Svemir | NLO | Paranormalno 2024, Juli
Anonim
Ultrazvučni mjerač razine spremnika
Ultrazvučni mjerač razine spremnika
Ultrazvučni mjerač razine spremnika
Ultrazvučni mjerač razine spremnika

Trebate pratiti nivo tečnosti u bunaru velikog promjera, rezervoaru ili otvorenoj posudi? Ovaj će vam vodič pokazati kako napraviti sonarni beskontaktni mjerač razine tekućine pomoću jeftine elektronike!

Gornja skica prikazuje pregled onoga što smo ciljali ovim projektom. Naša vikendica ima bunar velikog promjera za opskrbu pitkom vodom za upotrebu u kući. Jednog dana, moj brat i ja smo razgovarali o tome kako je naš deda nekada ručno merio nivo vode kako bi pratio potrošnju vode i priliv tokom leta kako bi izbegao prekoračenje. Mislili smo da bismo sa modernom elektronikom trebali moći oživjeti tradiciju, ali s manje ručnog rada. S nekoliko programskih trikova uspjeli smo koristiti Arduino sa sonarnim modulom za mjerenje udaljenosti do vodene površine (l) s razumnom pouzdanošću i preciznošću od ± nekoliko milimetara. To je značilo da bismo mogli procijeniti preostali volumen V, koristeći poznati promjer D i dubinu L, s točnošću od ± 1 litre.

Budući da se bunar nalazi na oko 25 m od kuće i da smo htjeli prikaz u zatvorenom prostoru, odlučili smo se za korištenje dva Arduina s podatkovnom vezom između njih. Možete jednostavno izmijeniti projekt tako da koristi samo jedan Arduino ako to nije vaš slučaj. Zašto ne biste koristili bežični prijenos podataka? Dijelom zbog jednostavnosti i robusnosti (manja je vjerojatnost da će žica biti oštećena vlagom), a dijelom zato što smo htjeli izbjeći korištenje baterija na strani senzora. Žicom bismo mogli prenijeti i prijenos podataka i napajanje putem istog kabela.

1) Arduino modul u kući Ovo je glavni Arduino modul. On će poslati signal okidača na Arduino u bušotini, primiti izmjerenu udaljenost i prikazati izračunati preostali volumen vode na ekranu.

2) Arduino i modul sonara na strani izvora Svrha ovog Arduina je jednostavno primiti signal okidača iz kuće, izvršiti mjerenje i poslati udaljenost od modula sonara do nivoa vode. Elektronika je ugrađena u (relativno hermetički zatvorenu) kutiju, s plastičnom cijevi pričvršćenom na prijemnu stranu modula sonara. Svrha cijevi je smanjiti greške mjerenja smanjenjem vidnog polja tako da prijemnik "vidi" samo površinu vode.

Korak 1: Dijelovi, testiranje i programiranje

Dijelovi, testiranje i programiranje
Dijelovi, testiranje i programiranje
Dijelovi, testiranje i programiranje
Dijelovi, testiranje i programiranje
Dijelovi, testiranje i programiranje
Dijelovi, testiranje i programiranje

U ovom smo projektu koristili sljedeće dijelove:

  • 2 x Arduino (jedan za mjerenje nivoa tekućine, jedan za prikaz rezultata na ekranu)
  • Osnovno napajanje od 12V
  • Ultrazvučni (sonarski) modul HC-SR04
  • Modul LED zaslona MAX7219
  • Telefonski kabel od 25 m (4 žice: napajanje, uzemljenje i 2 podatkovna signala)
  • Montažna kutija
  • Vruće ljepilo
  • Solder

Cijena dijelova: Oko 70 €

Kako bismo bili sigurni da je sve radilo kako treba, prvo smo izvršili sva lemljenja, ožičenje i jednostavno testiranje na klupi. Na internetu postoji mnogo primjera programa za ultrazvučni senzor i LED modul, pa smo ih samo koristili kako bismo bili sigurni da izmjerena udaljenost ima smisla (slika 1) i da smo uspjeli uhvatiti ultrazvučni odraz od vodene površine na sajt (slika 2). Također smo proveli temeljito testiranje podatkovne veze kako bismo bili sigurni da radi uvijek na velike udaljenosti, što se pokazalo kao nikakav problem.

Ne podcjenjujte vrijeme provedeno na ovom koraku, jer je važno znati da sistem radi prije nego što uložite napor da sve lijepo montirate u kutije, iskopate kabele itd.

Tijekom testiranja smo shvatili da sonarni modul ponekad hvata refleksiju zvuka iz drugih dijelova bušotine, poput bočnih stijenki i cijevi za dovod vode, a ne s površine vode. To je značilo da bi izmjerena udaljenost odjednom bila mnogo kraća od stvarne udaljenosti do razine vode. Budući da ne možemo jednostavno upotrijebiti prosjek za izravnavanje ove vrste pogreške mjerenja, odlučili smo odbaciti sve nove izmjerene udaljenosti koje su se previše razlikovale od trenutne procjene udaljenosti. To nije problematično jer očekujemo da će se vodostaj ionako prilično sporo mijenjati. Nakon pokretanja, ovaj modul će izvršiti niz mjerenja i odabrati najveću primljenu vrijednost (tj. Najniži vodostaj) kao najvjerojatniju početnu točku. Nakon toga, osim odluke "zadrži/odbaci", djelomično ažuriranje procijenjenog nivoa koristi se za izravnavanje slučajnih grešaka mjerenja. Također je važno dopustiti da svi odjeci izumru prije provođenja novog mjerenja - barem u našem slučaju gdje su zidovi napravljeni od betona i stoga vrlo eho -y.

Konačnu verziju koda koji smo koristili za dva Arduina možete pronaći ovdje:

github.com/kelindqv/arduinoUltrasonicTank

Korak 2: Građevinski radovi

Civilni poslovi
Civilni poslovi

Budući da se naš bunar nalazio na udaljenosti od kuće, morali smo napraviti mali rov na travnjaku u koji ćemo staviti kabel.

Korak 3: Spajanje i postavljanje svih komponenti

Spajanje i postavljanje svih komponenti
Spajanje i postavljanje svih komponenti
Spajanje i postavljanje svih komponenti
Spajanje i postavljanje svih komponenti
Spajanje i postavljanje svih komponenti
Spajanje i postavljanje svih komponenti

Povežite sve kako je bilo tokom testiranja i nadajte se da će i dalje raditi! Ne zaboravite provjeriti ide li TX pin na jednom Arduinu na RX drugog, i obrnuto. Kao što je prikazano na slici 1, koristili smo telefonski kabel za napajanje Arduina u bušotini, kako bismo izbjegli korištenje baterija.

Druga i treća slika prikazuju plastični raspored cijevi, s odašiljačem postavljenim izvan cijevi, a prijemnikom unutar (da, ovo je bio neugodan položaj za snimanje …)

Korak 4: Kalibracija

Uvjerivši se da je udaljenost od senzora do nivoa vode ispravno izračunata, kalibracija je bila samo pitanje mjerenja promjera bušotine i ukupne dubine kako bi se mogla izračunati zapremina fluida. Također smo prilagodili parametre algoritma (vrijeme između mjerenja, parametri djelomičnog ažuriranja, broj početnih mjerenja) kako bismo dobili robusno i precizno mjerenje.

Dakle, koliko je senzor dobro pratio nivo tečnosti?

Lako smo mogli vidjeti učinak ispiranja slavine na nekoliko minuta ili ispiranja toaleta, što smo htjeli. Čak smo mogli vidjeti da se bušotina preko noći punila relativno predvidljivom brzinom - sve samo jednim pogledom na ekran. Uspjeh!

Napomena:- Pretvorba vremenske udaljenosti trenutno ne ispravlja promjene brzine zvuka zbog temperaturnih varijacija. Ovo bi mogao biti lijep budući dodatak, jer će se temperature u bunaru prilično razlikovati!

Korak 5: Dugotrajna upotreba

Ažuriranje 1 godina: Senzor radi besprijekorno bez znakova korozije ili oštećenja unatoč vlažnom okruženju! Jedini problem tokom godine bio je taj što se kondenzacija nakuplja na senzoru po hladnom vremenu (zimi), što očito blokira senzor. U našem slučaju to nije problem jer nam čitanja trebaju samo tijekom ljeta, ali drugi korisnici će možda morati biti kreativni!:) Izolacija ili ventilacija su vjerovatno izvodljiva rješenja. Sretno s izmišljanjem!

Preporučuje se: