Indholdsfortegnelse:

Ultrasonic Rainwater Tank Capacity Meter: 10 trin (med billeder)
Ultrasonic Rainwater Tank Capacity Meter: 10 trin (med billeder)

Video: Ultrasonic Rainwater Tank Capacity Meter: 10 trin (med billeder)

Video: Ultrasonic Rainwater Tank Capacity Meter: 10 trin (med billeder)
Video: TS-FT002 Wireless Water Tank Meter 2024, November
Anonim
Ultralyds regnvandstank kapacitetsmåler
Ultralyds regnvandstank kapacitetsmåler

Hvis du ligner mig og har lidt af en miljømæssig samvittighed (eller bare er hudfarver ivrige efter at spare et par kroner - hvilket også er mig …), kan du have en regnvandstank. Jeg har en tank til at høste den temmelig sjældne regn, vi får i Australien - men dreng åh dreng, når det regner her, regner det VIRKELIG! Min tank står omkring 1,5 m høj og er på en sokkel, hvilket betyder, at jeg skal ud af trin for at kontrollere vandstanden (eller - fordi jeg er så doven, balancerer usikkert oven på en gammel gasflaske fra den grill, der nu har taget permanent ophold som et 'trin' ved siden af tanken).

Jeg ville have en eller anden måde at kunne kontrollere vandstanden i tanken, uden al klatring og hænge på afløbsrøret med en hånd (mens du bekymrer dig om, hvad edderkopper kan være bag det - du har hørt om australske edderkopper - ikke?) … Så med en fornyet sent i livet interesse for elektronik og billige Arduino -kloner fra Kina på eBay, besluttede jeg mig for at prøve at bygge en 'widget' for at gøre jobbet for mig.

Nu skulle min 'drøm' -widget installeres permanent i tanken, bruge en solopladet strømkilde, med en fjernudlæsning i min garage eller måske en trådløs sender ved hjælp af Bluetooth, som jeg kunne tjekke fra min telefon eller måske endda en ESP -type enhed, der er vært for en automatisk opdateret webside, så jeg kunne kontrollere vandniveauet i min tank overalt i verden over internettet … men egentlig - hvorfor har jeg brug for alt det? Så jeg ringede mine store idealer lidt tilbage (godt, ganske betragteligt) og gjorde op med løsningens trådløshed, den permanent installerede, solopladning og muligheden for at kontrollere min tankens niveau fra bagenden af den anden side (altid forudsat at bagenden af hinsides har WiFi tilgængelig, det vil sige …)

Det resulterende projekt blev nedgraderet til den håndholdte enhed set ovenfor, der ganske enkelt kan holdes over åbningen af tanken og aktiveres med en trykknap med en digital aflæsning, der kan læses fra jordoverfladen - langt mere praktisk.

Trin 1: Matematikken …

Efter at have leget med flere ideer om, hvordan man bestemmer vandstanden - besluttede jeg mig for en ultralydssender/modtager som grundlag for min widget og brugte en Arduino til at tage målingerne og lave alle matematik. De aflæsninger, der returneres fra sensoren, er (indirekte) i form af en afstand - fra ultralydssensoren til den overflade, den er sprunget af (vandoverfladen - eller bunden af tanken, hvis den er tom), og tilbage igen, så vi har brug for at gøre et par ting med dette for at komme til en procentdel tilbage i tanken.

NB - i virkeligheden er værdien, der returneres fra sensoren, egentlig bare den tid, det tager, før signalet forlader sendersiden og vender tilbage til modtageren. Dette er i mikrosekunder - men at kende lydens hastighed er 29 mikrosekunder pr. Cm (Hvad? Du vidste det ikke? Pfft …) gør en let konvertering fra en tidsperiode til en afstandsmåling.

Billede
Billede

Først - selvfølgelig skal vi dividere afstanden med 2 for at få sensoren til overfladeafstand. Træk derefter den konstante afstand fra sensoren til den 'maksimale' vanddybde. Den resterende værdi er den vanddybde, der er blevet brugt. Træk derefter denne værdi fra den maksimale vanddybde for at finde dybden af vand, der er tilbage i tanken.

Denne værdi er derefter grundlaget for alle andre beregninger, såsom at udregne denne vanddybde som en procentdel af den maksimale dybde eller multiplicere dybden med det konstante 'overfladeareal' for at få en mængde vand, der kan vises i liter (eller gallon eller enhver anden enhed - så længe du kender matematikken til at gøre det - jeg holder mig til en procentdel for enkelhedens skyld).

Trin 2: Praktik

Enheden kan holdes i hånden, men dette introducerer en lille mulighed for mindre unøjagtigheder, hvis enheden ikke holdes samme sted og i samme vinkel hver gang. Selvom det kun ville være en meget lille fejl, og sandsynligvis ikke engang en, der ville registrere, ville det være den slags ting, der niggede væk til mig.

Imidlertid introduceres håndholdt den meget større mulighed for, at den forbandede ting vil blive tabt i tanken og aldrig blive set igen. Så for at begrænse begge disse muligheder vil det blive fastgjort på en trælængde, som derefter placeres over tankåbningen - så målingen tages fra nøjagtig samme højde og vinkel hver gang (og hvis den ER faldet i tank, vil træet i det mindste flyde).

En trykknap aktiverer enheden (eliminerer derved behovet for en tænd/sluk -kontakt og muligheden for et utilsigtet fladt batteri) og affyrer skitsen i Arduino. Dette tager et antal aflæsninger fra HC-SR04 og tager gennemsnittet af dem (for at afbøde eventuelle uregelmæssige aflæsninger).

Jeg inkluderede også en smule kode for at kontrollere for høj eller lav på en af Arduino digitale I/O -benene, og brug den til at sætte enheden i det, jeg kaldte 'Kalibrering' -tilstand. I denne tilstand viser displayet simpelthen den faktiske afstand (divideret med 2) returneret af sensoren, så jeg kunne kontrollere nøjagtigheden af det mod et målebånd.

Trin 3: Ingredienserne

Enheden består af tre hovedkomponenter …

Billede
Billede
  1. Et HC-SR04 ultralyds sender/modtager modul
  2. En Arduino Pro Mini mikrokontroller
  3. Et firecifret 7 segment LED display eller display 'modul' såsom en TM1637

Alt ovenstående kan let findes på ebay ved blot at søge efter de udtryk, der vises med fed skrift.

I denne applikation bruger displayet simpelthen 3 cifre til at vise en % -værdi på 0-100 eller 4 cifre for at vise antallet af liter (max 2000 i mit tilfælde), så enhver 4 -cifret display gør - du behøver ikke at bekymre dig om, hvorvidt modulet har decimaltegn eller kolon. Et display 'modul' (LED monteret på et breakout board, med en interfacechip) er lettere, da det bruger færre pin -forbindelser, men et råt LED -display med 12 pins kunne indkvarteres af Arduino med nogle små ændringer af koden (faktisk var mit originale design baseret på denne opsætning). Bemærk dog, at brug af en rå LED -skærm også kræver 7 modstande for at begrænse strømmen trukket af hvert segment. Jeg havde tilfældigvis et TM1637 urvisningsmodul til rådighed, så besluttede mig for at bruge det.

Supplerende bits og bobs inkluderer en 9v batteriklemme (og selvfølgelig et batteri), en 'push-to-make' øjeblikkelig trykknapkontakt, en projektboks, hovedstifter, forbindelsestråde og en længde på 2 "x4" tømmer, der overstiger tankåbningens diameter.

De supplerende bits og bobs (bortset fra tømmerstumpen) blev købt fra min lokale hobbyelektronik outlet -kæde - som er Jaycar i Australien. Jeg forestiller mig, at Maplin i Storbritannien ville være et levedygtigt alternativ, og jeg tror, der er et par stykker i USA, f.eks. Digikey og Mouser. For andre lande er jeg bange for, at jeg ikke ved det, men jeg er sikker på, at hvis du mangler en passende high street outlet eller online leverandør i dit land, så vil kinesiske ebay -sælgere komme igennem til dig, hvis du ikke gør det sind venter et par uger på levering (ironisk nok, på trods af at være en af vores nærmeste naboer, er 6 uger eller mere ikke usædvanligt for levering til Australien fra Kina!).

Sørg for, at du får en projektboks, der er stor nok - jeg gættede på min, før jeg havde komponenterne til rådighed, og det er en virkelig virkelig stram klemme - jeg skal muligvis skaffe mig en anden trykknap, der bruger mindre plads.

Åh, og i øvrigt kom tømmerlængden lige fra nogle skrotafskæringer, jeg gemmer i hjørnet af min garage (som et hjem for flere af de dejlige edderkopper).

Når du forstår det skematiske og funktionalitet, kan du beslutte dig for at tilpasse din version og inkludere en tænd/sluk-kontakt eller bruge en 18650 Li-Ion-strømkilde med solpanel og opladningsregulator for at holde den konstant fyldt op og klar til brug, eller skift det enkle LED-display til en flerlinjes LCD eller grafisk OLED med flere informationsvisningsmuligheder, f.eks. at vise den procentdel OG liter, der er tilbage på samme tid. Eller du kan gå efter den helt syngende, dansende trådløse IoT-enhed permanent installeret i tanken MED solopladning. Jeg vil meget gerne høre om dine variationer og ændringer.

Trin 4: Test af prototypen (og koden)

Efter at have købt HC-SR04 fra en billig kinesisk kilde på ebay, forventede jeg ikke rigtig at modtage en enormt nøjagtig enhed, så jeg ville først teste den på brødbrættet, hvis jeg skulle tilføje nogle afstandskorrektionskoder til min skitse.

På dette tidspunkt kastede jeg rundt efter grundlæggende oplysninger om, hvordan man tilslutter og bruger HC-SR04, og må anerkende jsvesters instruerbare "Simple Arduino og HC-SR04-eksempel". Hans eksempel og erfaring var et godt udgangspunkt for mig at begynde at kode fra.

Jeg fandt NewPing-biblioteket med funktioner til HC-SR04, som inkluderer indbygget funktionalitet til at tage gennemsnittet af flere aflæsninger og derved gøre min kode meget enklere.

Jeg fandt også et bibliotek til TM1637 urvisningsmodulet, hvilket gjorde visning af numre meget enklere. I min originalkode (til det 4-cifrede 7-segment display) måtte jeg opdele nummeret i individuelle cifre, derefter bygge hvert enkelt ciffer på displayet ved at vide, hvilke segmenter der skal belyses, og derefter cykle gennem hvert ciffer i tallet og bygge dette nummer på det relevante displayciffer. Denne metode kaldes multiplexing og viser effektivt kun et enkelt ciffer ad gangen, men cykler gennem dem fra et ciffer til det næste så hurtigt, at det menneskelige øje ikke opdager det og narrer dig til at tro, at alle cifrene er tændt på samme tid. Som med HC-SR04-biblioteket, der gør måleoperationer lettere, tager dette displaybibliotek sig af al multiplexering og cifferhåndtering. Arduino -referencesider, der er linket til ovenfor, giver nogle eksempler, og hvert bibliotek har naturligvis prøvekode, der kan være en stor hjælp.

Billede
Billede
Billede
Billede

n

Så ovenstående billeder viser min testrig - jeg tester den på min Arduino Uno for enkelhed, da den allerede er konfigureret til midlertidige genanvendelige forbindelser til prototyper. Enheden fungerer i 'Kalibrering' -tilstand her (bemærk, at digital pin 10 - den hvide ledning - er forbundet til jorden) og præcist læser 39cm til den boks, jeg tilfældigt havde placeret foran den, som det ses af målebåndet. I denne tilstand viser jeg det lille 'c' foran målingen, bare for at angive, at det ikke er den normale måling.

Udover Vcc (5v) og Ground har HC -SR04 brug for 2 andre forbindelser - udløseren (gul til pin 6) og ekko (grøn til pin 7). Displayet har også brug for Vcc (5v) og Ground og 2 flere forbindelser - ur (blå til pin 8) og DIO (lilla til pin 9). Som allerede nævnt styres driftstilstanden af en høj eller lav på pin 10 (hvid). Forbindelserne vil bruge de samme ben på Arduino Pro Mini, men vil blive loddet permanent. Driftstilstanden kan vælges ved hjælp af en jumper på tværs af to ud af tre hovedstifter, der er forbundet til henholdsvis Vcc, pin 10 og jord.

De officielle specifikationer for HC -SR04 hævder noget i retning af en maksimal fejl på kun 3 millimeter op til den maksimalt designede driftsafstand på 4 meter, så forestil mig min overraskelse at opdage, at min enhed helt sikkert var nøjagtig i den grad op til 2 meter - hvilket er langt over det, jeg har brug for. På grund af begrænset plads til en hurtig og beskidt testopsætning blev mine testresultater ud over den afstand ødelagt af refleksioner fra andre overflader end mit testmål, da strålen fra senderen spredte sig og tog et større område. Men så længe det er godt til 1,5 meter - det vil gøre mig pænt, mange tak:-)

Trin 5: Regnvandsmåler Ino Skitse

Den fulde kode er vedhæftet, men jeg vil inkludere et par ekstrakter herunder for at forklare nogle af trinene.

Først og fremmest opsætningen …

#omfatte

#include #include // pins til HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400cms er maks for HC-SR04, 155cms er max for tank // LED-modulforbindelsesstifter (digitale stifter) #define CLK 8 #define DIO 9 TM1637 Displaydisplay (CLK, DIO); // Andre pins #define opMode 10

Udover TM1637- og NewPing -bibliotekerne har jeg også inkluderet et matematisk bibliotek, som giver mig adgang til funktionen 'afrunding'. Jeg bruger dette i nogle af matematikerne for at tillade mig at vise procentdelen til f.eks. De nærmeste 5%.

Derefter defineres stifterne til de to enheder, og enhederne initieres.

Endelig definerer jeg pin 10 til driftstilstanden.

// indstil alle segmenter for alle cifre

uint8_t bytes = {0x00, 0x00, 0x00, 0x00}; display.setSegments (bytes);

Denne sektion af kode viser en måde at styre displaymodulet på, hvilket tillader individuel kontrol af hvert segment i hvert ciffer. Jeg har sat de 4 elementer i arrayet kaldet bytes til alle at være nul. Det betyder, at hver bit af hver byte er nul. De 8 bits bruges til at styre hvert af de 7 segmenter og decimaltegnet (eller kolon i en visning af urtype). Så hvis alle bitene er nul, lyser ingen af segmenterne. SetSegments -operationen sender matrixens indhold til displayet og viser (i dette tilfælde) ingenting. Alle segmenter er slukket.

Billede
Billede

Den mest betydningsfulde bit i en byte styrer DP, og derefter styrer de resterende 7 bit de 7 segmenter fra G til A i omvendt rækkefølge. Så for at vise tallet 1 for eksempel kræver segment B og C, så den binære repræsentation ville være '0b00000110'. (Tak til CircuitsToday.com for billedet ovenfor).

// Tag 10 aflæsninger, og brug medianvarighed.

int varighed = sonar.ping_median (10); // varighed er i mikrosekunder, hvis (varighed == 0) // Målefejl - ubetinget eller intet ekko {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenter til stave "Err" display.setSegments (bytes); }

Her fortæller jeg HC-SR04 at tage 10 aflæsninger og give mig det gennemsnitlige resultat. Hvis der ikke returneres nogen værdi, er enheden uden for området. Jeg bruger derefter den samme teknik som ovenfor til at styre specifikke segmenter på de 4 cifre, til at stave bogstaverne (blank), E, r og r. Brug af binær notation gør det lidt lettere at relatere de enkelte bits til segmenterne.

Trin 6: Indlæsning af kode til en Arduino Pro Mini (uden USB)

Som jeg sagde tidligere, varer fra kinesiske ebay -sælgere tager ofte 6 uger eller mere at ankomme, og mange af mine prototyper og kodeskrivninger blev udført, mens jeg ventede på, at nogle af komponenterne skulle ankomme - Arduino Pro Mini var en af dem.

En ting, jeg ikke lagde mærke til ved Pro Mini, før jeg allerede havde bestilt den, er, at den ikke har en USB -port til at downloade skitsen. Så efter noget hektisk googling fandt jeg ud af, at der er to måder at indlæse en skitse i dette tilfælde - den ene kræver et specielt kabel, der går fra USB på din pc, til 6 specifikke stifter på Pro Mini. Denne gruppe på 6 pins er kendt som ISP (in -system programmerer) pins, og du kan faktisk bruge denne metode på enhver Arduino, hvis du ville - men da USB -grænsefladen er tilgængelig på stort set alle de andre Arduino -varianter (I tror), at bruge denne mulighed er meget enklere. Den anden metode kræver, at du har en anden Arduino med en USB-grænseflade på den for at fungere som en 'mellemliggende'.

Heldigvis betød det at have min Arduino Uno, at jeg kunne bruge den anden metode, som jeg vil skitsere for dig nedenfor. Det kaldes at bruge 'Arduino som internetudbyder'. I en nøddeskal indlæser du en særlig skitse på din 'mellemliggende' Arduino, der gør den til et serielt interface. Indlæs derefter din faktiske skitse, men i stedet for den normale uploadmulighed bruger du en mulighed fra IDE -menuen, der uploader 'ved hjælp af Arduino som internetudbyder'. 'Mellemrummet' Arduino tager derefter din egentlige skitse fra IDE'en og sender den videre til ISP-benene på Pro Mini i stedet for at indlæse den i sin egen hukommelse. Det er ikke svært, når du først får styr på, hvordan det fungerer, men det er et ekstra lag af kompleksitet, som du måske vil undgå. Hvis det er tilfældet, eller hvis du ikke har en anden Arduino, du kan bruge som mellemrummet, så vil du måske købe en Arduino Nano eller en af de andre små formfaktormodeller, der inkluderer USB-grænsefladen og gør programmering til et enklere perspektiv.

Her er et par ressourcer, som du kan finde nyttige til at forstå processen. Arduino Reference refererer specifikt til at brænde en ny bootloader til målenheden, men du kan lige så nemt indlæse en skitse på samme måde. Jeg fandt ud af, at Julian Iletts video gør konceptet meget tydeligere, selvom han springer den del af Arduino -referencen over, der forklarer, hvordan man kobler de to Arduinos sammen, og i stedet programmerer en bar chip på et brødbræt.

  • Arduino Reference Manual - Brug af Arduino som en internetudbyder
  • Julian Iletts YouTube -vide - Brug af en Arduino som internetudbyder

Da Pro Mini ikke har de 6 ISP -pins bekvemt grupperet sammen, skal du afkode, hvilke af de digitale ben, der vedrører de 4 programmeringsstifter (de to andre forbindelser er bare Vcc og Gnd - så er ret ligetil). Heldigvis for dig har jeg allerede været igennem dette - og er villig til at dele viden med dig - sikke en generøs person jeg er !!

Arduino Uno og mange andre i Arduino -familien har de 6 stifter let arrangeret i en 3x2 blok, som denne (billede fra www.arduino.cc).

Billede
Billede

Desværre gør Pro Mini det ikke. Som du kan se nedenfor, er de faktisk ret nemme at identificere og er stadig arrangeret i 2 blokke med 3 ben. MOSI, MISO og SCK er de samme som digitale ben 11, 12 og 13 på henholdsvis både Pro Mini og Arduino Uno, og til ISP -programmering skal du blot tilslutte 11 til 11, 12 til 12 og 13 til 13. Pro'en Mini's Reset pin skal tilsluttes Uno pin 10, og Pro Mini's Vcc (5v)/Ground skal tilsluttes Arduino +5v/Ground. (Billede fra www.arduino.cc)

Billede
Billede

Trin 7: Montering

montage
montage

Som jeg nævnte, tog jeg et punkt på sagen og fortrød det. At passe alle komponenterne ind var en rigtig klemme. Faktisk var jeg nødt til at bøje trykknapkontakterne ud til siden og lægge noget pakning på ydersiden for at løfte det lidt længere, så det passede i dybden af kassen, og jeg måtte slibe 2-3 mm af hver side af displaymodulkortet, så det også kan passe.

Jeg borede 2 huller i sagen, så ultralydssensorerne kunne stikke igennem. Jeg borede hullerne lidt for små og øgede dem derefter gradvist ved hjælp af en lille roterende kværn, så jeg kunne få dem til at blive en fin 'push fit'. Desværre var de for tæt på siderne til at kunne bruge kværnen inde fra kassen, og dette skulle gøres udefra, hvilket resulterede i mange ridser og skatermærker, hvor kværnen gled - nåh, det er alt på bunden alligevel - hvem bekymrer sig..?

Jeg skar derefter en åbning i den ene ende, der er den rigtige størrelse, som skærmen skal stikke igennem. Igen - mit gæt på boksstørrelsen bed mig på bagsiden, da åbningen efterlod mig med et meget slankt stykke over skærmen, som uundgåeligt gik i stykker, mens jeg lagde det glat. Nå ja - det er det, superlim blev opfundet til …

Til sidst, med alle komponenterne groft placeret i kassen, målte jeg, hvor hullet i låget skulle placeres, så kroppen på trykknappen faldt ned i den sidste ledige plads. LIGE!!!

Derefter lodde jeg alle komponenterne sammen for at teste, at de stadig fungerede efter min bøjning og slibning og trimning, før jeg samlede dem i sagen. Du kan se jumperforbindelsen lige under displaymodulet, med pin 10 på Arduino (hvid ledning) forbundet til Gnd, og dermed sætte enheden i kalibreringstilstand. Displayet viser 122 cm fra min bænk - det må have taget et signal tilbage fra toppen af vindueskarmen (det er for lavt til at være loftet).

Billede
Billede

Derefter handlede det om at bryde den varme limpistol ud og sko-horne alle komponenterne på plads. Efter at have gjort det, fandt jeg ud af, at den lille afstand mellem skærmmodulets top og låget, når modulet var limet på plads, efterlod lidt af en bule, hvor låget ikke helt ville passe så tæt som jeg gerne ville. Jeg prøver måske at gøre noget ved det en dag - eller mere sandsynligt vil jeg ikke …

Billede
Billede

Trin 8: Den færdige artikel

Efter et par eftermonteringstest og en korrektion af min kode for at tage højde for dybden af træstykket, jeg havde skruet enheden til (som jeg fuldstændig overså i mine beregninger - d'oh !!), er det hele gjort. Endelig!

Samlet test

Når enheden bare sidder med forsiden nedad på min bænk, vil der naturligvis ikke være noget reflekteret signal, så enheden viser korrekt en fejltilstand. Det samme ville være sandt, hvis den nærmeste reflekterende overflade er uden for enhedens rækkevidde.

Billede
Billede

Det ser ud til, at fra min bænk til gulvet er 76 cm (godt 72 cm plus 4 cm dybden af træstumpen).

Billede
Billede

Enhedens underside, der viser transmitteren og modtageren, der henger over træstykket - jeg burde virkelig stoppe med at kalde det et stykke træ - det vil fremover blive omtalt som Gauge Stabilization and Precision Placement Platform! Heldigvis er det nok sidste gang jeg nævner det;-)

Åh - du kan se alle de grimme ridser og skatermærker i denne …

Billede
Billede

… og her er det færdige element, placeret i normal driftstilstand, der faktisk måler kapaciteten på min tank til de nærmeste 5%. Det var en (meget) regnfuld søndag eftermiddag, der så mig afslutte dette projekt, derfor regndråberne på enheden og den meget behagelige 90% læsning.

Billede
Billede

Jeg håber, at du har nydt at læse dette instruerbare, og at du har lært lidt om Arduino -programmering, fysik og brugen af sonar/ultralydsrefleksion, faldgruberne ved at bruge gætterier i din projektplanlægning, og at du er blevet inspireret til at lave din egen regnvandstankmåler - og derefter til at installere en regnvandstank til at bruge den på, samtidig med at det hjælper miljøet lidt og sparer på din vandregning.

Læs venligst videre - for hvad der skete den næste dag …!

Trin 9: Efterskrift - hundrede (og fem) procent?

Så på mandagen efter den regnfulde søndag var tanken absolut så fuld, som den overhovedet kunne være. Da det er en af de meget få gange, jeg nogensinde har set det helt fuldt, tænkte jeg, at det ville være det ideelle tidspunkt at benchmarkere måleren, men gæt hvad - det registrerede som 105%, så der var tydeligvis noget galt.

Jeg kom ud af min målepind og fandt ud af, at mine originale antagelser om 140 cm som den maksimale vanddybde og 16 cm frihøjde (baseret på visuelle vejledninger foretaget uden for tanken) begge var lidt fra de faktiske målinger. Så bevæbnet med de rigtige data for mit 100% benchmark, kunne jeg justere min kode og genindlæse Arduino.

Den maksimale vanddybde viser sig at være 147 cm, idet målepunktet sidder på 160 cm, hvilket giver 13 cm frihøjde (summen af frihøjden i tanken, tankens halshøjde og dybden af bidet af … whoa, nej, hvad ?! Jeg mener dybden af målestabiliserings- og præcisionsplaceringsplatformen!).

Efter at have korrigeret maxDepth- og headroom -variablerne i overensstemmelse hermed samt nulstillet det maksimale område af sonarobjektet til at være 160 cm, viste en hurtig gentest 100%, der faldt til 95%, da jeg løftede måleren lidt (for at simulere en lille mængde af vand er blevet brugt).

Færdigt arbejde!

PS - dette er mit første forsøg på en instruerbar. Hvis du kan lide min stil, humor, ærlighed over for at indrømme fejl (hej - selvom jeg ikke er perfekt …) osv. - lad mig det vide, og det kan give mig boostet til at lave en anden.

Trin 10: Eftertanke

Brugbar kapacitet

Så det er et par uger nu, siden jeg offentliggjorde denne Instructable, og jeg har fået mange kommentarer som svar, hvoraf nogle har foreslået nogle alternative mekanismer - både elektroniske og manuelle. Men det fik mig til at tænke, og der er noget, jeg nok skulle have påpeget i begyndelsen.

  • Min tank har en pumpe, som er installeret på jorden - lige lidt under bunden af tanken. Da pumpen er det laveste punkt i systemet, og vandet fra pumpen er under tryk, kan jeg bruge hele tankens kapacitet.
  • MEN - hvis din tank ikke har en pumpe og er afhængig af tyngdekraftstilførsel, begrænses tankens effektive kapacitet af højden på din hane. Når det resterende vand i din tank er lavere end hanen, vil der ikke strømme vand.

Så uanset om du bruger en elektronisk måler eller et manuelt sigtglas eller float- og flagtypesystem, skal du bare være opmærksom på, at uden en pumpe er den effektive 'base' af din tank faktisk højden på tankens udløb eller tryk på.

Anbefalede: