Turinys:
- 1 žingsnis: dalys, testavimas ir programavimas
- 2 žingsnis: civiliniai darbai
- 3 žingsnis: visų komponentų prijungimas ir montavimas
- 4 žingsnis: kalibravimas
- 5 žingsnis: ilgalaikis naudojimas
Video: Ultragarso bako lygio matuoklis: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
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
Š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
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
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:
Realaus laiko šulinio vandens lygio matuoklis: 6 žingsniai (su nuotraukomis)
Realaus laiko šulinio vandens lygio matuoklis: šiose instrukcijose aprašoma, kaip sukurti nebrangų, realaus laiko vandens lygio matuoklį, skirtą naudoti iškastose šuliniuose. Vandens lygio matuoklis skirtas kabėti iškastame šulinyje, matuoti vandens lygį kartą per dieną ir siųsti duomenis „WiFi“arba korinio ryšio pagalba
Realaus laiko šulinio vandens temperatūra, laidumas ir vandens lygio matuoklis: 6 žingsniai (su nuotraukomis)
Realaus laiko šulinio vandens temperatūros, laidumo ir vandens lygio matuoklis: šiose instrukcijose aprašoma, kaip sukurti nebrangų, realaus laiko vandens skaitiklį, skirtą stebėti temperatūrą, elektros laidumą (EC) ir vandens lygį iškastuose šuliniuose. Skaitiklis skirtas pakabinti iškasto šulinio viduje, matuoti vandens temperatūrą, EB ir
Nesaugus triukšmo lygio matuoklis arba ženklas: 4 žingsniai (su nuotraukomis)
Nesaugus triukšmo lygio matuoklis arba ženklas: man patinka žiūrėti į žmonių kūrybinius projektus. Šiuolaikiniai įrankiai & technologijos suteikia mums daug kūrybinių galimybių. Naujosios Zelandijos vidurinės mokyklos moku kietos medžiagos vidurinės mokyklos moksleiviams, todėl visada tobulėju & išbandyti naujus dalykus. Tai
LORA bako lygio jutiklis: 6 žingsniai
LORA bako lygio jutiklis: tai mano 6 -asis LORA nurodymas. Pirmasis buvo LORA tarpusavio bendravimas su arduino. Norėdami gauti duomenis iš šio jutiklio, galite naudoti šios instrukcijos serverio mazgą. Aš tai sukūriau, nes man reikėjo mažai energijos suvartojančio jutiklio, kad galėčiau
Bako vandens lygio indikatorius: 11 žingsnių
Bako vandens lygio indikatorius: Sveiki, šiandien aš padarysiu rezervuaro vandens lygio indikatorių, naudojant BC547 tranzistorių. Ši grandinė parodys vandens lygį. Pradėkime