Projeto: Testador/Descarregador de bateria de Li-ion com Arduino

Este projeto é um projeto para testar/descarregar baterias Li-ion encontradas em vários aparelhos eletrônicos, por exemplo, celulares, cameras, etc.

Para este projeto precisaremos:

  • 1x Arduino
  • 1x Resistor de 6.9 Ohm de 5Watts, isto porque o resistor irá esquentar e queimar.

No vídeo foi mostrado um teste com uma bateria de Li-ion da TrustFire de 3.7V e 3800mAh.

Faça a seguinte ligação:

Cuidado! Esta ligação é apenas uma demonstração para baterias de Li-Ion. E lembre-se, o resistor de 6.9 ohm deverá ser de 5Watts. Não utilize baterias normais, pois não irá funcionar.

 

A programação do projeto está mostrado abaixo:

// Very simple Arduino Lithium-ion battery capacity tester
// from electronicsblog.net

#define LED 13
#define resistor 6.9

float capacity=0, value,voltage,current, time=0;

void measure (void) {

value= analogRead(0);

voltage=value/1024*5.0;

current = voltage/resistor;

capacity=capacity+current/3600;

time++;

Serial.print("Voltage= ");
Serial.print(voltage);

Serial.print("V Current= ");
Serial.print(current);

Serial.print("A Capacity= ");
Serial.print(capacity);
Serial.print("Ah ");

Serial.print("Discharging time= ");
Serial.print(time);
Serial.print("s ");

Serial.print("\n");
}

boolean x=false;

ISR(TIMER1_OVF_vect) {
TCNT1=0x0BDC;
x=!x;

measure();

}

void setup() {

pinMode(LED, OUTPUT);

TIMSK1=0x01; // enabled global and timer overflow interrupt;
TCCR1A = 0x00; // normal operation page 148 (mode0);
TCNT1=0x0BDC; // set initial value to remove time error (16bit counter register)
TCCR1B = 0x04; // start timer/ set clock

Serial.begin(9600);

};

void loop () {

digitalWrite(LED, x);

};

A função ISR(TIMER_1_OVF_vect) faz os cálculos da amostragem da bateria e mostra no Serial Monitor como pode ser visto no vídeo. Esta função de interrupção é chamada a cada segundo de acordo com o contador de tempo interno do Arduino. Para saber mais sobre a interrupção, clique aqui. E a cada leitura, o arduino acende e apaga o Led do pino 13.

E é isso! Esperamos que tenha gostado! Em caso de dúvidas, poste aqui neste blog! Para sugestões de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

Referências:

http://www.electronicsblog.net/very-simple-arduino-lithium-ion-batt...

http://www.uchobby.com/index.php/2007/11/24/arduino-interrupts/

Exibições: 21314

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Félix em 19 outubro 2015 às 15:07

Boa tarde, Galera!

Posso utilizar esse mesmo esquema e codigo para realizar teste com baterias de 12v 1.3Ah?

Preciso fazer algo desse tipo para garantia a autonomia de um sistema.

Comentário de Marcio Erli em 11 janeiro 2013 às 9:39

Posso usar pra descarregar qualquer tipo de bateria? Penso em usar em aeromodelimo. Grato.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço