INHOUDSOPGAWE:

Ultraklank tenkvlakmeter: 5 stappe (met foto's)
Ultraklank tenkvlakmeter: 5 stappe (met foto's)

Video: Ultraklank tenkvlakmeter: 5 stappe (met foto's)

Video: Ultraklank tenkvlakmeter: 5 stappe (met foto's)
Video: 4Werke - Jy Slaan Die Wind In My Seile 2024, November
Anonim
Ultraklank tenk vlak meter
Ultraklank tenk vlak meter
Ultraklank tenk vlak meter
Ultraklank tenk vlak meter

Moet u die vloeistofpeil in 'n put met 'n groot deursnee, 'n tenk of 'n oop houer monitor? Hierdie gids sal u wys hoe u 'n sonar sonder kontakvloeistofvlakmeter kan maak met goedkoop elektronika!

Die skets hierbo toon 'n oorsig van waarna ons met hierdie projek gemik het. Ons kothuis het 'n put met 'n groot deursnee om drinkwater te voorsien vir gebruik in die huis. Op 'n dag het ek en my broer gepraat oor hoe ons oupa die watervlak met die hand gemeet het om die waterverbruik en instroming gedurende die somer by te hou om oortrokke geld te vermy. Ons het gedink dat ons met moderne elektronika die tradisie moet laat herleef, maar met minder handewerk. Met 'n paar programmeertruuks het ons daarin geslaag om 'n Arduino met 'n sonarmodule te gebruik om die afstand tot by die wateroppervlak (l) te meet met redelike betroubaarheid en 'n akkuraatheid van ± 'n paar millimeter. Dit het beteken dat ons die oorblywende volume V kon skat met behulp van die bekende deursnee D en diepte L, met ongeveer ± 1 liter akkuraatheid.

Omdat die put ongeveer 25 m van die huis af geleë is en ons die vertoning binnenshuis wou hê, het ons gekies om twee Arduino's met 'n data -skakel tussenin te gebruik. U kan die projek maklik verander om slegs een Arduino te gebruik as dit nie die geval is nie. Waarom nie draadlose data -oordrag gebruik nie? Deels as gevolg van eenvoud en robuustheid (die draad is minder geneig om beskadig te word deur vog) en deels omdat ons die gebruik van batterye aan die sensorkant wou vermy. Met 'n draad kon ons beide data -oordrag en krag deur dieselfde kabel lei.

1) Arduino -module in die huis Dit is die belangrikste Arduino -module. Dit sal 'n sneller sein na die Arduino in die put stuur, die gemete afstand ontvang en die berekende oorblywende watervolume op 'n skerm vertoon.

2) Aan die ander kant Arduino en sonar module Die doel van hierdie Arduino is eenvoudig om 'n sneller sein uit die huis te ontvang, 'n meting uit te voer en die afstand van die sonar module na die watervlak terug te stuur. Die elektronika is ingebou in 'n (relatief lugdigte) boks, met 'n plastiekpyp aan die ontvangkant van die sonarmodule. Die doel van die pyp is om meetfoute te verminder deur die gesigsveld te verminder sodat slegs die wateroppervlak deur die ontvanger "gesien" word.

Stap 1: Onderdele, toetsing en programmering

Onderdele, toetsing en programmering
Onderdele, toetsing en programmering
Onderdele, toetsing en programmering
Onderdele, toetsing en programmering
Onderdele, toetsing en programmering
Onderdele, toetsing en programmering

Ons het die volgende dele in hierdie projek gebruik:

  • 2 x Arduino (een vir die meting van vloeistofpeil, een om die resultate op die skerm te wys)
  • 'N Basiese 12V -kragtoevoer
  • Ultraklank (sonar) module HC-SR04
  • LED -vertoningsmodule MAX7219
  • 25 m telefoonkabel (4 drade: krag-, grond- en 2 datasignale)
  • Monteer boks
  • Warm gom
  • Soldeer

Onderdele kos: ongeveer € 70

Om seker te maak dat alles werk soos dit moet, het ons eers soldeer, bedrading en eenvoudige banktoetse gedoen. Daar is baie voorbeeldprogramme vir die ultraklanksensor en LED-module aanlyn, so ons het dit net gebruik om seker te maak dat die gemete afstand sin maak (prent 1) en dat ons die ultrasoniese weerkaatsing van die wateroppervlak kon vang- webwerf (prent 2). Ons het ook die dataskakel deeglik getoets om seker te maak dat dit altyd vir lang afstande werk, wat geen probleem was nie.

Moenie die tyd wat aan hierdie stap bestee word, onderskat nie, want dit is noodsaaklik om te weet dat die stelsel werk voordat u moeite doen om alles mooi in bokse te monteer, kabels af te grawe, ens.

Tydens die toets het ons besef dat die sonarmodule soms 'n klankweerkaatsing van ander dele van die put, soos die sywande en watertoevoerbuis, opneem, en nie die wateroppervlak nie. Dit het beteken dat die gemete afstand skielik baie korter sou wees as die werklike afstand tot die watervlak. Aangesien ons nie net gemiddeldes kan gebruik om hierdie tipe meetfout uit te vee nie, het ons besluit om nuwe gemete afstande wat te veel verskil van die huidige afstandskatting, weg te gooi. Dit is nie problematies nie, aangesien ons verwag dat die watervlak in elk geval taamlik stadig sal verander. By die aanvang sal hierdie module 'n reeks metings doen en die grootste ontvangde waarde (dit wil sê die laagste watervlak) as die mees waarskynlike beginpunt kies. Daarna word, benewens die besluit "hou/weggooi", 'n gedeeltelike opdatering van die beraamde vlak gebruik om ewekansige meetfoute uit te vee. Dit is ook belangrik om toe te laat dat alle eggo's uitsterf voordat 'n nuwe meting uitgevoer word - ten minste in ons geval waar die mure van beton is en dus baie eggo -y is.

Die finale weergawe van die kode wat ons vir die twee Arduinos gebruik het, kan hier gevind word:

github.com/kelindqv/arduinoUltrasonicTank

Stap 2: Siviele werke

Siviele werke
Siviele werke

Aangesien ons put op 'n afstand van die huis geleë was, moes ons 'n klein sloot in die grasperk maak om die kabel in te sit.

Stap 3: Koppel en monteer alle komponente

Koppel en monteer alle komponente
Koppel en monteer alle komponente
Koppel en monteer alle komponente
Koppel en monteer alle komponente
Koppel en monteer alle komponente
Koppel en monteer alle komponente

Koppel alles soos dit was tydens die toets, en hoop dat dit steeds werk! Onthou dat die TX -pen op die een Arduino na die RX van die ander gaan, en omgekeerd. Soos in prentjie 1 getoon, het ons die telefoonkabel gebruik om die Arduino in die put te voorsien om nie batterye te gebruik nie.

Die tweede en derde prentjie toon die plastiekpypopstelling, met die sender buite die pyp en die ontvanger binne geplaas (ja, dit was 'n ongemaklike skietposisie …)

Stap 4: Kalibrasie

Nadat u seker gemaak het dat die afstand van die sensor tot die watervlak korrek bereken word, was kalibrasie net 'n kwessie van die meting van die deursnee van die put en die totale diepte sodat die vloeistofvolume bereken kan word. Ons het ook die algoritmeparameters (tyd tussen metings, die gedeeltelike opdateringsparameters, aantal aanvanklike metings) aangepas om 'n robuuste en akkurate meting te gee.

Hoe goed het die sensor die vloeistofvlak gevolg?

Ons kon maklik die effek sien dat die kraan 'n paar minute gespoel word, of die toilet gespoel word, wat ons wou hê. Ons kon selfs sien dat die put oornag teen 'n relatief voorspelbare koers hervul word - alles met 'n blik op die skerm. Sukses!

Let wel:- Die tyd-afstand-omskakeling korrigeer tans nie vir veranderinge in klanksnelheid as gevolg van temperatuurverskille nie. Dit kan 'n goeie toevoeging in die toekoms wees, aangesien die temperatuur in die put baie kan wissel!

Stap 5: Langtermyn gebruik

1 jaar opdatering: Die sensor werk foutloos sonder tekens van korrosie of skade ondanks die vogtige omgewing! Die enigste probleem gedurende die jaar was dat kondensasie tydens koue weer (in die winter) op die sensor ophoop, wat die sensor duidelik blokkeer. Dit is in ons geval nie 'n probleem nie, aangesien ons slegs gedurende die somer lesings nodig het, maar ander gebruikers sal moontlik kreatief moet wees!:) Isolasie of ventilasie is waarskynlik haalbare oplossings. Gelukkig uitvind!

Aanbeveel: