Innehållsförteckning:
- Steg 1: Delar, testning och programmering
- Steg 2: Anläggningsarbeten
- Steg 3: Anslutning och montering av alla komponenter
- Steg 4: Kalibrering
- Steg 5: Långtidsanvändning
Video: Nivåmätare för ultraljud: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Behöver du övervaka vätskenivån i en brunn med stor diameter, en tank eller en öppen behållare? Den här guiden visar dig hur du gör en ekolodsfri kontaktnivåmätare med billig elektronik!
Skissen ovan visar en översikt över vad vi siktade på med detta projekt. Vår sommarstuga har en brunn med stor diameter för att leverera dricksvatten för användning i huset. En dag pratade min bror och jag om hur vår farfar brukade mäta vattennivån manuellt för att hålla koll på vattenförbrukningen och tillströmningen under hela sommaren för att undvika kassakredit. Vi trodde att med modern elektronik borde vi kunna återuppliva traditionen, men med mindre manuellt arbete inblandat. Med några programmeringstrick lyckades vi använda en Arduino med en ekolodsmodul för att mäta avståndet ner till vattenytan (l) med rimlig tillförlitlighet och en noggrannhet på ± några millimeter. Detta innebar att vi kunde uppskatta den återstående volymen V med hjälp av den kända diametern D och djupet L med ungefär ± 1 liters noggrannhet.
Eftersom brunnen ligger cirka 25 meter från huset och vi ville ha displayen inomhus valde vi att använda två Arduinos med en datalänk däremellan. Du kan enkelt ändra projektet för att använda bara en Arduino om detta inte är fallet för dig. Varför inte använda trådlös dataöverföring? Dels på grund av enkelhet och robusthet (det är mindre troligt att tråden skadas av fukt) och dels för att vi ville undvika att använda batterier på givarsidan. Med en kabel kunde vi leda både dataöverföring och ström via samma kabel.
1) Arduino -modul i husetDetta är den huvudsakliga Arduino -modulen. Den kommer att skicka en triggersignal till Arduino i brunnen, ta emot det uppmätta avståndet och visa den beräknade återstående vattenvolymen på en display.
2) Arduino- och ekolodsmodul på bronsidan Syftet med denna Arduino är helt enkelt att ta emot en triggersignal från huset, utföra en mätning och skicka tillbaka avståndet från ekolodsmodulen till vattennivån. Elektroniken är inbyggd i en (relativt lufttät) låda, med ett plaströr fäst på mottagarsidan av ekolodsmodulen. Syftet med röret är att minska mätfel genom att minska synfältet så att endast vattenytan "ses" av mottagaren.
Steg 1: Delar, testning och programmering
Vi använde följande delar i detta projekt:
- 2 x Arduino (en för att mäta vätskenivå, en för att visa resultaten på en display)
- En grundläggande 12V strömförsörjning
- Ultraljud (ekolod) modul HC-SR04
- LED -displaymodul MAX7219
- 25 m telefonkabel (4 ledningar: ström, jord och 2 datasignaler)
- Monteringslåda
- Varmt lim
- Löda
Delkostnad: Cirka € 70
För att se till att allt fungerade som det skulle gjorde vi först lödning, kabeldragning och enkla bänktester. Det finns gott om exempelprogram för ultraljudssensorn och LED-modulen online, så vi använde dem bara för att se till att det uppmätta avståndet var meningsfullt (bild 1) och att vi kunde fånga ultraljudsreflektionen från vattenytan på- webbplats (bild 2). Vi gjorde också en noggrann testning av datalänken för att säkerställa att den alltid fungerar på långa avstånd, vilket inte visade sig vara något problem alls.
Underskatta inte den tid som läggs ner på detta steg, eftersom det är viktigt att veta att systemet fungerar innan du anstränger dig för att montera allt snyggt i lådor, gräva ner kablar etc.
Under testet insåg vi att ekolodsmodulen ibland hämtar en ljudreflektion från andra delar av brunnen, till exempel sidoväggar och vattenförsörjningsrör, och inte vattenytan. Detta innebar att det uppmätta avståndet plötsligt skulle bli mycket kortare än det faktiska avståndet till vattennivån. Eftersom vi inte helt enkelt kan använda medelvärdet för att utjämna denna typ av mätfel, bestämde vi oss för att kasta alla nya uppmätta avstånd som var för olika från den aktuella avståndsuppskattningen. Detta är inte problematiskt eftersom vi förväntar oss att vattennivån ändras ganska långsamt ändå. Vid start kommer denna modul att göra en serie mätningar och välja det största mottagna värdet (dvs. den lägsta vattennivån) som den mest troliga utgångspunkten. Därefter, utöver beslutet "behåll/kassera", används en delvis uppdatering av den uppskattade nivån för att utjämna slumpmässiga mätfel. Det är också viktigt att låta alla ekon dö ut innan en ny mätning utförs - åtminstone i vårt fall där väggarna är gjorda av betong och därför mycket eko -y.
Den slutliga versionen av koden som vi använde för de två Arduinos hittar du här:
github.com/kelindqv/arduinoUltrasonicTank
Steg 2: Anläggningsarbeten
Eftersom vår brunn låg på ett avstånd från huset, var vi tvungna att skapa en liten gräv i gräsmattan för att sätta in kabeln.
Steg 3: Anslutning och montering av alla komponenter
Anslut allt som det var under testningen, och hoppas att det fortfarande fungerar! Kom ihåg att kontrollera att TX -stiftet på en Arduino går till RX på den andra, och vice versa. Som visas på bild 1 använde vi telefonkabeln för att försörja Arduino i brunnen för att undvika att använda batterier.
Den andra och tredje bilden visar plaströrsarrangemanget, med sändaren placerad utanför röret och mottagaren placerad inuti (ja, det här var en obekväm skjutposition …)
Steg 4: Kalibrering
Efter att ha säkerställt att avståndet från sensorn till vattennivån beräknas korrekt, var kalibreringen bara att mäta brunnens diameter och det totala djupet så att vätskevolymen kan beräknas. Vi justerade också algoritmparametrarna (tid mellan mätningar, parametrarna för delvis uppdatering, antalet initiala mätningar) för att ge en robust och exakt mätning.
Så hur bra spårade sensorn vätskenivån?
Vi kunde enkelt se en effekt av att spola kranen i några minuter, eller att spola toaletten, vilket är vad vi ville. Vi kunde till och med se att brunnen fyllde på med en relativt förutsägbar hastighet över en natt - allt bara genom en blick på displayen. Framgång!
Obs:- Tidsavståndskonverteringen korrigerar för närvarande inte för förändringar i ljudets hastighet på grund av temperaturvariationer. Detta kan vara ett trevligt framtida tillskott, eftersom temperaturen i brunnen kommer att variera en hel del!
Steg 5: Långtidsanvändning
1 års uppdatering: Sensorn fungerar felfritt utan tecken på korrosion eller skada trots den fuktiga miljön! Det enda problemet under året har varit att kondens samlas på sensorn under kallt väder (på vintern), vilket uppenbarligen blockerar sensorn. Detta är inte ett problem i vårt fall eftersom vi bara behöver avläsningar under sommaren, men andra användare kan behöva bli kreativa!:) Isolering eller ventilation är förmodligen genomförbara lösningar. Glad att uppfinna!
Rekommenderad:
Sonografi med kropps-ultraljud med Arduino: 3 steg (med bilder)
Body-ultrasound Sonography With Arduino: Hej! Min hobby och passion är att förverkliga fysikprojekt. Ett av mina sista arbeten handlar om ultraljudssonografi. Som alltid försökte jag göra det så enkelt som möjligt med delar du kan få på ebay eller aliexpress. Så låt oss ta en titt på hur långt jag kan gå med
Flödesmätning med vattenflödesmätare (ultraljud): 5 steg (med bilder)
Flödesmätning med vattenflödesmätare (ultraljud): Vatten är en kritisk resurs för vår planet. Vi människor behöver vatten varje dag. Och vatten är nödvändigt för en mängd olika industrier och vi människor behöver det varje dag. Eftersom vatten har blivit mer värdefullt och knappt, behövs behovet av effektiv övervakning och hantering
Ultraljud Pi -piano med gestkontroller !: 10 steg (med bilder)
Ultrasonic Pi Piano With Gesture Controls !: Detta projekt använder billiga HC-SR04 ultraljudssensorer som ingångar och genererar MIDI-noter som kan spelas via en synthesizer på Raspberry Pi för ett högkvalitativt ljud.Projektet använder också en grundläggande form av gestkontroll , där musiken
Sensor för vätskenivå (med ultraljud): 5 steg
Liquid Level Sensor (med ultraljud): Liquid Level Sensor detekterar vätskenivån från en marknivå. Slår på motorn (kräver motorförstärkare) under ett visst värde och stänger av den över ett visst värde efter påfyllning av vätskan.Funktioner i detta system: Fungerar med eventuella
Fantastisk LED -nivåmätare: 7 steg
Fantastisk LED -nivåmätare: Detta SKA bli mitt bidrag till "Få LED -ut -tävlingen", men jag var för långsam. Jag var uttråkad en dag. Jag ville bygga något coolt. En snabb brainstorming och inget kom fram. Jag grävde igenom mina skräpboxar och hittade en gammal nivåmätare