Índice:

Carregador de bateria inteligente baseado em microcontrolador: 9 etapas (com fotos)
Carregador de bateria inteligente baseado em microcontrolador: 9 etapas (com fotos)

Vídeo: Carregador de bateria inteligente baseado em microcontrolador: 9 etapas (com fotos)

Vídeo: Carregador de bateria inteligente baseado em microcontrolador: 9 etapas (com fotos)
Vídeo: Carregador de Baterias com Flutuação de Carga 2024, Julho
Anonim
Carregador de bateria inteligente baseado em microcontrolador
Carregador de bateria inteligente baseado em microcontrolador
Carregador de bateria inteligente baseado em microcontrolador
Carregador de bateria inteligente baseado em microcontrolador
Carregador de bateria inteligente baseado em microcontrolador
Carregador de bateria inteligente baseado em microcontrolador

O circuito que você está prestes a ver é um carregador de bateria inteligente baseado em ATMEGA8A com desligamento automático. Parâmetros diferentes são mostrados por meio de um LCD durante diferentes estados de carga. Além disso, o circuito emitirá som por meio de uma campainha após a conclusão da carga.

Eu construí o carregador basicamente para carregar minha bateria de íon de lítio 11.1v / 4400maH. O firmware é basicamente escrito para carregar esse tipo de bateria específico. Você pode carregar seu próprio protocolo de carga para atender às suas necessidades de carregar outros tipos de bateria.

Como você sabe, carregadores de bateria inteligentes estão prontamente disponíveis no mercado. Mas, sendo um entusiasta da eletrônica, é sempre preferível para mim construir o meu próprio em vez de comprar um que tenha funções estáticas / imutáveis. Neste módulo, tenho planos de atualizar no futuro, então eu deixei espaço a respeito disso.

Quando comprei pela primeira vez minha bateria de íon-lítio 11.1v / 2200mah anterior, procurei carregadores de bateria DIY com controle inteligente na internet. Mas encontrei recursos muito limitados. Então, para então, fiz um carregador de bateria baseado no LM317 e funcionou muito bem para mim. Mas como minha bateria anterior acabou com o tempo (sem motivo), comprei outra bateria de íon-lítio de 11.1v / 4400mah. Mas desta vez, a configuração anterior era inadequada para carregar minha nova bateria. requisito, fiz alguns estudos na rede e fui capaz de projetar meu próprio carregador inteligente.

Estou compartilhando isso porque acho que muitos amadores / entusiastas estão por aí que são realmente apaixonados por trabalhar com eletrônica de potência e microcontrolador e também precisam construir um carregador inteligente próprio.

Vamos dar uma olhada rápida em como carregar uma bateria de íon de lítio.

Etapa 1: protocolo de carga para uma bateria de íon-lítio

Para carregar a bateria de íon de lítio, certas condições devem ser atendidas. Se não mantivermos as condições, a bateria terá carga insuficiente, elas serão incendiadas (se sobrecarregadas) ou ficarão permanentemente danificadas.

Existe um site muito bom para saber tudo o que é necessário sobre os diferentes tipos de baterias e, claro, você sabe o nome do site se estiver familiarizado com o trabalho com baterias … Sim, estou falando sobre batteryuniversity.com.

Aqui está o link para saber os detalhes necessários para carregar uma bateria de íons de lítio.

Se você é preguiçoso o suficiente para ler todas essas teorias, a essência é a seguinte.

1. A carga completa de uma bateria de íon de lítio de 3,7 V é de 4,2 v. Em nosso caso, a bateria de íon de lítio de 11,1 V significa 3 bateria de 3,7 V. Para a carga completa, a bateria deve atingir 12,6 V, mas por razões de segurança, nós irá carregá-lo até 12,5 V.

2. Quando a bateria está prestes a atingir a carga completa, a corrente consumida pela bateria do carregador cai para 3% da capacidade nominal da bateria. Por exemplo, a capacidade da bateria do meu celular é de 4400 mah. Portanto, quando a bateria estiver totalmente carregada, a corrente consumida pela bateria será alcançada em cerca de 3% -5% de 4400ma, ou seja, entre 132 a 220ma. Para interromper a carga com segurança, o carregamento será interrompido quando a corrente consumida cair abaixo 190ma (quase 4% da capacidade nominal).

3. O processo de carga total é dividido em duas partes principais 1-Corrente constante (modo CC), 2-Tensão constante (modo CV). (Também há modo de carga de cobertura, mas não implementaremos isso em nosso carregador como o carregador irá notificar o usuário sobre a carga completa por meio de alarme, então a bateria deve ser desconectada do carregador)

Modo CC -

No modo CC, o carregador carrega a bateria com taxa de carga de 0,5c ou 1c. Agora, o que diabos é 0,5c / 1c ???? Para ser simples, se a capacidade da bateria é de, digamos, 4400mah, então no modo CC, 0,5c será 2200ma e 1c terá corrente de carga de 4400ma.'c 'significa taxa de carga / descarga. Algumas baterias também suportam 2c, ou seja, no modo CC, você pode definir a corrente de carga para até 2x da capacidade da bateria, mas isso é loucura !!!!!

Mas para ser seguro, vou escolher a corrente de carga de 1000ma para bateria de 4400 mah, ou seja, 0,22c. Neste modo, o carregador monitorará a corrente consumida pela bateria independente da tensão de carga. / diminuindo a tensão de saída até que a carga da bateria atinja 12,4 V.

Modo CV -

Agora, quando a tensão da bateria atinge 12,4 V, o carregador manterá 12,6 volts (independente da corrente consumida pela bateria) em sua saída. Agora, o carregador interromperá o ciclo de carga dependendo de duas coisas. Se a voltagem da bateria ultrapassar 12,5 V e também se a corrente de carga cair abaixo de 190ma (4% da capacidade nominal da bateria conforme explicado anteriormente), o ciclo de carga será interrompido e uma campainha soará.

Etapa 2: esquema e explicação

Agora vamos dar uma olhada no funcionamento do circuito. O esquema está anexado em formato pdf no arquivo BIN.pdf.

A tensão de entrada do circuito pode ser 19 / 20v. Usei um carregador de laptop antigo para obter 19v.

J1 é um conector de terminal para conectar o circuito à fonte de tensão de entrada. Q1, D2, L1, C9 está formando um conversor de fanfarrão. Agora que diabos é isso ??? Este é basicamente um conversor abaixador de CC para CC. Neste tipo do conversor, você pode atingir a tensão de saída desejada variando o ciclo de trabalho. Se você quiser saber mais sobre os conversores Buck, visite esta página. mas para ser franco, eles são totalmente diferentes da teoria. Para avaliar os valores adequados de L1 & C9 para minhas necessidades, levou 3 dias de tentativa e erro. Se você for carregar baterias diferentes, então é possível que esses valores sejam alterados.

Q2 é o transistor do driver para poder mosfet Q1. R1 é um resistor de polarização para Q1. Alimentamos o sinal pwm na base do Q2 para controlar a tensão de saída. C13 é uma tampa de desacoplamento.

Agora a saída é alimentada para Q3. Uma pergunta pode ser feita: "Qual é a utilidade do Q3 aqui ??". A resposta é bastante simples, ele está agindo como um simples interruptor. Sempre que medirmos a tensão da bateria, desligaremos Q3 para desconectar a saída de tensão de carregamento do conversor Buck. Q4 é o driver para Q3 com um resistor de polarização R3.

Observe que há um diodo D1 no caminho. O que o diodo está fazendo aqui no caminho ?? Essa resposta também é muito simples. Sempre que o circuito for desconectado da alimentação de entrada enquanto a bateria estiver conectada na saída, a corrente da bateria será flua no caminho reverso através dos diodos do corpo do MOSFET Q3 e Q1 e, portanto, o U1 e o U2 obterão a tensão da bateria em suas entradas e energizarão o circuito com a tensão da bateria. Para evitar isso, D1 é usado.

A saída do D1 é então alimentada para a entrada do sensor de corrente (IP +). Este é um sensor de corrente de base de efeito Hall, ou seja, a parte de detecção de corrente e a parte de saída são isoladas. A saída do sensor de corrente (IP-) é então alimentada para o bateria. Aqui R5, RV1, R6 estão formando um circuito divisor de tensão para medir a tensão da bateria / tensão de saída.

O ADC do atmega8 é usado aqui para medir a tensão e a corrente da bateria. O ADC pode medir no máximo 5v. Mas mediremos no máximo 20v (com algum espaço). Para reduzir a tensão para a faixa do ADC, um 4: 1 divisor de tensão é usado. O potenciômetro (RV1) é usado para ajuste fino / calibração. Discutirei isso mais tarde. C6 é a tampa de desacoplamento.

A saída do sensor de corrente ACS714 também é alimentada ao pino ADC0 da atmega8. Neste sensor ACS714, vamos medir a corrente. Tenho uma placa breakout da pololu da versão 5A e funciona muito bem. Falarei sobre isso na próxima etapa em como medir a corrente.

O LCD é um lcd 16x2 normal. O lcd usado aqui é configurado no modo de 4 bits, pois a contagem de pinos do atmega8 é limitada. O RV2 é o potenciômetro de ajuste de brilho do LCD.

O atmega8 tem clock de 16 MHz com um cristal externo X1 com duas tampas de desacoplamento C10 / 11. A unidade ADC do atmega8 está sendo alimentada através do pino Avcc através de um indutor de 10uH. C7, C8 são tampas de desacoplamento conectadas a Agnd. Coloque-as como o mais próximo possível do Avcc e Aref, correspondentemente, ao fazer o PCB. Observe que o pino Agnd não é mostrado no circuito. O pino Agnd será conectado ao aterramento.

Eu configurei o ADC do atmega8 para usar Vref externo, ou seja, forneceremos a tensão de referência por meio do pino Aref. A principal razão por trás disso para alcançar a máxima precisão de leitura possível. A tensão de referência interna de 2,56v não é tão grande em avrs. É por isso que o configurei externamente. Agora, é algo a se notar. O 7805 (U2) está fornecendo apenas o sensor ACS714 e o pino Aref de atmega8. Isso é para manter a precisão ideal. O ACS714 fornece uma tensão de saída estável de 2,5 V quando não há fluxo de corrente através dele. Mas, digamos, se a tensão de alimentação do ACS714 for reduzida (digamos 4,7 V), a tensão de saída sem corrente (2,5 V) também será reduzida e criará uma leitura de corrente inadequada / errônea. Além disso, como estamos medindo a tensão em relação a Vref, a tensão de referência em Aref deve estar livre de erros e estável. É por isso que precisamos de um 5v estável.

Se alimentássemos o ACS714 & Aref a partir do U1 que está fornecendo o atmega8 e o lcd, haveria uma queda substancial de tensão na saída do U1 e a leitura de ampere e tensão seria errônea. É por isso que U2 é usado aqui para eliminar o erro fornecendo 5 V estáveis apenas para Aref e ACS714.

S1 é pressionado para calibrar a leitura de tensão. S2 é reservado para uso futuro. Você pode adicionar ou não adicionar este botão de acordo com sua escolha.

Etapa 3: Funcionamento …

Funcionando …
Funcionando …
Funcionando …
Funcionando …
Funcionando …
Funcionando …

Ao ser ligado, o atmega8 irá ligar o conversor buck dando 25% pwm de saída na base do Q2. Por sua vez, Q2 irá então conduzir Q1 e o conversor buck será iniciado. Q3 será desligado para desconectar a saída do conversor buck e a bateria. O atmega8 então lê a tensão da bateria por meio do divisor do resistor. Se nenhuma bateria estiver conectada, o atmega8 mostra uma mensagem "Insira a bateria" via lcd 16x2 e espera pela bateria. Se uma bateria for colocada, o O atmega8 verificará a tensão. Se a tensão for inferior a 9v, o atmega8 mostrará "Bateria com defeito" no lcd 16x2.

Se uma bateria com mais de 9v for encontrada, o carregador entrará primeiro no modo CC e ligará a saída mosfet Q3. O modo do carregador (CC) será atualizado para exibir imediatamente. Se a tensão da bateria for superior a 12,4v, então o mega8 sairá imediatamente do modo CC e entrará no modo CV. Se a tensão da bateria for inferior a 12,4 V, o mega8 manterá a corrente de carga 1A aumentando / diminuindo a tensão de saída do conversor Buck variando o ciclo de trabalho do pwm. A corrente de carga será lida pelo sensor de corrente ACS714. A tensão de saída do buck, a corrente de carga e o ciclo de trabalho PWM serão atualizados periodicamente no LCD.

. A tensão da bateria será verificada desligando o Q3 após cada intervalo de 500ms. A tensão da bateria será atualizada imediatamente para o LCD.

Se a tensão da bateria ficar acima de 12,4 volts durante o carregamento, o mega8 sairá do modo CC e entrará no modo CV. O status do modo será atualizado imediatamente para o LCD.

Em seguida, o mega8 manterá a tensão de saída de 12,6 volts, variando o ciclo de trabalho do buck. Aqui a tensão da bateria será verificada a cada intervalo de 1s. Assim que a tensão da bateria for maior que 12,5 V, então ela será verificada se a corrente consumida estiver abaixo de 190ma. Se ambas as condições forem satisfeitas, o ciclo de carga será interrompido desligando permanentemente Q3 e uma campainha soará ligando Q5. Também mega8 mostrará "Carga concluída" através do lcd.

Etapa 4: peças necessárias

Peças necessárias
Peças necessárias

Listadas abaixo estão as peças necessárias para concluir o projeto. Consulte as folhas de dados para pinagem. Somente link de folha de dados de peças cruciais fornecido

1) ATMEGA8A x 1. (folha de dados)

2) Sensor de corrente ACS714 5A da Pololu x 1 (recomendo fortemente o uso do sensor da Pololu, pois são os mais precisos entre todos os outros sensores que usei. Você pode encontrá-lo aqui). Pinout está descrito na imagem.

3) IRF9540 x 2. (folha de dados)

4) 7805 x 2 (recomendado da Toshiba genuinespare, pois fornecem a saída de 5 V mais estável). (Ficha técnica)

5) 2n3904 x 3. (folha de dados)

6) 1n5820 schottky x 2. (folha de dados)

7) LCD 16x2 x 1. (folha de dados)

8) indutor de potência 330uH / 2A x 1 (recomendado da coilmaster)

9) indutor 10uH x 1 (pequeno)

10) Resistores - (Todos os resistores são do tipo 1% MFR)

150R x 3

680R x 2

1k x 1

2k2 x 1

10k x 2

22k x 1

5k pot x 2 (tipo de montagem pcb)

11) Capacitores

Nota: Eu não usei C4. Não há necessidade de usá-lo se você estiver usando fonte de alimentação de laptop / fonte de alimentação regulada como fonte de alimentação de 19v

100uF / 25v x 3

470uF / 25v x 1

1000uF / 25v x 1

100n x 8

22p x 2

12) Chave momentânea de montagem de PCB x 2

13) Campainha 20v x 1

14) Conector do bloco de terminais de 2 pinos x 2

15) Gabinete (usei um gabinete como este.) Você pode usar o que quiser.

16) Fonte de alimentação de laptop de 19 V (modifiquei uma fonte de alimentação de laptop HP. Você pode usar qualquer tipo de fonte de alimentação que quiser. Se quiser construir uma, visite meu este manual de instruções.)

17) Dissipador de calor de tamanho médio para U1 e Q1. Você pode usar este tipo. Ou você pode consultar minhas fotos de circuito. Mas certifique-se de usar dissipador de calor para ambos.

18) Conector banana - Fêmea (Preto e Vermelho) x 1 + Macho (Preto e Vermelho) (dependendo da sua necessidade de conectores)

Etapa 5: hora de calcular …

Cálculo de medição de tensão:

A tensão máxima, que mediremos usando o adc do atmega8 é 20v. Mas o adc do atmega8 pode medir no máximo 5v. Portanto, para fazer 20v na faixa de 5v, um divisor de tensão 4: 1 é usado aqui (como 20v / 4 = 5v). Então, poderíamos implementar isso simplesmente usando dois resistores, mas em nosso caso, adicionei um potenciômetro entre dois resistores fixos para que possamos ajustar manualmente a precisão girando o potenciômetro. A resolução do ADC é de 10 bits, ou seja, o adc representará de 0v a 5v como 0 a 1023 números decimais ou 00h a 3FFh. ('h' significa números hexadecimais). A referência é definida para 5v externamente por meio do pino Aref.

Assim, a tensão medida = (leitura adc) x (Vref = 5v) x (fator divisor do resistor, ou seja, 4, neste caso) / (leitura adc máxima, ou seja, 1023 para 10bit adc).

Suponha que obtivemos uma leitura adc de 512. Então, a tensão medida será -

(512 x 5 x 4) / 1023 = 10v

Cálculo de medição atual:

O ACS714 dará saída estável de 2,5 V no pino de saída quando nenhuma corrente fluirá de IP + para IP-. Ele dará 185 mv / A sobre 2,5 V, ou seja, se a corrente de 3 A estiver fluindo através do circuito, o acs714 dará 2,5 V + (0,185 x 3) V = 3,055 V no pino de saída.

Portanto, a fórmula de medição atual é a seguinte -

Corrente medida = (((leitura adc) * (Vref = 5v) / 1023) -2,5) / 0,185.

por exemplo, a leitura adc é 700, então a corrente medida será - (((700 x 5) / 1023) - 2,5) / 0,185 = 4,98A.

Etapa 6: o software

O software é codificado em Winavr usando GCC. Eu modularizei o código, ou seja, criei diferentes bibliotecas como biblioteca adc, biblioteca lcd etc. A biblioteca adc contém os comandos necessários para configurar e interagir com o adc. A biblioteca lcd contém todos os funções para conduzir o lcd 16x2. Você também pode usar lcd_updated _library.c, pois a sequência de inicialização do lcd é modificada nesta biblioteca. Se desejar usar a biblioteca atualizada, renomeie-a com lcd.c

O arquivo main.c contém as funções principais. O protocolo de carregamento para íon-lítio é escrito aqui. Defina o ref_volt no main.c medindo a saída de U2 (7805) com um multímetro preciso para obter leituras precisas conforme os cálculos são baseados nele.

Você pode simplesmente gravar o arquivo.hex diretamente em seu mega8 para contornar o headche.

Para aqueles que desejam escrever outro protocolo de carga, coloquei comentários suficientes para que até mesmo uma criança possa entender o que está acontecendo para cada execução de linha. Apenas você tem que escrever seu próprio protocolo para diferentes tipos de bateria. íon de voltagem diferente, você só precisa alterar os parâmetros (embora isso não seja testado para outro tipo de bateria de íon de lítio / outro tipo. Você precisa resolver isso sozinho).

Eu recomendo fortemente não construir este circuito, se este for seu primeiro projeto ou se você for novo em microcontroladores / eletrônica de potência.

Eu carreguei cada arquivo em seu formato original, exceto o Makefile, pois está criando problemas para abrir. Eu carreguei em formato.txt. Basta copiar o conteúdo e colá-lo em um novo Makefile e construir todo o projeto. Voila ….você está pronto para gravar o arquivo hexadecimal.

Etapa 7: Chega de teoria … vamos Buld It

Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It
Chega de teoria … vamos Buld It

Aqui estão as fotos do meu protótipo, desde o breadboard até o finalizado no pcb. Leia as notas das fotos para saber mais. As fotos estão organizadas em série do início ao fim.

Etapa 8: Antes do primeiro ciclo de carga ……. Calibrar !!

Antes de carregar uma bateria usando o carregador, você deve primeiro calibrá-la. Caso contrário, não será capaz de carregar a bateria / sobrecarregá-la.

Existem dois tipos de calibração 1) Calibração de tensão. 2) Calibração atual. As etapas são as seguintes para calibrar.

Em primeiro lugar, meça a tensão de saída do U2. Em seguida, defina-a no main.c como ref_volt. Mine foi 5.01. Altere de acordo com sua medição. Esta é a principal etapa necessária para calibração de tensão e corrente. Para calibração de corrente, nada o resto é necessário. Tudo será cuidado pelo próprio software

Agora, como você queimou o arquivo hexadecimal após definir o volt de referência em main.c, elimine a energia da unidade.

. Agora meça a tensão da bateria que irá carregar usando um multímetro e conecte a bateria à unidade.

Agora pressione o botão S1 e segure-o e ligue o circuito enquanto o botão é pressionado. Após um pequeno atraso de cerca de 1s, solte o botão S1. Observe que a unidade não entrará no modo de calibração se você ligar o circuito primeiro e, em seguida, pressione S1.

Agora você pode ver no display que o circuito está no modo de calibração. Um "modo de calibração" será exibido no lcd junto com a tensão da bateria. Agora combine a tensão da bateria mostrada no lcd com a leitura do multímetro girando o potenciômetro. Depois de terminar, pressione a chave S1 novamente, segure-a por cerca de um segundo e solte-a. Você sairá do modo de calibração. Reinicie novamente o carregador desligando-o e ligando-o novamente.

O processo acima também pode ser feito sem uma bateria conectada. Você deve conectar uma fonte de alimentação externa ao terminal de saída (J2). Depois de entrar no modo de calibração, calibre usando o potenciômetro. Mas desta vez, primeiro desconecte a fonte de alimentação externa e pressione S1 para sair do modo de calibração. Isso é necessário primeiro desconectar a fonte de alimentação externa para evitar qualquer tipo de mau funcionamento de qualquer unidade.

Etapa 9: Ligando após a calibração … agora você está pronto para o rock

Ligando após a calibração … agora você está pronto para o rock
Ligando após a calibração … agora você está pronto para o rock
Ligando após a calibração … agora você está pronto para o rock
Ligando após a calibração … agora você está pronto para o rock
Ligando após a calibração … agora você está pronto para o rock
Ligando após a calibração … agora você está pronto para o rock

Agora que a calibração está concluída, você pode iniciar o processo de carga. Coloque a bateria primeiro e, em seguida, ligue a unidade. O descanso será feito pelo carregador.

Meu circuito está 100% funcionando e testado. Mas se você notar alguma coisa, por favor me avise. Sinta-se à vontade para entrar em contato para qualquer dúvida.

Edifício feliz.

Rgds // Sharanya

Recomendado: