Dit project startte als een test om te zien de minste energie nodig om water van de pomp in een gravity tank hoog van de grond. We wilden vinden de meest efficiënte pomp mogelijke, misschien slechts een paar watt. Het interessante deel leek de timeshift--als de pomp liep zeer langzaam en continu, het een tank te na verloop van tijd vullen zou. Zolang je alleen het waterreservoir eenmaal per dag gebruikt, zou u veel gallons beschikbaar op enkel moment hebben.
Het resultaat was een zonne-energie aangedreven pomp die water voortdurend op ongeveer 6 gallons per uur naar een aquarium 15 voet in de lucht, draait op 6 volt en.3 versterkers, of 1,8 watt overgeplaatst. In 8 uur, het systeem gevuld een 50-gallon tank, en dan kunnen wij hechten een tuinslang om te irrigeren van planten, het water de auto, en het spuiten van kleine kinderen. Zolang het einde van de slang lager dan de bodem van het vat was, was de druk in de slang genoeg om het spuiten van 20 voet weg of meer.
HET VINDEN VAN EEN KLEIN WATERPOMP
Het was moeilijk te vinden een kleine DC motor die water in een tank 15 voeten van de grond via een buis duwen zou. De meeste kleine pompen hoeft niet genoeg hydraulische hoofd voor deze toepassing; dat wil zeggen, hebben ze niet genoeg oomph om water te verplaatsen door middel van een buis bergop. Er waren een paar pompen verkocht online voor laboratoriumgebruik die zou hebben gewerkt, maar ze waren duur. Ten eerste, we geprobeerd te maken van onze eigen pomp uit een pine bestuur, motor en kleine kunststof waaier (totale ramp). We testten vervolgens aquariumpompen en nieuwheid fontein pompen (ze hebben hoge stroomsnelheid maar weinig hydraulische hoofd). Vervolgens hebben we gebruikt de pomp binnen een WaterPik tanden reinigen gadget. Dat is niet een pomp zo veel als een zuiger systeem, maar het is zeer krachtig. De WaterPik apparaat werkte goed voor een tijdje, maar het uiteindelijk verbrand uit mijn gelijkstroommotor omdat het vereiste teveel koppel. Ten slotte, bij een speelgoedwinkel ontdekten we $10 batterij-aangedreven Nerf Super-Soaker water pistolen. Binnen deze speelgoed zijn krachtige pompen met geïntegreerde DC-motoren.
ANDERE DINGEN
Een Arduino Uno microcontroller fietste de pompen in- en uitschakelen om te voorkomen dat de motoren gloeierig uiterlijk. De Arduino gebruikt ook een continuïteit sensor voor het testen van de waterstand in de voorraadtank zodat de pomp droog zou niet draaien. Een Arduino Motor Shield ontstoken de Super Soaker pompen en.
Vele werven van 5/16-inch PVC buis aangesloten de pomp in de tank.
We wilden de waterbron een regen vat, maar om te bezuinigen op de drukte tijdens het testen, we trok water uit een over-productive goed in de buurt. Hier ziet u de put de schot in de foto's.
PROBLEMEN EN VOLGENDE STAPPEN
Het systeem werkte autonoom voor een tijdje, met uitzondering van een paar dingen. De zwaartekracht tank zou blijven vullen en uitgevoerd in de overloop urenlang, tenzij het systeem handmatig werd gestopt. Ook zou de batterij uitgeput op bewolkte dagen wanneer de solar oplader niet bij kon houden.
De volgende stappen voor het project zijn voor het programmeren van een water-niveau-tester voor de zwaartekracht tank zodat de microcontroller de pomp uitgeschakeld wanneer zijn werk wordt gedaan. Ik wil ook de microcontroller te controleren van het niveau van de batterij, zodat de solar oplader niet bijhouden, de microcontroller wordt afgesloten als de pomp. (Programmering dat in waarschijnlijk zal moeilijk voor mij als een beginner Arduino.) Deze elementen zou maken het systeem lopen min of meer autonoom.
Dit project had een mooi hoogtepunt. Terwijl ik bezig was op het met de kinderen, werd het gekenmerkt door Radio Shack's campagnes groot maken. Het project kwam in een advertentie van Radio Shack in de herfst van 2012 en het bedrijf gaf ons een begroting om te upgraden van de bestanddelen--gratis zonnepaneel, heffing controller, waterreservoir en oplaadbare accu's!
ARDUINO CODE
Ik ben zeer veel een beginner op het microcontroller programmeren zodat ik cribbed zwaar van Instructables gebruiker liseman de Garduino code en zijn beschrijvingen van hoe maak je vocht testers. Hier is mijn gewijzigde code. Wees vriendelijk als je een heleboel krakeling logica in de code ziet.
definiëren van analoge ingangen waarop wij onze sensoren hebben aangesloten
int moistureSensor = 0;
int voltageSensor = 1;
definiëren van digitale uitgangen waarnaar we connecte onze Relais (water en licht) en LED (temperatuur hebben)
int pomp = 12;
int pump2 = 13;
int motorrem = 9;
int motorbrake2 = 8;
int LED = 13;
int i = 0;
variabelen voor het opslaan van vocht, licht en temperatuur waarden definiëren
int moisture_val;
int voltage_val;
variabelen voor het opslaan van vocht, licht en temperatuur waarden definiëren
int de teller;
VOID Setup {}
seriële poort openen
Serial.begin(9600);
Setup kanaal A
pinMode (pomp, uitvoer); Ingewijden Motor kanaal A pin
pinMode (motorrem, OUTPUT); Ingewijden rem kanaal A pin
instellen van het water, licht en temperatuur pinnen als uitgang die zijn uitgeschakeld
pinMode (LED, uitvoer);
digitalWrite (pomp, laag);
digitalWrite (motorrem, hoge);
digitalWrite (LED, laag);
}
void loop {}
luiden naar de waarde van de vocht-sensing sondes, af te drukken op het scherm en wacht een seconde
moisture_val = analogRead(moistureSensor);
Serial.Print ("vocht sensor leest");
Serial.println (moisture_val);
delay(1000);
Zet water op wanneer de bodem droog is en uitstellen tot het moment dat de bodem nat is
terwijl (moisture_val > 15 & & bestrijding < 2)
{
digitalWrite (pomp, hoge);
digitalWrite (motorrem, laag);
analogWrite (3, 140); Draait de motor op kanaal A op volle snelheid
digitalWrite (pump2, hoge);
digitalWrite (motorbrake2, laag);
analogWrite (11, 120); Draait de motor op kanaal A op volle snelheid
digitalWrite (LED, hoge);
delay(20000);
Counter = counter + 1;
moisture_val = analogRead(moistureSensor);
}
digitalWrite (pomp, laag);
digitalWrite (motorrem, hoge);
analogWrite (3, 0);
digitalWrite (LED, laag);
digitalWrite (pump2, laag);
digitalWrite (motorbrake2, hoge);
analogWrite (11, 0);
delay(20000);
Counter = 0;
}