Cuprins:

Contor de nivel al rezervorului cu ultrasunete: 5 pași (cu imagini)
Contor de nivel al rezervorului cu ultrasunete: 5 pași (cu imagini)

Video: Contor de nivel al rezervorului cu ultrasunete: 5 pași (cu imagini)

Video: Contor de nivel al rezervorului cu ultrasunete: 5 pași (cu imagini)
Video: Filtru de particule - ANULARE vs. CURĂȚARE vs. ÎNLOCUIRE? 2024, Noiembrie
Anonim
Contor de nivel al rezervorului cu ultrasunete
Contor de nivel al rezervorului cu ultrasunete
Contor de nivel al rezervorului cu ultrasunete
Contor de nivel al rezervorului cu ultrasunete

Aveți nevoie să monitorizați nivelul fluidului într-un puț cu diametru mare, într-un rezervor sau într-un recipient deschis? Acest ghid vă va arăta cum să realizați un contor de nivel al fluidului fără contact sonar folosind electronice ieftine!

Schița de mai sus prezintă o privire de ansamblu asupra a ceea ce am urmărit cu acest proiect. Cabana noastră de vară are un puț cu diametru mare pentru a furniza apă potabilă pentru utilizare în casă. Într-o zi, eu și fratele meu am vorbit despre cum bunicul nostru obișnuia să măsoare manual nivelul apei pentru a ține evidența consumului de apă și a afluxului pe tot parcursul verii pentru a evita descoperirea de cont. Am crezut că, cu electronica modernă, ar trebui să putem reînvia tradiția, dar cu mai puțină muncă manuală implicată. Cu câteva trucuri de programare, am reușit să folosim un Arduino cu un modul sonar pentru a măsura distanța până la suprafața apei (l) cu o fiabilitate rezonabilă și o precizie de ± câțiva milimetri. Acest lucru a însemnat că am putea estima volumul rămas V, folosind diametrul cunoscut D și adâncimea L, cu o precizie de aproximativ ± 1 litru.

Deoarece fântâna este situată la aproximativ 25 m de casă și am vrut afișajul în interior, am optat pentru utilizarea a două Arduino cu o legătură de date între ele. Puteți modifica cu ușurință proiectul pentru a utiliza un singur Arduino dacă acest lucru nu este cazul dvs. De ce să nu folosiți transferul de date fără fir? În parte datorită simplității și robusteții (firul este mai puțin probabil să fie deteriorat de umezeală) și parțial pentru că am vrut să evităm utilizarea bateriilor pe partea senzorului. Cu un fir, am putea direcționa atât transferul de date, cât și puterea prin același cablu.

1) Modulul Arduino din casă Acesta este modulul principal Arduino. Acesta va trimite un semnal de declanșare către Arduino în fântână, va primi distanța măsurată și va afișa volumul de apă rămas calculat pe un afișaj.

2) Modulul Arduino și sonar din partea de bine Scopul acestui Arduino este pur și simplu să recepționeze un semnal de declanșare din casă, să efectueze o măsurare și să trimită înapoi distanța de la modulul sonar la nivelul apei. Componentele electronice sunt încorporate într-o cutie (relativ etanșă), cu o țeavă de plastic atașată la partea de recepție a modulului sonar. Scopul conductei este de a reduce erorile de măsurare prin reducerea câmpului vizual astfel încât doar suprafața apei să fie „văzută” de receptor.

Pasul 1: Piese, testare și programare

Piese, testare și programare
Piese, testare și programare
Piese, testare și programare
Piese, testare și programare
Piese, testare și programare
Piese, testare și programare

Am folosit următoarele părți în acest proiect:

  • 2 x Arduino (unul pentru măsurarea nivelului fluidului, unul pentru afișarea rezultatelor pe un afișaj)
  • O sursă de alimentare de bază de 12V
  • Modul cu ultrasunete (sonar) HC-SR04
  • Modul de afișare cu LED MAX7219
  • Cablu telefonic de 25 m (4 fire: alimentare, împământare și 2 semnale de date)
  • Cutie de montare
  • Lipici fierbinte
  • Solder

Costul pieselor: aproximativ 70 €

Pentru a ne asigura că totul a funcționat așa cum ar trebui, am făcut mai întâi toate lipirea, cablarea și testarea simplă pe bancă. Există o mulțime de exemple de programe pentru senzorul cu ultrasunete și modulul LED online, așa că tocmai le-am folosit pentru a ne asigura că distanța măsurată are sens (imaginea 1) și că am reușit să prindem reflexia ultrasunete de pe suprafața apei pe … site (poza 2). De asemenea, am făcut câteva testări amănunțite ale legăturii de date pentru a ne asigura că funcționează vreodată pe distanțe lungi, ceea ce nu sa dovedit a fi deloc o problemă.

Nu subestimați timpul petrecut la acest pas, deoarece este vital să știți că sistemul funcționează înainte de a depune eforturi pentru a monta totul frumos în cutii, săpa cabluri etc.

În timpul testării, ne-am dat seama că modulul sonar preia uneori o reflecție a sunetului din alte părți ale fântânii, cum ar fi pereții laterali și tubul de alimentare cu apă, și nu suprafața apei. Aceasta însemna că distanța măsurată ar fi brusc mult mai mică decât distanța reală până la nivelul apei. Deoarece nu putem folosi pur și simplu media pentru a netezi acest tip de eroare de măsurare, am decis să aruncăm orice distanță măsurată nouă, care era prea diferită de estimarea distanței curente. Acest lucru nu este problematic, deoarece ne așteptăm ca nivelul apei să se schimbe destul de lent oricum. La pornire, acest modul va efectua o serie de măsurători și va selecta cea mai mare valoare primită (adică cel mai scăzut nivel de apă) ca cel mai probabil punct de plecare. După aceea, pe lângă decizia de „păstrare / aruncare”, se utilizează o actualizare parțială a nivelului estimat pentru a atenua erorile de măsurare aleatorii. De asemenea, este important să se permită stingerea tuturor ecourilor înainte de efectuarea unei noi măsurători - cel puțin în cazul nostru în care pereții sunt din beton și, prin urmare, sunt foarte ecologici.

Versiunea finală a codului pe care am folosit-o pentru cele două Arduino poate fi găsită aici:

github.com/kelindqv/arduinoUltrasonicTank

Pasul 2: Lucrări civile

Lucrări de construcții civile
Lucrări de construcții civile

Deoarece fântâna noastră era situată la o distanță de casă, a trebuit să creăm o mică șanț în peluză în care să punem cablul.

Pasul 3: Conectarea și montarea tuturor componentelor

Conectarea și montarea tuturor componentelor
Conectarea și montarea tuturor componentelor
Conectarea și montarea tuturor componentelor
Conectarea și montarea tuturor componentelor
Conectarea și montarea tuturor componentelor
Conectarea și montarea tuturor componentelor

Conectați totul așa cum a fost în timpul testării și sperați că funcționează în continuare! Nu uitați să verificați dacă pinul TX de pe un Arduino merge la RX-ul celuilalt și invers. Așa cum se arată în imaginea 1, am folosit cablul telefonic pentru a furniza energie Arduino din fântână, pentru a evita utilizarea bateriilor.

A doua și a treia imagine arată aranjamentul țevii din plastic, cu emițătorul plasat în afara conductei și receptorul plasat în interior (da, aceasta a fost o poziție de fotografiere incomodă …)

Pasul 4: Calibrare

După ce ne-am asigurat că distanța de la senzor la nivelul apei este calculată corect, calibrarea a fost doar o chestiune de măsurare a diametrului puțului și a adâncimii totale, astfel încât volumul fluidului să poată fi calculat. De asemenea, am ajustat parametrii algoritmului (timpul dintre măsurători, parametrii de actualizare parțială, numărul de măsurători inițiale) pentru a oferi o măsurare robustă și precisă.

Deci, cât de bine a urmărit senzorul nivelul fluidului?

Am putut vedea cu ușurință un efect de spălare a robinetului pentru câteva minute sau de spălare a toaletei, ceea ce am dorit. Am putut vedea chiar că fântâna se reumplea la o rată relativ previzibilă peste noapte - totul doar printr-o privire pe ecran. Succes!

Notă: - Conversia timp-distanță nu este corectată în prezent pentru modificările de viteză a sunetului din cauza variațiilor de temperatură. Acesta ar putea fi un viitor frumos, deoarece temperaturile din puț vor varia destul de mult!

Pasul 5: Utilizarea pe termen lung

Actualizare de 1 an: Senzorul funcționează impecabil, fără semne de coroziune sau daune, în ciuda mediului umed! Singura problemă pe parcursul anului a fost că condensul se acumulează pe senzor pe vreme rece (iarna), ceea ce evident blochează senzorul. Aceasta nu este o problemă în cazul nostru, deoarece avem nevoie de citiri doar în timpul verii, dar este posibil ca alți utilizatori să devină creativi!:) Izolația sau ventilația sunt probabil soluții fezabile. Fericit inventând!

Recomandat: