Cargador solar de baterías de litio con TP4056

Hola voy a hacer un cargador de baterías de litio con un módulo TP4056 hoy por hoy hay uno mejor que este pero este es el que yo tengo.

Notas sobre el módulo:

El amperímetro sólo se puede conectar a 5V al extremo de entrada del módulo.
Es mejor que la corriente de carga sea 37% de la capacidad de la batería. Si se carga una batería de 1000 mAh, una corriente de 400 mAh es suficiente.
El cable de conexión no debe ser demasiado grueso.
Asegúrese de que el punto de conexión es buena.
Si la tensión de entrada es demasiado alta, como 5.2 V, la corriente será menos de 1000mA, es normal.
Es la función de protección, auto-restar la corriente de carga para evitar quemar el chip.

Especificaciones:

Módulo de carga: carga lineal
Corriente: 1A ajustable (se necesita reemplazar la resistencia)
Carga precisión: 1.5%
Voltaje de entrada: 4.5 V-5.5 V
Tensión de carga completa: 4.2 V
Indicador LED: rojo se está cargando, verde está completamente cargada. (o rojo se está cargando, azul esta cargada por completo)
Interfaz de entrada: Mini USB.
Temperatura de trabajo:-10 ° C a 85 ° C
Polaridad invertida: no
Tamaño (1 unid): 28196mm

De momento estoy haciendo pruebas de carga con una pila solo para ver como funciona la cosa. he cargado la pila hasta 3.75V y no se calienta supuestamente no debo cargar mas de 4.20V que es el máximo de esta batería.

Si tienen alguna experiencia me gustaría que lo compartan ya que he leído que con estas baterías es mejor no jugar mucho.

El proyecto consiste en usar arduino el TP4056 y un módulo como este para ver la carga de las baterías.

calculadora para carga de baterías

Dejo un vídeo bien explicado de como usar estos módulos:

Agradecería mucho sus consejos!

Dejo como adjunto las librerías del display de la batería y unos PDF para conectarlo pero vamos que con el código de ejemplo ya deducen las conexiones pero lo dejo de todas formas.

[Open-Smart]Battery Display.zip (103 KB)

He decidido hacer mis pruebas con un lcd y bueno ahí esta el resultado ya voy pillando algunos conceptos.

Para alimentar a Arduino voy a unir las pilas en dos grupos de 3 pilas en serie cada grupo tendrá 11.1V después para tener mas mAh de carga voy a unir estos dos grupos en paralelo y tendré unos 4200mAh aquí el empaquetado para empezar las pruebas.

Para controlar el estado de la batería desde Arduino usare un divisor resistivo son las dos resistencias que vemos en el esquema de conexiones hay que calcular que resistencias usar en mi caso 47.2 Ohms la que va a GND y 10.3 Ohms la que va al VCC del punto intermedio me da una lectura de 3.6v suficiente para ser leído por el pin analógico sin quemarlo y para poder proteger la batería de sobrecarga o de una descarga completa lo que dejaría la batería inservible, pero eso lo dejo para mas adelante.

El esquema de conexiones de momento es este imaginando que la batería es de 11.1v

Y el código de momento es este:

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

byte battBody[8] = {
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B00000
};

byte battTop[8] = {
B00000,
B11110,
B11110,
B11111,
B11111,
B11110,
B11110,
B00000
};

void setup() {
 
  lcd.begin(16, 2);
  lcd.print("Battery Charger");
  delay(1000);
  lcd.clear();

lcd.createChar(0, battBody);
lcd.createChar(1, battTop);

lcd.begin(16,2);
lcd.write((byte)0);
lcd.write((byte)1);

}

void loop() {
 
  lcd.clear();
  lcd.setCursor(0, 0);                   
  lcd.print("Battery Charger");
  lcd.setCursor(0, 1);                             
  lcd.print(analogRead(1)*5.00/1023.00);           
  lcd.print("V  ");
  lcd.setCursor(9,1);
 
  if ((analogRead(1)*5.00/1023.00) > 3.80)         
  {
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)1); 
   
  }
  else if ((analogRead(1)*5.00/1023.00) > 3.57)
  {
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)1);
  }
  else if ((analogRead(1)*5.00/1023.00) > 3.30)
  {
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)1);
  }
  else if ((analogRead(1)*5.00/1023.00) > 3.10)
  {
    lcd.write((byte)0);
    lcd.write((byte)0);
    lcd.write((byte)1);
  }
    else if ((analogRead(1)*5.00/1023.00) > 3.00)
  {
    lcd.write((byte)0);
    lcd.write((byte)1);
  }
  else
  {
  lcd.print("");
  }
 
  delay(1000);
}

muchas gracias por tu proyecto, yo buscaba esto mismo para hacerme una batería con pilas 18650 para un robot, ¿puedes cargar las pilas en serie con ese modulo TP4056 ?

Buenas, yo estoy buscando hacer lo mismo pero para baterias de celular de litio de 4.4v 3220 mah. que tal funcionaria el circuito?, si no me equivoco no se podria cargar al 100 %, por que dice que el maximo voltaje que alcanza es 4.2v. que podria hacer. y si me funcionaria? aunque no carge al 100?

ArmandoVH si un hilo no tiene movimientos por 4 meses te aparece un warning.
Porque si te apareció una advertencia igualmente posteas en este hilo?
Leíste las normas del foro?
Por favor, crea un hilo nuevo con este tema xq este ademas ni siquiera se ven las fotos.