Tartalomjegyzék:

Ultrahangos tartályszintmérő: 5 lépés (képekkel)
Ultrahangos tartályszintmérő: 5 lépés (képekkel)

Videó: Ultrahangos tartályszintmérő: 5 lépés (képekkel)

Videó: Ultrahangos tartályszintmérő: 5 lépés (képekkel)
Videó: Geekbes vs. saját készítésű 6.5 literes ultrahangos tisztító 2024, Július
Anonim
Ultrahangos tartályszintmérő
Ultrahangos tartályszintmérő
Ultrahangos tartályszintmérő
Ultrahangos tartályszintmérő

Figyelni kell a folyadékszintet egy nagy átmérőjű kútban, tartályban vagy nyitott tartályban? Ez az útmutató megmutatja, hogyan készíthet szonár érintés nélküli folyadékszintmérőt olcsó elektronika segítségével!

A fenti vázlat áttekintést nyújt arról, hogy mire törekedtünk ezzel a projekttel. A nyaralónk nagy átmérőjű kúttal rendelkezik, amely ivóvizet biztosít a házban való használatra. Egy napon a bátyámmal beszélgettünk arról, hogy nagyapánk manuálisan mérte a vízszintet, hogy nyomon kövesse a vízfogyasztást és a beáramlást egész nyáron, hogy elkerülje a folyószámlahitelet. Úgy gondoltuk, hogy a modern elektronikával fel kell újítanunk a hagyományt, de kevesebb fizikai munkával. Néhány programozási trükkel sikerült egy Arduino -t használni egy szonár modullal, hogy ésszerű megbízhatósággal és ± néhány milliméteres pontossággal megmérjük a vízfelszínig (l) mért távolságot. Ez azt jelentette, hogy az ismert D átmérő és L mélység segítségével körülbelül ± 1 liter pontossággal megbecsülhetjük a fennmaradó V térfogatot.

Mivel a kút körülbelül 25 méterre található a háztól, és a kijelzőt beltérben szerettük volna, úgy döntöttünk, hogy két Arduinót használunk, köztük adatkapcsolattal. Könnyedén módosíthatja a projektet, hogy csak egy Arduino -t használjon, ha ez nem az Ön esetében áll fenn. Miért nem használja a vezeték nélküli adatátvitelt? Részben az egyszerűség és a robusztusság miatt (kevésbé valószínű, hogy a vezetéket károsítja a nedvesség), részben pedig azért, mert el akartuk kerülni az elemek használatát az érzékelő oldalán. Egy vezetékkel az adatátvitelt és az áramot ugyanazon a kábelen keresztül vezethetjük.

1) Arduino modul a házban Ez a fő Arduino modul. Riasztási jelet küld a kútban lévő Arduino -nak, fogadja a mért távolságot, és megjeleníti a kijelzőn a számított maradék vízmennyiséget.

2) A kútoldali Arduino és szonár modul Ennek az Arduino -nak az a célja, hogy egyszerűen fogadjon egy trigger jelet a háztól, végezzen mérést és küldje vissza a távolságot a szonár modul és a vízszint között. Az elektronika egy (viszonylag légmentesen zárható) dobozba van beépítve, a szonár modul fogadóoldalához műanyag cső van rögzítve. A cső célja a mérési hibák csökkentése a látómező csökkentésével, hogy csak a vízfelületet "lássa" a vevő.

1. lépés: Alkatrészek, tesztelés és programozás

Alkatrészek, tesztelés és programozás
Alkatrészek, tesztelés és programozás
Alkatrészek, tesztelés és programozás
Alkatrészek, tesztelés és programozás
Alkatrészek, tesztelés és programozás
Alkatrészek, tesztelés és programozás

Ebben a projektben a következő részeket használtuk:

  • 2 x Arduino (az egyik a folyadékszint mérésére, egy az eredmények megjelenítésére a kijelzőn)
  • Alapvető 12V -os tápegység
  • Ultrahang (szonár) modul HC-SR04
  • MAX7219 LED kijelző modul
  • 25 m -es telefonkábel (4 vezeték: tápellátás, földelés és 2 adatjel)
  • Szerelő doboz
  • Forró ragasztó
  • Forrasztó

Alkatrész ára: kb 70 €

Annak érdekében, hogy minden megfelelően működjön, először forrasztást, huzalozást és egyszerű próbákat végeztünk. Rengeteg példaprogram létezik az ultrahang-érzékelőre és a LED-modulra az interneten, ezért csak arra használtuk őket, hogy megbizonyosodjunk arról, hogy a mért távolságnak van értelme (1. kép), és hogy képesek vagyunk elfogni az ultrahangos visszaverődést a víz felszínéről. oldal (2. kép). Ezenkívül alaposan teszteltük az adatkapcsolatot, hogy megbizonyosodjunk arról, hogy hosszú távon is működik, ami egyáltalán nem jelentett problémát.

Ne becsülje le az erre a lépésre fordított időt, mivel elengedhetetlen tudni, hogy a rendszer működik, mielőtt erőfeszítéseket tesz annak érdekében, hogy mindent szépen szereljen a dobozokba, leássa a kábeleket stb.

A tesztelés során rájöttünk, hogy a szonármodul néha hangvisszaverődést vesz fel a kút más részeiről, például az oldalfalakról és a vízvezetékről, és nem a vízfelületről. Ez azt jelentette, hogy a mért távolság hirtelen sokkal rövidebb lesz, mint a tényleges vízszint. Mivel nem használhatjuk egyszerűen az átlagolást az ilyen típusú mérési hibák kiegyenlítésére, úgy döntöttünk, hogy elvetünk minden olyan új mért távolságot, amely túlságosan eltér a jelenlegi becsült távolságtól. Ez nem jelent problémát, mivel a vízszint amúgy is meglehetősen lassú változására számítunk. Indításkor ez a modul méréssorozatot végez, és a legnagyobb kapott értéket (azaz a legalacsonyabb vízszintet) választja a legvalószínűbb kiindulópontnak. Ezt követően a "megtartás/elvetés" döntés mellett a becsült szint részleges frissítését használják a véletlenszerű mérési hibák kiegyenlítésére. Az is fontos, hogy az új mérések elvégzése előtt minden visszhang kihaljon - legalábbis a mi esetünkben, amikor a falak betonból vannak, és ezért nagyon visszhangzanak.

A két Arduino esetében használt kód végleges verziója itt található:

github.com/kelindqv/arduinoUltrasonicTank

2. lépés: Építési munkák

Polgári munkák
Polgári munkák

Mivel a kútunk a háztól távol helyezkedett el, a gyepen egy kis árokat kellett létrehoznunk, ahová a kábelt tehetjük.

3. lépés: Az összes alkatrész csatlakoztatása és felszerelése

Az összes alkatrész csatlakoztatása és felszerelése
Az összes alkatrész csatlakoztatása és felszerelése
Az összes alkatrész csatlakoztatása és felszerelése
Az összes alkatrész csatlakoztatása és felszerelése
Az összes alkatrész csatlakoztatása és felszerelése
Az összes alkatrész csatlakoztatása és felszerelése

Csatlakoztasson mindent a tesztelés során, és remélje, hogy továbbra is működik! Ne felejtse el ellenőrizni, hogy az egyik Arduino TX csapja a másik RX -hez megy, és fordítva. Amint az az 1. ábrán látható, a telefonkábelt használtuk az áramellátáshoz a kútban lévő Arduino -hoz, hogy elkerüljük az elemek használatát.

A második és a harmadik képen a műanyag csőelrendezés látható, az adó a csövön kívül, a vevő pedig belül (igen, ez kényelmetlen felvételi helyzet volt …)

4. lépés: Kalibrálás

Miután meggyőződtünk arról, hogy az érzékelő és a vízszint közötti távolságot helyesen számítják ki, a kalibrálás csak a kút átmérőjének és a teljes mélységnek a mérése volt, hogy a folyadék térfogata kiszámítható legyen. Az algoritmus paramétereit (mérések közötti idő, részleges frissítési paraméterek, kezdeti mérések száma) is módosítottuk, hogy robusztus és pontos mérést kapjunk.

Tehát mennyire jól követte az érzékelő a folyadékszintet?

Könnyen láthattuk azt a hatást, hogy néhány percig öblítjük a csapot, vagy öblítjük a vécét, amit mi akartunk. Azt is láthattuk, hogy a kút egy éjszaka alatt viszonylag kiszámítható ütemben újratöltődik - mindezt csak a kijelzőre pillantva. Siker!

Megjegyzés:- Az idő-távolság konverzió jelenleg nem korrigálja a hangsebesség hőmérsékletváltozások miatti változásait. Ez szép jövőbeli kiegészítés lehet, mivel a kút hőmérséklete meglehetősen változik!

5. lépés: Hosszú távú használat

1 év frissítés: Az érzékelő hibátlanul működik korrózió vagy sérülés jelei nélkül, a nedves környezet ellenére! Az év egyetlen problémája az volt, hogy a hideg időben (télen) páralecsapódás halmozódik fel az érzékelőn, ami nyilvánvalóan blokkolja az érzékelőt. A mi esetünkben ez nem jelent problémát, mivel csak nyáron kell olvasnunk, de előfordulhat, hogy más felhasználóknak kreatívnak kell lenniük!:) A szigetelés vagy a szellőzés valószínűleg megvalósítható megoldás. Boldog feltalálást!

Ajánlott: