Dieses Projekt begann als ein Test, um die geringste Menge an Energie benötigt, um Wasser zu Pumpen, eines Hochbehälters hoch über dem Boden zu sehen. Wir wollten die effizienteste Pumpe möglich, vielleicht nur ein paar Watt zu finden. Die interessante Teil schien die zeitliche Verschiebung--wenn die Pumpe sehr langsam lief und kontinuierlich, würde es einen Tank im Laufe der Zeit füllen. Solange Sie nur den Wasserbehälter einmal pro Tag verwendet haben, müsste man viele Gallonen einzelne jederzeit zur Verfügung.
Das Ergebnis war eine solarbetriebene Pumpe, die Wasser kontinuierlich auf rund 6 Gallonen pro Stunde in einem Tank 15 Fuß in der Luft laufen bei 6 Volt und 3 Ampere oder 1,8 Watt verschoben. In 8 Stunden das System gefüllt einen 50-Gallonen-Tank, und dann könnten wir schließen Sie einen Gartenschlauch um Pflanzen zu bewässern, Wasser das Auto, und sprühen Sie kleine Kinder. Solange das Ende des Schlauches niedriger als der Boden des Fasses war, reichte der Druck im Schlauch um 20 Fuß entfernt oder mehr sprühen.
FINDEN EINE KLEINE WASSERPUMPE
Es war schwer, einen kleinen DC-Motor, der Wasser über einen Schlauch in einen Behälter 15 Fuß über dem Boden schieben würde. Die meisten kleinen Pumpen haben nicht genug hydraulische Kopf für diese Anwendung; Das heißt, haben sie nicht genug Schwung um Wasser durch ein Rohr aufwärts zu bewegen. Es gab ein paar Pumpen verkauft online für das Labor, die gearbeitet haben könnte, aber sie waren teuer. Zunächst haben wir versucht, unsere eigenen Pumpe aus einer Kiefer Board, Motor und kleine Kunststoff Laufrad (totale Katastrophe) machen. Dann testeten wir Aquarium Pumpen und Neuheit-Brunnen-Pumpen (sie haben hohe Durchflussraten aber sehr wenig hydraulische Kopf). Dann haben wir die Pumpe im Inneren ein WaterPik Zahnreinigung Gadget verwendet. Das ist keine Pumpe so viel wie ein Kolben-System, aber es ist sehr mächtig. Die WaterPik Gerät funktionierte gut für eine Weile, aber es ausgebrannt schließlich meine DC-Motor, weil es zu viel Drehmoment erforderlich. Schließlich entdeckten wir in einem Spielzeugladen $10 batteriebetriebene Nerf Super-Soaker Wasserpistolen. Im Inneren dieser Spielzeuge sind leistungsstarke Pumpen mit integrierter DC-Motoren.
ANDERE SACHEN
Ein Mikrocontroller Arduino Uno radelte die Pumpen ein- und ausschalten zu verhindern, dass die Motoren ausbrennen. Der Arduino verwendet auch einen Kontinuität-Sensor, um der Wasserstand in den Vorratsbehälter zu testen, so dass die Pumpe nicht trocken laufen würden. Ein Arduino Motor Shield wechselte die Super Soaker Pumpen ein- und ausschalten.
Viele Werften von 5/16-Zoll-PVC-Rohr verbunden die Pumpe in den Tank.
Wir wollten die Wasserquelle eine Regentonne sein, sondern zu reduzieren auf Ärger während der Tests, haben wir Wasser aus einem Nebennierenhyperplasie Brunnen in der Nähe. Sie werden den Brunnen SCHOTT auf den Fotos sehen.
PROBLEME UND NÄCHSTE SCHRITTE
Das System funktioniert autonom für eine Weile, bis auf ein paar Dinge. Die Hochbehälters füllen und in den Überlauf stundenlang laufen, es sei denn, das System manuell gestoppt wurde. Auch würde die Batterie an bewölkten Tagen laufen wenn das solare-Ladegerät konnte nicht Schritt halten.
Die nächsten Schritte für das Projekt sind einen Wasserstand Tester für den Hochbehälters zu programmieren, so dass die Pumpe der Mikrocontroller abschaltet, wenn seine Arbeit getan ist. Ich möchte auch den Mikrocontroller um den Ladezustand zu überprüfen, so dass wenn das solare-Ladegerät nicht mithalten kann, der Mikrocontroller die Pumpe schaltet ab. (Programmierung, dass wahrscheinlich schwierig für mich als Anfänger Arduino werden.) Diese Elemente würden das System mehr oder weniger autonom laufen.
Dieses Projekt hatte ein schönes Highlight. Während ich mit den Kindern bearbeitet wurde, wurde es von Radio Shack großes schaffen Kampagnevorgestellt. Das Projekt zeigte sich in einem Radio Shack-Anzeige im Herbst 2012, und das Unternehmen gaben uns ein Budget zur Aktualisierung der Komponenten--kostenlose Solarpanel, Laderegler, Wassertank und Akkus!
ARDUINO CODE
Ich bin sehr viel ein Anfänger am Mikrocontroller zu programmieren, so dass ich stark von Instructables Benutzer Liseman Garduino Code und seine Beschreibungen wie man Feuchtigkeit Tester abgeschaut. Hier ist meine modifizierte Code. Bitte seien Sie nett, wenn Sie eine Menge Brezel Logik im Code sehen.
definieren Sie analoge Eingänge, an die wir unsere Sensoren angeschlossen haben
Int MoistureSensor = 0;
Int VoltageSensor = 1;
digitale Ausgänge, an denen wir unser Relais (Wasser und Licht) und LED (Temperatur) Connecte haben, zu definieren
Int Pumpe = 12;
Int pump2 = 13;
Int Motorbrake = 9;
Int motorbrake2 = 8;
Int LED = 13;
Int ich = 0;
Definieren von Variablen zum Speichern von Feuchtigkeit, Licht und Temperaturwerte
Int Moisture_val;
Int Voltage_val;
Definieren von Variablen zum Speichern von Feuchtigkeit, Licht und Temperaturwerte
Int Zähler;
void setup() {}
seriellen Port öffnen
Serial.Begin(9600);
Einrichten von Kanal A
PinMode (Pumpen, OUTPUT); Eingeweihten Motor Kanal A pin
PinMode (Motorbrake, Ausgang); Eingeweihten Bremse Kanal A pin
Legen Sie die Wasser, Licht und Temperatur Pins als Ausgänge, die deaktiviert sind.
PinMode (LED, OUTPUT);
DigitalWrite (Pumpe, LOW);
DigitalWrite (Motorbrake, HIGH);
DigitalWrite (LED, LOW);
}
void loop() {}
Lesen Sie den Wert aus der Feuchtigkeit-sensing-Sonden, drucken Sie es auf dem Bildschirm und warten Sie eine Sekunde
Moisture_val = analogRead(moistureSensor);
Serial.Print ("Feuchtigkeit Sensor liest");
Serial.println (Moisture_val);
Delay(1000);
Drehen Sie Wasser auf, wenn der Boden trocken ist, und verzögern Sie, bis der Boden nass ist
während (Moisture_val > 15 & & < 2 Zähler)
{
DigitalWrite (Pumpe, HIGH);
DigitalWrite (Motorbrake, LOW);
AnalogWrite (3, 140); Dreht den Motor auf Kanal A auf Hochtouren
DigitalWrite (pump2, HIGH);
DigitalWrite (motorbrake2, LOW);
AnalogWrite (11, 120); Dreht den Motor auf Kanal A auf Hochtouren
DigitalWrite (LED, HIGH);
Delay(20000);
Zähler = Zähler + 1;
Moisture_val = analogRead(moistureSensor);
}
DigitalWrite (Pumpe, LOW);
DigitalWrite (Motorbrake, HIGH);
AnalogWrite (3, 0);
DigitalWrite (LED, LOW);
DigitalWrite (pump2, LOW);
DigitalWrite (motorbrake2, HIGH);
AnalogWrite (11, 0);
Delay(20000);
Zähler = 0;
}