Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cargador solar portátil con seguidor solar Arduino y control de servo

Componentes y suministros

Cargador solar portátil con seguidor solar Arduino y control de servo
Arduino UNO
× 1
Servos (Tower Pro MG996R)
Servo de 9g que no necesita alimentación externa
× 1
Cargador solar portátil con seguidor solar Arduino y control de servo
Fotorresistencia
× 2
Cargador solar portátil con seguidor solar Arduino y control de servo
Resistencia 10k ohm
× 2
Convertidor boost 2.5V a 5V - Adaptado USB
× 1
Panel solar - Tamaño hobby
Cualquier panel pequeño servirá, mayor salida mejor, pero mantenerlo pequeño y ligero
× 2

Herramientas y máquinas necesarias

Cargador solar portátil con seguidor solar Arduino y control de servo
Soldador (genérico)

Aplicaciones y servicios en línea

Cargador solar portátil con seguidor solar Arduino y control de servo
Arduino IDE

Sobre este proyecto

Hacia lo verde

He estado trabajando en la industria de energías renovables en Australia y trasteando con Arduinos desde hace tiempo, pero no fue hasta este proyecto que finalmente decidí combinar ambos y construir mi propio dispositivo solar pequeño. Una pequeña nota por adelantado: este proyecto obviamente requiere 5V para alimentar el Arduino y el servo, que se usan para maximizar la salida de paneles solares que en el mejor de los casos producen 3.4V. Así que no se paga exactamente a sí mismo. Sin embargo, el concepto es escalable, así que si, por ejemplo, usarais este concepto en un array de 8 paneles, produciendo 12V, pues entonces podrías alimentar el Arduino y cargar tu móvil sin una fuente de energía externa. Planeo hacer esto algún día y añadiré un enlace aquí cuando ocurra.

Mientras estoy aquí, mejor doy crédito a mis fuentes...

The DIY Life - https://www.the-diy-life.com/arduino-solar-tracker/

Brown Dog gadgets - https://www.instructables.com/id/Solar-Altoids-USB-Charger/

Ambas son buenas fuentes de información sobre el tema, y de donde saqué el concepto.

EMPEZANDO

Así que, primero lo primero, necesitáis algunos paneles solares. Yo usé dos, aunque podéis usar los que queráis, solo pensad en cuánto podrá levantar/bajar un servo de 9g (no lo hagáis demasiado pesado). Los paneles que encontré estaban clasificados a 1.5V, 0.75W de salida, que está en el extremo inferior disponible hoy en día. Pero eran ligeros y baratos y dado que esto es un proyecto de prueba de concepto para mí, la salida no es super importante.

Uní mis dos paneles por el borde con epoxi. Para conectar los paneles en serie, solo soldad el cable positivo de un panel al negativo del otro, lo que os dejará con un cable positivo y uno negativo sobrantes. Colocad vuestras dos LDR a cada lado del panel solar (Este y Oeste), y soldad un extremo de un cable jumper a cada uno de sus terminales. Es más fácil soldar un cable jumper si cortáis el extremo de un lado y peláis el terminal unos 5mm para exponer los hilos.

Cargador solar portátil con seguidor solar Arduino y control de servo

Para que el Arduino lea las LDR, necesitamos un circuito divisor de voltaje para cada una. Ver aquí para divisores de voltaje. En este circuito, la LDR es R1, y usamos una resistencia de 10kohm para R2, y unimos cables jumper al Arduino donde se unen las dos resistencias. Si estáis construyendo este proyecto en una protoboard, un terminal de la LDR irá al divisor de voltaje, el otro irá al rail de alimentación positivo. Ver diagrama Fritzing abajo.

Cargador solar portátil con seguidor solar Arduino y control de servo

La estructura del seguidor

Lo siguiente que necesitáis construir es una estructura de soporte giratoria para que el panel se asiente. Mi diseño es básicamente una longitud de acero de muelle soportada por dos marcos en A. La parte inferior del array de paneles tiene pequeños soportes de madera, con agujeros para el acero de muelle. Hice todo de madera de balsa para mantenerlo barato, fácil y ligero, pero si esto fuera un accesorio permanente lo querríais de acero fino o madera contrachapada tratada. No documenté muy bien la construcción del soporte giratorio, pero el video de abajo debería mostraros cómo se hace, así como la ubicación del servo.

Montaje del Servo

El servo se sienta en una de las vigas de soporte del marco en A, y levanta/baja un lado del panel. Doblé algo de acero de muelle con alicates para obtener extremos en gancho que podéis pasar por el soporte del panel y el brazo del servo, puede que tengáis que ensanchar los agujeros en el brazo del servo para que quepa el acero, usé la broca más pequeña que pude encontrar. No peguéis el acero ni en el brazo del servo ni en el soporte del panel, ya que debe poder rotar dentro de los agujeros para que el panel suba suavemente. Una vez en su sitio, quitad el panel de la estructura, de modo que solo quede el servo para poder hacer la calibración.

Cargador solar portátil con seguidor solar Arduino y control de servo

Calibrando el Servo

Abrid un nuevo sketch e introducid el siguiente código.

#include <Servo.h>
Servo myservo1; // Crear un objeto servo para controlar el servo
int pos = 10;
void setup() {
myservo1.attach(9); //adjunta el objeto servo al pin PWM 9
}
void loop() {
myservo1.write(pos);}

Subid a vuestro Arduino, y ved a dónde se mueve el servo. Seguid cambiando el valor 'pos' entre 0 y 180 en el sketch y volved a subir el sketch, hasta que encontréis las posiciones donde el brazo del servo apunta recto hacia arriba y hacia abajo. Esos son vuestros valores máximo y mínimo. Para mí, fueron 15 y 140. Si el valor de alguna forma se solapa de 180 a 0, quitad el brazo del servo y reposicionadlo para que pueda alinearse correctamente.

Uniendo todo

Adelante, conectad todo y introducid el siguiente sketch.

// Sketch Seguidor Solar
//
// Este sketch está diseñado para usar con un servo de 9g, capaz
// de ser alimentado directamente desde el Arduino sin una fuente
// de alimentación externa. Para diagrama Fritzing, ver repositorio GitHub
// https://github.com/nickalanf/Arduino--Projects
// La sección del Monitor Serie es para propósitos de depuración, o por interés general,
// una vez que el dispositivo funciona correctamente, puede desactivarse
//
// Sketch por FIELDING - 8/2/18
#include <Servo.h>
Servo servo; // Crear un objeto servo para controlar el servo
int eLDRPin = A0; // Asignar pines a las LDR
int wLDRPin = A1;
int eastLDR = 0; //Crear variables para almacenar lecturas de LDR
int westLDR = 0;
int difference = 0; //Crear variable para comparar las dos LDR
int error = 10; // Variable para si hay una diferencia notable entre las dos LDR
int servoSet = 130; //Variable para posición del servo - será diferente para cada dispositivo
void setup() {
servo.attach(9); //adjunta el objeto servo al pin PWM 9
Serial.begin(9600);
}
void loop() {
eastLDR = analogRead(eLDRPin); //Leer valores de LDR
westLDR = analogRead(wLDRPin);
if (eastLDR < 400 && westLDR < 400) {
//Comprobar si hay poca luz en ambas LDR
while (servoSet <=140 && >=15) {
// si es así, enviar paneles de vuelta al este para el amanecer
servoSet ++;
servo.write(servoSet);
delay(100);
}
}
difference = eastLDR - westLDR; //Comprobar la diferencia
if (difference > 10) {
//Enviar el panel hacia la LDR con lectura más alta
if (servoSet <= 140) {
servoSet ++;
servo.write(servoSet);
}
}
else if (difference < -10) {
if (servoSet >= 15) {
servoSet --;
servo.write(servoSet);
}
}
Serial.print(eastLDR); //Monitor serie útil para depuración/configuración
Serial.print(" - "); //Usadlo para ver si vuestras LDR son notablemente diferentes cuando
Serial.print(westLDR); //Tienen luz igual brillando sobre ellas, si es así, corregid con el valor error
Serial.print(" - ");
Serial.print(difference);
Serial.print(" - ");
Serial.print(servoSet); //Afinar ajustes del servo, para maximizar oscilación disponible
Serial.print(" - ");
Serial.println(".");
delay(100);}

Abrid el Monitor Serie, y iluminad las LDR. Intentad iluminar uniformemente ambas, y comprobad el valor de diferencia que se imprime en el monitor serie. Si es algo mayor que 25, o menor que -25, necesitáis añadir una calibración de error. Añadid el valor de error relevante en el código, y luego sumad o restad ese valor de la LDR relevante. Si los valores de diferencia están cerca, debería estar bien dejarlo como está.

¡Listos para probar! Lo más fácil es entrar en una habitación oscura y con una linterna/lámpara. Moved la luz de una LDR lentamente a la otra y observad el panel moverse. También podéis tapar una LDR y el panel debería girar alejándose de esa.

BONUS- CARGADOR DE MÓVIL

Cargador solar portátil con seguidor solar Arduino y control de servo

Si queréis aprovechar realmente la salida de los paneles, podéis cablear un convertidor boost DC-DC de 2.5V-5V directamente a los cables que salen de los paneles. Es un circuito totalmente separado del Arduino/protoboard. Notad que un móvil estándar carga a 5V, y vuestros paneles pueden estar sacando 5V pero a baja corriente, así que si vuestra batería está llena o la luz solar es baja, no tendréis suficiente salida para cargar. La forma más fácil de evitar esto es simplemente añadir más paneles.

Cargador solar portátil con seguidor solar Arduino y control de servo

Código

Seguidor SolarProcessing
// Sketch Seguidor Solar
//
// Este sketch está diseñado para usar con un servo de 9g, capaz
// de ser alimentado directamente desde el Arduino sin una fuente
// de alimentación externa. Para diagrama Fritzing, ver repositorio GitHub
// https://github.com/nickalanf/Arduino--Projects
// La sección del Monitor Serie es para propósitos de depuración, o por interés general,
// una vez que el dispositivo funciona correctamente, puede desactivarse
//
// Sketch por FIELDING - 8/2/18
#include <Servo.h>
Servo servo; // Crear un objeto servo para controlar el servo
int eLDRPin = A0; // Asignar pines a las LDR
int wLDRPin = A1;
int eastLDR = 0; //Crear variables para almacenar lecturas de LDR
int westLDR = 0;
int difference = 0; //Crear variable para comparar las dos LDR
int error = 10; // Variable para si hay una diferencia notable entre las dos LDR
int servoSet = 130; //Variable para posición del servo - será diferente para cada dispositivo
void setup() {
servo.attach(9); //adjunta el objeto servo al pin PWM 9
Serial.begin(9600);
}
void loop() {
eastLDR = analogRead(eLDRPin); //Leer valores de LDR
westLDR = analogRead(wLDRPin);
if (eastLDR < 400 && westLDR < 400) {
//Comprobar si hay poca luz en ambas LDR
while (servoSet <=140 && >=15) {
// si es así, enviar paneles de vuelta al este para el amanecer
servoSet ++;
servo.write(servoSet);
delay(100);
}
}
difference = eastLDR - westLDR; //Comprobar la diferencia
if (difference > 10) {
//Enviar el panel hacia la LDR con lectura más alta
if (servoSet <= 140) {
servoSet ++;
servo.write(servoSet);
}
}
else if (difference < -10) {
if (servoSet >= 15) {
servoSet --;
servo.write(servoSet);
}
}
Serial.print(eastLDR); //Monitor serie útil para depuración/configuración
Serial.print(" - "); //Usadlo para ver si vuestras LDR son notablemente diferentes cuando
Serial.print(westLDR); //Tienen luz igual brillando sobre ellas, si es así, corregid con el valor error
Serial.print(" - ");
Serial.print(difference);
Serial.print(" - ");
Serial.print(servoSet); //Afinar ajustes del servo, para maximizar oscilación disponible
Serial.print(" - ");
Serial.println(".");
delay(100);}

Esquemáticos

Cargador solar portátil con seguidor solar Arduino y control de servo

Proceso de manufactura

  1. Células solares: de los primeros experimentos a la fotovoltaica moderna – tecnología, producción y perspectivas
  2. Monitorización en Tiempo Real de Panel Solar con Arduino: Sistema de Adquisición de Datos de Bajo Coste
  3. Rastreador Solar V2.0 – Sistema Avanzado DIY de Seguimiento Solar
  4. Seguidor Solar IoT: Gestión Inteligente de Energía con Arduino
  5. Sistema Solar de Seguimiento Solar (Dual Axis) con Arduino UNO – Hazlo Tú Mismo
  6. SmartPostBox: Buzón Inteligente IoT con Notificaciones por Email
  7. Plataforma Seguidora Solar de Precisión con Servos para Captura Óptima de Energía
  8. Seguidor Solar de Doble Eje con Control Automático y Manual: Sistema Eficiente de Seguimiento Solar
  9. Cargador Solar MPPT Basado en Arduino para Cosecha Óptima de Energía FV
  10. Calidad de paneles solares: puntos de control esenciales para rendimiento óptimo
  11. Cómo se fabrican los paneles solares: guía paso a paso para producción de energía solar de alta calidad