Este proyecto comenzó como una prueba para ver la menor cantidad de energía necesaria para bombear agua a un tanque de gravedad alto del suelo. Queríamos encontrar la bomba más eficiente posible, tal vez unos pocos vatios. La parte interesante parece ser el cambio del tiempo--si la bomba funcionó muy lentamente y continuamente, llenaría un tanque con el tiempo. Como sólo se utiliza el tanque de agua una vez al día, tienes disponible en cualquier momento solo muchos galones.
El resultado fue una bomba de energía solar que mueve agua continuamente en alrededor de 6 galones hora a un tanque de 15 pies en el aire, funcionando a 6 voltios y amperes.3 o 1,8 vatios. En 8 horas, el sistema de había llenado de un tanque de 50 galones, y entonces podríamos Atribuimos una manguera de jardín para regar las plantas, el coche de agua y rociar a los niños pequeños. Como el extremo de la manguera fue menor que la parte inferior del cañón, la presión en la manguera fue suficiente para pulverizar 20 pies de distancia o más.
ENCONTRAR UNA BOMBA DE AGUA PEQUEÑA
Era difícil de encontrar un pequeño motor DC que empujaría agua a un tanque de 15 pies del suelo a través de un tubo. Mayoría de las bombas pequeñas no tiene suficiente cabeza hidráulica para esta aplicación; es decir, no tienen suficiente empuje para mover el agua a través de un tubo de subida. Había unas cuantas bombas de venta online para uso de laboratorio que podría haber funcionado, pero eran caros. En primer lugar, tratamos de hacer nuestra propia bomba de un pino, el motor y el impulsor de plástico pequeños (desastre total). Luego, probamos acuario y bombas de la fuente de novedad (tienen tasas de flujo alto pero muy poca cabeza hidráulica). Luego, utilizamos la bomba dentro de un aparato de limpieza de los dientes WaterPik. No es una bomba tanto como un sistema de émbolo, pero es muy potente. El aparato bucal WaterPik funcionó bien por un tiempo, pero eventualmente quemado hacia fuera mi motor de la C.C. porque requiere demasiado esfuerzo de torsión. Por último, en una tienda de juguetes, hemos descubierto $10 pilas Super-Soaker Nerf pistolas de agua. Dentro de estos juguetes son bombas muy potentes con motores integrados.
OTRAS COSAS
Un microcontrolador Arduino Uno se vuelva a encender las bombas y para evitar quemar los motores. Arduino también utiliza un sensor de continuidad para probar el nivel del agua en el tanque de suministro de manera que la bomba no funcione en seca. Un escudo del Arduino Motor enciende las bombas Super Soaker y se apaga.
Muchas yardas de tubería de PVC de 5/16 de pulgada conexión la bomba al tanque.
Queríamos que la fuente de agua que un barril de lluvia, pero para reducir las molestias durante la prueba, sacó agua de un pozo over-productive cerca. Usted verá el tabique hermético de bien en las fotos.
PROBLEMAS Y PRÓXIMOS PASOS
El sistema funcionó autónomamente por un tiempo, salvo un par de cosas. El tanque de gravedad se mantenga relleno y corriendo hacia el desbordamiento durante horas, a menos que el sistema se detuvo manualmente. Además, la batería funcionaría hacia fuera en días nublados, cuando no podía manejar el cargador solar.
Los próximos pasos para el proyecto son programar un probador de nivel de agua para el tanque de gravedad para que el microcontrolador se apaga la bomba cuando su trabajo está hecho. También me gustaría el microcontrolador para controlar el nivel de batería, así que si no puede mantener el cargador solar, el microcontrolador apaga la bomba. (Programación que probablemente será difícil para mí como un principiante Arduino.) Estos elementos haría que el sistema de ejecución más o menos autónomo.
Este proyecto tuvo un toque agradable. Mientras trabajaba en él con los niños, apareció por de Radio Shack crear gran campaña. El proyecto apareció en un anuncio de Radio Shack en el otoño de 2012, y la empresa nos dio un presupuesto para actualizar los componentes--gratis panel solar, controlador de carga, tanque de agua y paquetes de baterías recargables!
CÓDIGO DE ARDUINO
Soy muy principiante en programación de microcontrolador ya que cribbed pesadamente del Garduino código de liseman del usuario de Instructables y su descripción de cómo hacer probadores de humedad. Aquí está mi código modificado. Por favor sea amable si ves un montón de lógica del pretzel en el código.
definir entradas analógicas al que hemos conectado nuestros sensores
int moistureSensor = 0;
int voltageSensor = 1;
definir salidas digitales a los que tenemos conexió nuestros relés (agua y luz) y LED (temperatura)
bomba de INT = 12;
pump2 int = 13;
Resistancia de int = 9;
int motorbrake2 = 8;
int LED = 13;
int i = 0;
definir las variables para almacenar valores de temperatura, humedad y luz
int moisture_val;
int voltage_val;
definir las variables para almacenar valores de temperatura, humedad y luz
int contador;
void setup() {}
abrir puerto serie
Serial.Begin(9600);
Configuración de canal A
pinMode (bomba, salida); A pin inicia canal de Motor
pinMode (resistancia, salida); A pin inicia canal de freno
establecer el agua, luz y pins de temperatura como salidas que se dan vuelta apagado
pinMode (LED, salida);
digitalWrite (bomba, LOW);
digitalWrite (resistancia, HIGH);
digitalWrite (LED, baja);
}
void loop() {}
leer el valor de las sondas sensoras de humedad, imprimir la pantalla y esperar un segundo
moisture_val = analogRead(moistureSensor);
Serial.Print ("humedad sensor Lee");
Serial.println (moisture_val);
Delay(1000);
convertir el agua en el suelo esté seco y hasta el suelo es húmedo
mientras que (moisture_val > 15 & & contador < 2)
{
digitalWrite (bomba, HIGH);
digitalWrite (resistancia, LOW);
analogWrite (3, 140); Gira el motor en canal A toda velocidad
digitalWrite (pump2, HIGH);
digitalWrite (motorbrake2, bajo);
analogWrite (11, 120); Gira el motor en canal A toda velocidad
digitalWrite (LED, alta);
Delay(20000);
contador = contador + 1;
moisture_val = analogRead(moistureSensor);
}
digitalWrite (bomba, LOW);
digitalWrite (resistancia, HIGH);
analogWrite (3, 0);
digitalWrite (LED, baja);
digitalWrite (pump2, LOW);
digitalWrite (motorbrake2, HIGH);
analogWrite (11, 0);
Delay(20000);
Contador = 0;
}