CARGADOR SOLAR

Pasos dados en la realización del proyecto:

-Elección del proyecto para la asignatura: Queríamos realizar un proyecto, que posteriormente pudiéramos quedarnos y nos fuera útil.

-Búsqueda de los materiales necesarios para poder montar el hardware

-Montaje de todo el hardware relacionado con el cargador solar.

-Montaje de hardware que iba a ir conectado a Arduino.

-Implementación del código con el que funciona Arduino.

Reparto de tareas

El proyecto no fue dividido de ninguna manera. Ambos integrantes hicimos todo juntos y hasta que no terminábamos una parte no hacíamos la siguiente.

Implementación

El sistema se divide en dos partes:

La primera esta compuesta por un cargador solar, conectado a una placa encargada de cargar una batería de litio y esta batería conectada al power  booster con salida de USB .

-la segunda es un circuito en Arduino conectado a la batería que en función de la carga que tiene encenderá un led verde, amarillo o rojo.

Coste de los materiales

batería de Litio 3,7V
Batería de Ion de Litio 3,7 V - 2400 mA con Terminales
7,27€
Cargador de baterías de litio 3,7V
Cargador Básico de Baterías de Litio - 3,7 V
1,24€
Porta pilas
         Velleman - Portapilas 1 Pila 18650 - con Cable    
1,36€
Diodo rectificador 1000V
1N4007 - Diodo Rectificador - 1000 V - 1 A
  0,12€
Interruptor
Interruptor Conmutador Deslizante 2P 2C
  0,33€
Voltage Booster      
DC-DC Voltage Booster - 5V 600MA – Firgelli Robots           
1,9€
Panel Solar 5 V – 1 W
               
8.55€

CODIGO

// Se inician los pines digitales donde van conectados los LEDS

#define VERDE 2

#define AMARILLO 3

#define ROJO 4

#define BATERIA 0

int analogValue = 0;

float voltajeObtenido = 0;

float voltajeMaximo = 4.2;

float voltajeMedio = 3.8;

float voltajeMinimo = 1;

void setup() {

     Serial.begin(9600);

  // Ponemos LEDS en modo salida

     pinMode(VERDE, OUTPUT);

    pinMode(ROJO, OUTPUT);

      pinMode(AMARILLO, OUTPUT);

}

void loop() {

  // Leemos valor de la entrada analógica

  analogValue = analogRead(BATERIA);

  // Se obtiene el voltaje en la entrada analógica y se imprime por pantalla

  // Para poder pasar el voltaje a digital, estuvimos buscando en internet y encontramos que V=5/1024 * lectura

  // debido a que arduino suele trabajar con señales cercanas a 5V

  voltajeObtenido = 0.0048 * analogValue;

      Serial.print(“Voltaje obtenido: “);

      Serial.println(voltajeObtenido);

  // Si el voltaje obtenido es mayor que el máximo que 4.2V, encendemos el LED verde y despues del delay lo apagamos

  if (voltajeObtenido >= voltajeMaximo)

  {

    digitalWrite(VERDE, HIGH);

    delay(800);

    digitalWrite(VERDE, LOW);

  }

// Si el voltaje obtenido es menor que 4.2V pero mayor que 3.8V, encendemos el LED amarillo y despues del delay lo apagamos

  else if (voltajeObtenido < voltajeMaximo && voltajeObtenido > voltajeMedio)

  {

    digitalWrite(AMARILLO, HIGH);

    delay(800);

    digitalWrite(AMARILLO, LOW);

  }

// Si el voltaje obtenido es menor que 3.8V pero mayor que 1, encendemos el LED rojo y despues del delay lo apagamos

  else if (voltajeObtenido < voltajeMedio && voltajeObtenido > voltajeMinimo)

  {

    digitalWrite(ROJO, HIGH);

    delay(800);

    digitalWrite(ROJO, LOW);

  }

  // Se apagan los LEDS

  digitalWrite(VERDE, LOW);

  digitalWrite(AMARILLO, LOW);

  digitalWrite(ROJO, LOW);

Problemas y Soluciones:

-El principal problema que tuvimos en la implementación del código fue como pasar el voltaje que nos llegaba a Arduino desde el pin analógico para poder convertirlo al valor esperado. Se soluciono buscando información en internet, donde encontramos una fórmula que nos sirvió. Lo encontramos en esta página https://www.prometec.net/aref/

-También tuvimos problemas a la hora de saber si la batería se estaba cargando, y hasta que no hicimos la parte de Arduino, no pudimos comprobar esto.

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *