Low-Power Pump för gravitation vattentank
Detta projekt startade som ett test för att se minst energi behövs för att pumpa vatten till en gravity tank högt från marken. Vi ville hitta den mest effektiva pumpen möjligt, kanske bara några watt. Den intressanta delen verkade vara tidsskiftet--om pumpen körde mycket långsamt och kontinuerligt, det skulle fylla en tank med tiden. Så länge du använt endast vattentanken en gång om dagen, skulle du ha många gallons tillgängliga vid varje enskild tidpunkt.
Resultatet blev en soldriven pump som flyttade vatten kontinuerligt på omkring 6 gallon en timme till en tank 15 fot i luften, igång på 6 volt och 3 ampere, eller 1,8 watt. Systemet fylls en 50-galla tank i 8 timmar, och vi kunde bifoga en trädgårdsslang för att vattna växter, vatten bilen och spraya små barn. Som i slutet av slangen var lägre än botten av fat, var trycket i slangen nog att spraya 20 fot bort eller mer.
ATT HITTA EN LITEN VATTENPUMP
Det var svårt att hitta en liten likströmsmotor som skulle driva vatten till en tank 15 fot från marken via en slang. De flesta små pumpar har inte tillräckligt hydrauliska chef för denna ansökan. det vill säga, har de inte tillräckligt glans att flytta vatten genom en slang uppför. Det fanns några pumpar säljs på nätet för laboratoriebruk som kan ha fungerat, men de var dyra. Först försökte vi göra vår egen pump från en pine styrelse, motor och små plast impeller (total katastrof). Sedan testade vi akvarium pumpar och nyhet fontän pumpar (de har höga flöden men mycket lite hydrauliska huvud). Sedan använde vi pumpen inuti en WaterPik tänder-rengöring gadget. Det är inte en pump så mycket som ett kolven system, men det är mycket kraftfull. WaterPik enheten fungerade bra för ett tag, men det brann så småningom ut min DC-motor eftersom det krävs för mycket vridmoment. Slutligen, på en leksaksaffär upptäckte vi $10 batteri-drivna Nerf Super-Soaker vattenpistoler. Inuti dessa leksaker är kraftfulla pumpar med integrerad DC motorer.
ANDRA SAKER
En Arduino Uno mikrokontroller cyklat pumpar på och av för att förhindra bränning motorerna ut. Arduinoen används också en kontinuitet sensor för att testa vattennivån i förrådstanken så pumpen inte skulle köras torr. En Arduino Motor sköld bytte Super Soaker pumpar på och av.
Många gårdar på 5/16-inch PVC slang kopplad pumpen till tank.
Vi ville ha vattenkällan vara ett regn fat, men att dra ner på krångel under provningen, vi drog vatten från en over-productive väl i närheten. Du ser den väl skiljevägg i bilderna.
PROBLEM OCH NÄSTA STEG
Systemet fungerade självständigt ett tag, förutom några saker. Gravity tanken skulle hålla fylla och kör in i överflöd i timmar om inte systemet stoppades manuellt. Även skulle batteriet köra på molniga dagar när den sol laddaren inte kunde hålla upp.
Nästa steg för projektet är att programmera en vattennivå testare för gravitation tanken så att mikrokontroller stänger av pumpen när dess arbete är slutfört. Också jag mikrokontroller att kontrollera batterinivån, så att om den sol laddaren inte kan hålla upp, mikrokontroller stängs pumpen. (Programmering i kommer förmodligen att tufft för mig som en Arduino nybörjare.) Dessa faktorer skulle göra systemet köra mer eller mindre självständigt.
Detta projekt hade en fin höjdpunkt. Medan jag arbetade på den med barnen, var det med Radio Shacks stora skapa kampanjen. Projektet visade upp i en Radio Shack ad hösten 2012, och företaget gav oss en budget att uppgradera komponenter--gratis solpanel, laddningsregulator, vattentank och uppladdningsbara batterier!
ARDUINO KOD
Jag är väldigt mycket nybörjare på microcontroller programmering så jag cribbed tungt från Instructables användare liseman Garduino kod och hans beskrivningar av hur man gör fukt testare. Här är min modifierade koden. Behaga bli slag om du ser en massa pretzel logic i koden.
definiera analoga ingångar som vi har anslutit vår sensorer
int moistureSensor = 0;
int voltageSensor = 1;
definiera digitala utgångar som vi har kopplet våra reläer (vatten och ljus) och LED (temperatur)
int pump = 12.
int pump2 = 13.
int motorbrake = 9;
int motorbrake2 = 8;
int LED = 13.
int jag = 0;
definiera variabler för att lagra fukt, ljus och temperatur värden
int moisture_val;
int voltage_val;
definiera variabler för att lagra fukt, ljus och temperatur värden
int counter;
void setup() {
Öppna serieporten
Serial.BEGIN(9600);
Setup kanal A
pinMode (pump, OUTPUT); Initierar Motor kanal A stift
pinMode (motorbrake, produktionen); Initierar broms kanal A stift
Ange den vatten, ljus och temperatur pins som utgångar som är avstängda
pinMode (LED, OUTPUT);
digitalWrite (pump, låg).
digitalWrite (motorbrake, hög);
digitalWrite (LED, låg);
}
void loop() {
läsa värdet från de fukt-sensing sonderna, skriva ut den till skärmen och vänta en sekund
moisture_val = analogRead(moistureSensor);
Serial.Print ("fukt sensor läsningar");
Serial.println (moisture_val);
Delay(1000);
slå vatten på när jorden är torr, och skjuta tills jorden är våt
medan (moisture_val > 15 & & counter < 2)
{
digitalWrite (pump, hög).
digitalWrite (motorbrake, låg);
analogWrite (3, 140); Snurrar motorn på kanal A i full fart
digitalWrite (pump2, hög);
digitalWrite (motorbrake2, låg);
analogWrite (11, 120); Snurrar motorn på kanal A i full fart
digitalWrite (LED, hög);
Delay(20000);
räknare = räknare + 1.
moisture_val = analogRead(moistureSensor);
}
digitalWrite (pump, låg).
digitalWrite (motorbrake, hög);
analogWrite (3, 0);
digitalWrite (LED, låg);
digitalWrite (pump2, låg);
digitalWrite (motorbrake2, hög);
analogWrite (11, 0);
Delay(20000);
räknare = 0;
}