Turinys:

Ultragarso bako lygio matuoklis: 5 žingsniai (su nuotraukomis)
Ultragarso bako lygio matuoklis: 5 žingsniai (su nuotraukomis)

Video: Ultragarso bako lygio matuoklis: 5 žingsniai (su nuotraukomis)

Video: Ultragarso bako lygio matuoklis: 5 žingsniai (su nuotraukomis)
Video: Kaip patikrinti kuro siurblį | AUTODOC patarimai 2024, Liepa
Anonim
Ultragarsinis bako lygio matuoklis
Ultragarsinis bako lygio matuoklis
Ultragarsinis bako lygio matuoklis
Ultragarsinis bako lygio matuoklis

Reikia stebėti skysčio lygį didelio skersmens šulinyje, rezervuare ar atvirame inde? Šis vadovas parodys, kaip pasigaminti bekontaktį sonaro skysčio lygio matuoklį naudojant pigią elektroniką!

Aukščiau eskizas parodo, ko siekėme įgyvendindami šį projektą. Mūsų vasarnamyje yra didelio skersmens šulinys, skirtas tiekti geriamąjį vandenį namuose. Vieną dieną su broliu kalbėjome apie tai, kaip senelis rankiniu būdu matavo vandens lygį, kad visą vasarą būtų galima sekti vandens suvartojimą ir antplūdį, kad būtų išvengta overdrafto. Manėme, kad turėdami šiuolaikinę elektroniką turėtume sugebėti atgaivinti tradiciją, tačiau mažiau dirbdami rankiniu būdu. Su keliais programavimo triukais mums pavyko panaudoti „Arduino“su sonaro moduliu, kad būtų galima pagrįstai patikimai ir ± kelių milimetrų tikslumu išmatuoti atstumą iki vandens paviršiaus (l). Tai reiškė, kad likusį tūrį V, naudodami žinomą skersmenį D ir gylį L, galėjome įvertinti maždaug ± 1 litro tikslumu.

Kadangi šulinys yra maždaug 25 m nuo namo ir norėjome, kad ekranas būtų patalpose, mes pasirinkome naudoti du „Arduinos“su duomenų ryšiu tarp jų. Galite lengvai modifikuoti projektą, kad būtų naudojamas tik vienas „Arduino“, jei tai nėra jūsų atvejis. Kodėl nepasinaudojus belaidžiu duomenų perdavimu? Iš dalies dėl paprastumo ir tvirtumo (mažai tikėtina, kad laidas bus pažeistas drėgmės), o iš dalies dėl to, kad norėjome vengti naudoti baterijas jutiklio pusėje. Naudodami laidą, galėtume nukreipti tiek duomenų perdavimą, tiek maitinimą tuo pačiu kabeliu.

1) Arduino modulis namuoseTai yra pagrindinis Arduino modulis. Jis išsiųs trigerio signalą šulinio „Arduino“, gaus išmatuotą atstumą ir ekrane parodys apskaičiuotą likusį vandens kiekį.

2) Šulinio šoninis „Arduino“ir sonaro modulis Šio „Arduino“tikslas yra tiesiog gauti trigerinį signalą iš namų, atlikti matavimą ir atsiųsti atstumą nuo sonaro modulio iki vandens lygio. Elektronika yra įmontuota į (santykinai sandarią) dėžutę, prie sonaro modulio priėmimo pusės pritvirtintas plastikinis vamzdis. Vamzdžio paskirtis - sumažinti matavimo klaidas, sumažinant regėjimo lauką, kad imtuvas „matytų“tik vandens paviršių.

1 žingsnis: dalys, testavimas ir programavimas

Dalys, bandymai ir programavimas
Dalys, bandymai ir programavimas
Dalys, bandymai ir programavimas
Dalys, bandymai ir programavimas
Dalys, bandymai ir programavimas
Dalys, bandymai ir programavimas

Šiame projekte mes naudojome šias dalis:

  • 2 x „Arduino“(vienas skysčio lygiui matuoti, kitas - rodyti rezultatus ekrane)
  • Pagrindinis 12 V maitinimo šaltinis
  • Ultragarso (sonaro) modulis HC-SR04
  • LED ekrano modulis MAX7219
  • 25 m telefono kabelis (4 laidai: maitinimo, įžeminimo ir 2 duomenų signalai)
  • Montavimo dėžutė
  • Karšti klijai
  • Lituoklis

Dalių kaina: apie 70 eurų

Norėdami įsitikinti, kad viskas veikia taip, kaip turėtų, pirmiausia atlikome visus litavimo, laidų ir paprastus stendo bandymus. Internete yra daugybė pavyzdinių programų ultragarso jutikliui ir LED moduliui, todėl tiesiog jas panaudojome, kad įsitikintume, jog išmatuotas atstumas yra prasmingas (1 pav.) Ir kad galėjome užfiksuoti ultragarsinį atspindį nuo vandens paviršiaus. svetainė (2 pav.). Mes taip pat nuodugniai išbandėme duomenų nuorodą, kad įsitikintume, jog ji visada veikia dideliais atstumais, o tai pasirodė esanti ne problema.

Nenuvertinkite šiam žingsniui skirto laiko, nes labai svarbu žinoti, kad sistema veikia prieš dedant pastangas viską gražiai sumontuoti į dėžes, iškasti kabelius ir pan.

Bandymų metu supratome, kad sonaro modulis kartais sugeria garso atspindį iš kitų šulinio dalių, tokių kaip šoninės sienelės ir vandens tiekimo vamzdis, o ne vandens paviršius. Tai reiškė, kad išmatuotas atstumas staiga bus daug trumpesnis už faktinį atstumą iki vandens lygio. Kadangi negalime paprasčiausiai naudoti vidurkio, kad išlygintume tokio tipo matavimo klaidas, nusprendėme atmesti visus naujus išmatuotus atstumus, kurie per daug skyrėsi nuo dabartinio atstumo įvertinimo. Tai nėra problemiška, nes tikimės, kad vandens lygis bet kuriuo atveju keisis gana lėtai. Paleistas šis modulis atliks matavimų seriją ir pasirinks didžiausią gautą vertę (t. Y. Mažiausią vandens lygį) kaip labiausiai tikėtiną pradinį tašką. Po to, be sprendimo „palikti/atmesti“, atsitiktinių matavimų klaidoms išlyginti naudojamas dalinis įvertinto lygio atnaujinimas. Prieš atliekant naują matavimą taip pat svarbu leisti, kad visi aidai išnyktų - bent jau mūsų atveju, kai sienos pagamintos iš betono, todėl labai aidi.

Galutinę kodo versiją, kurią naudojome dviem „Arduinos“, rasite čia:

github.com/kelindqv/arduinoUltrasonicTank

2 žingsnis: civiliniai darbai

Viešieji darbai
Viešieji darbai

Kadangi mūsų šulinys buvo nutolęs nuo namų, vejoje turėjome sukurti nedidelį tranšėją, į kurią įkišti kabelį.

3 žingsnis: visų komponentų prijungimas ir montavimas

Visų komponentų prijungimas ir montavimas
Visų komponentų prijungimas ir montavimas
Visų komponentų prijungimas ir montavimas
Visų komponentų prijungimas ir montavimas
Visų komponentų prijungimas ir montavimas
Visų komponentų prijungimas ir montavimas

Prijunkite viską taip, kaip buvo bandymo metu, ir tikėkitės, kad jis vis tiek veiks! Nepamirškite patikrinti, ar vieno „Arduino“TX kaištis eina į kito RX ir atvirkščiai. Kaip parodyta 1 paveiksle, mes naudojome telefono kabelį, kad galėtume maitinti „Arduino“šulinyje, kad nenaudotume baterijų.

Antroje ir trečioje nuotraukoje pavaizduotas plastikinis vamzdis, siųstuvas pastatytas už vamzdžio, o imtuvas - viduje (taip, tai buvo nepatogi fotografavimo padėtis …)

4 žingsnis: kalibravimas

Įsitikinęs, kad atstumas nuo jutiklio iki vandens lygio yra teisingai apskaičiuotas, kalibravimas buvo tik šulinio skersmens ir viso gylio matavimas, kad būtų galima apskaičiuoti skysčio tūrį. Mes taip pat pakoregavome algoritmo parametrus (laikas tarp matavimų, dalinio atnaujinimo parametrai, pradinių matavimų skaičius), kad gautume patikimą ir tikslų matavimą.

Taigi, kaip gerai jutiklis sekė skysčio lygį?

Mes galėjome lengvai pamatyti efektą, kai keletą minučių nuplaunamas čiaupas arba nuplaunamas tualetas, ko mes norėjome. Mes netgi matėme, kad šulinys per naktį buvo pripildomas gana nuspėjamu greičiu - visa tai tik žvilgsniu į ekraną. Sėkmė!

Pastaba:- Laiko ir atstumo konvertavimas šiuo metu netinka garso greičio pokyčiams dėl temperatūros svyravimų. Tai gali būti puikus papildymas ateityje, nes temperatūra šulinyje labai skirsis!

5 žingsnis: ilgalaikis naudojimas

1 metų atnaujinimas: jutiklis veikia nepriekaištingai, be korozijos ar pažeidimo požymių, nepaisant drėgnos aplinkos! Vienintelė problema per metus buvo ta, kad šaltu oru (žiemą) ant jutiklio susikaupia kondensatas, kuris akivaizdžiai blokuoja jutiklį. Mūsų atveju tai nėra problema, nes mums reikia skaityti tik vasarą, tačiau kitiems vartotojams gali tekti būti kūrybingiems!:) Izoliacija ar ventiliacija tikriausiai yra įmanomi sprendimai. Laimingas išradimas!

Rekomenduojamas: