Escolar Documentos
Profissional Documentos
Cultura Documentos
Projetos Questões Patrocínios Comentários Vídeos Blog Loja de presentes Pergunte Crie um projeto
Capacidade de carga
Placa PCB Design PCB
Placa de circuito
Battery Capacity Tester, Identify a Fake Lithium ion Battery, Using Ard…
Ard… placas de circuito
Categorias
Tecnologia
SE VOCÊ PERDEU
1: Análise de Circuito
A Figura 1 mostra o diagrama esquemático do dispositivo. O núcleo do circuito é uma placa Arduino-Nano.
figura 1
IC1 é um chip LM358 [1] que contém dois amplificadores operacionais. R5 e C7 constroem um filtro passa-baixo que
converte o pulso PWM em uma tensão DC. A frequência do PWM é em torno de 500Hz. Usei um osciloscópio Siglent
SDS1104X-E para examinar o PWM e o comportamento do filtro. Liguei o CH1 à saída do PWM (Arduino-D10) e o CH2
à saída do filtro (Figura 2). Você pode até examinar a resposta de frequência do filtro e sua frequência de corte “na
prática” pelo gráfico de bode, que é um dos recursos interessantes introduzidos do SDS1104X-E.
Figura 2
O sinal PWM (CH1: 2V / div) e o resultado após passar pelo filtro R5-C7 RC (CH2: 50mV / div)
R5 é um resistor de 1M que limita enormemente a corrente, no entanto, a saída do filtro passa por um opamp (o
segundo opamp de IC1), em uma configuração de seguidor de tensão. O primeiro opamp do IC1, R7 e Q2 constrói um
circuito de carga de corrente constante. Até agora, construímos uma carga de corrente constante controlável por
PWM.
Um LCD 2 * 16 é usado como uma interface de usuário que torna o controle / ajustes fáceis. O potenciômetro R4
define o contraste do LCD. R6 limita a corrente de luz de fundo. P2 é um conector Molex de 2 pinos usado para
conectar uma campainha de 5V. R1 e R2 são resistores pull-up para os interruptores táteis. C3 e C4 são usados para
eliminar os botões de pressão. C1 e C1 são usados para filtrar a tensão de alimentação do circuito. C5 e C6 são
usados para filtrar os ruídos do circuito de carga de corrente constante para não degradar o desempenho de
conversão do ADC. R7 atua como uma carga para o Q2 MOSFET.
2: Placa PCB
A Figura 3 mostra o layout PCB projetado do circuito. Ambos os lados da placa são usados para montar os
componentes.
Quando pretendo projetar um Esquemático / PCB, sempre uso as bibliotecas de componentes SamacSys, pois essas
bibliotecas seguem os padrões industriais do IPC e todas são gratuitas. Usei essas bibliotecas para IC1 [2], Q2 [3], e
até mesmo consegui encontrar a biblioteca Arduino-Nano (AR1) [4] que economizou muito na hora de projetar. Eu uso
o software CAD Altium Designer, então usei o plugin Altium para instalar as bibliotecas de componentes [5]. A Figura 4
mostra os componentes selecionados.
Figura 3
Quando pretendo projetar um Esquemático / PCB, sempre uso as bibliotecas de componentes SamacSys, pois essas
bibliotecas seguem os padrões industriais do IPC e todas são gratuitas. Usei essas bibliotecas para IC1 [2], Q2 [3], e
até mesmo consegui encontrar a biblioteca Arduino-Nano (AR1) [4] que economizou muito na hora de projetar. Eu uso
o software CAD Altium Designer, então usei o plugin Altium para instalar as bibliotecas de componentes [5]. A Figura 4
mostra os componentes selecionados.
Figura 4
A placa PCB é ligeiramente maior do que um LCD 2 * 16 para caber nos três botões táteis. As Figuras 5, 6 e 7 mostram
vistas 3D da placa.
Figura 5
Figura 6
Figura 7
3: Montagem e Teste
Usei uma placa PCB semi-caseira para construir um protótipo rápido e testar o circuito. A Figura 8 mostra uma foto da
placa. Você não precisa me seguir, apenas peça o PCB para uma empresa profissional de fabricação de PCB e
construa o dispositivo. Você deve usar um potenciômetro tipo pé para o R4, que permite ajustar o contraste do LCD na
lateral da placa.
Figura 8
Depois de soldar os componentes e preparar as condições de teste, estamos prontos para testar nosso circuito. Não
se esqueça de montar um dissipador de calor grande no MOSFET (Q2).
Selecionei R7 para ser um resistor de 3 ohms. Isso nos permite gerar correntes constantes de até 750mA, mas no
código, eu configurei a corrente máxima para algo em torno de 500mA, o que é suficiente para nosso propósito.
Abaixar o valor do resistor (para por exemplo 1,5 ohm) pode gerar correntes mais altas, entretanto, você deve usar um
resistor mais poderoso e modificar o código do Arduino. A Figura 9 mostra a placa e suas fiações externas.
Figura 9
Prepare uma tensão de algo em torno de 7 V a 9 V para a entrada de alimentação. Usei o regulador da placa Arduino
para fazer o trilho de + 5V. Portanto, nunca aplique uma tensão superior a 9 V na entrada de alimentação, caso
contrário, você pode danificar o chip regulador.
A placa será ligada e você deverá ver um texto no LCD, o mesmo da figura 10. Se você usar uma luz de fundo azul 2 *
16 LCD, o circuito consumirá cerca de 75mA.
Figura 10
Após cerca de 3 segundos, o texto será limpo e na próxima tela, você pode ajustar o valor da corrente constante pelos
botões de pressão para cima / para baixo (Figura 11).
Figura 11
O ajuste de carga atual constante pelos botões de pressão para cima / para baixo
Antes de conectar uma bateria ao dispositivo e medir sua capacidade, você pode examinar o circuito usando uma
fonte de alimentação. Para isso, deve-se conectar o conector P3 à fonte de alimentação.
Importante: Nunca aplique tensão superior a 5 V, ou em polaridade reversa, à entrada da bateria, caso contrário, você
danificará permanentemente o pino digital para conversor do Arduino.
Defina o limite de corrente desejado (por exemplo, 100mA) e brinque com a tensão da fonte de alimentação (fique
abaixo de 5 V). Como você pode ver com qualquer tensão de entrada, o fluxo de corrente permanece intacto. Isso é
exatamente o que queremos! (Figura 12).
Figura 12
O fluxo de corrente permanece constante mesmo em frente às variações de tensão (testado com entradas de 4,3 V e
2,4 V)
O terceiro botão é Reset. Isso significa que simplesmente reinicia a placa. É útil quando você planeja reiniciar o
procedimento para testar uma manteiga diferente.
Enfim, agora você tem certeza que seu aparelho funciona perfeitamente. Você pode desconectar a fonte de
alimentação e conectar a bateria à entrada da bateria e definir o limite de corrente desejado.
Para iniciar meu próprio teste, selecionei uma bateria de íons de lítio nova em folha para 8.800 mA (Figura 13). Parece
uma taxa fantástica, não é ?! Mas eu não posso acreditar nisso de alguma forma :-), então vamos testar.
Figura 13
Antes de conectar a bateria de lítio à placa, devemos carregá-la, portanto, prepare um 4,20 V fixo (limite de 500mA CC
ou inferior) com sua fonte de alimentação (por exemplo, usando a fonte de alimentação de comutação variável no
artigo anterior) e carregue a bateria até que o fluxo de corrente atinja um nível baixo. Não carregue uma bateria
desconhecida com altas correntes, porque não temos certeza sobre sua capacidade real! Altas correntes de carga
podem explodir a bateria! Tome cuidado. Como resultado, segui este procedimento e nossa bateria de 8.800 mA está
pronta para medição de capacidade.
Usei um suporte de bateria para conectar a bateria à placa. Certifique-se de usar fios grossos e curtos que
apresentam baixa resistência porque a dissipação de energia nos fios causa queda de tensão e imprecisão.
Vamos definir a corrente para 500mA e manter pressionado o botão “PARA CIMA”. Em seguida, você deve ouvir um
bipe e o procedimento é iniciado (Figura 14). Eu configurei a tensão de corte (limite de bateria fraca) para 3.2V. Você
pode modificar esse limite no código, se desejar.
Figura 14
Basicamente, devemos calcular a “vida útil” da bateria antes que sua tensão atinja o limite de nível baixo. A Figura 15
mostra o momento em que o dispositivo desconecta a carga CC da bateria (3,2 V) e os cálculos são feitos. O
dispositivo também gera dois bipes longos para indicar o fim do procedimento. Como você pode ver na tela LCD, a
verdadeira capacidade da bateria é de 1.190 mAh, que está longe da capacidade declarada! Você pode seguir o
mesmo procedimento para testar qualquer bateria (inferior a 5 V).
Figura 15
Lista de materiais
Se você deseja construir este dispositivo, você pode baixar os arquivos Gerber ou solicitar diretamente que o PCB seja
fabricado para você com a mais alta qualidade.
Referências
[1]: https://www.onsemi.com/pub/Collateral/LM358-D.PDF
[2]: https://componentsearchengine.com/part.php?partID=671517
[3]: https://componentsearchengine.com/part.php?partID=617283
[4]: https://componentsearchengine.com/part.php?partID=368895
[5]: https://www.samacsys.com/altium-designer-library-instructions
#include <LiquidCrystal.h>
#include <JC_Button.h>
byte const RS = 2 , EN = 3 , D4 = 4 , D5 = 5 , D6 = 6 , D7 = 7 ;
byte const PWM_Pin = 10 ;
Const byte Alto-falante = 12 ;
const int BAT_Pin = A0;
int PWM_Value = 0 ;
Capacidade longa sem sinal = 0 ;
int ADC_Value = 0 ;
float BAT_Voltage = 0 ;
byte Hora = 0 , Minuto = 0 , Segundo = 0 ;
bool calc = false , Done = false ;
void setup () {
UP_Button.begin ();
Down_Button.begin ();
lcd.setCursor ( 0 , 0 );
lcd.begin ( 16 , 2 );
lcd.print ( "Capacidade da bateria" );
lcd.setCursor ( 0 , 1 );
lcd.print ( "Medição v1.0" );
atraso ( 3000 );
lcd.clear ();
lcd.print ( "Carregar ajuste : PARA CIMA / PARA BAIXO" );
lcd.setCursor ( 0 , 1 );
lcd.print ( "0" );
void loop () {
UP_Button.read ();
Down_Button.read ();
void timerInterrupt () {
calc = true ;
while (Done == false ) {
Second ++;
if (Second == 60 ) {
Segundo = 0 ;
Minuto ++;
lcd.clear ();
}
if (Minuto == 60 ) {
Minuto = 0 ;
Hora ++;
}
lcd.setCursor ( 0 , 0 );
lcd.print (String (Hour) + ":" + String (Minuto) + ":" + String
(Second));
lcd.setCursor ( 9 , 0 );
ADC_Value = analogRead (BAT_Pin);
BAT_Voltage = ADC_Value * ( 5,0 / 1024 );
lcd.print ( "V:" + String (BAT_Voltage));
lcd.setCursor ( 0 , 1 );
lcd.print ( "BAT-C: Espere! ..." );
if (BAT_Voltage <Low_BAT_level)
{
lcd.setCursor ( 0 , 1 );
lcd.print ( "" );
lcd.setCursor ( 0 , 1 );
Capacidade = (hora * 3600 ) + (minuto * 60 ) + segundo;
Capacity = (Capacity * Current [PWM_Value / 5 ]) / 3600 ;
lcd.print ( "BAT-C:" + String (Capacidade) + "mAh" );
Concluído = verdadeiro ;
PWM_Value = 0 ;
analogWrite (PWM_Pin, PWM_Value);
digitalWrite (alto-falante, HIGH);
atraso ( 100 );
digitalWrite (alto-falante, BAIXO);
atraso ( 100 );
digitalWrite (alto-falante, HIGH);
atraso ( 100 );
digitalWrite (alto-falante, BAIXO);
}
atraso ( 1000 );
}
}
Anterior : Como colocar a indutância da fonte de alimenta… Próximo : Pontos-chave de sete tipos de interface comum…
Artigos relacionados
Medição da capacidade da bateria usando Arduino [Lithium-…
Comentários ( 24 )
Carregar uma foto: Navegar Você só pode fazer upload de 1 arquivo no total. Cada arquivo não pode exceder 2 MB. Suporta JPG, JPEG, GIF,
PNG, BMP
Postar Comentário
Olá, tenho uma observação sobre o código: A contagem de tempo é realizada com atraso (1000); comando.
Isso não conta o tempo para executar o resto do código de loop. Não sei quão grande pode ser o erro, mas
definitivamente há um erro. Em dois projetos diferentes percebi isso de duas maneiras: - interromper -
observando o contador do relógio do sistema A segunda coisa é que você não precisa imprimir tudo o
tempo todo. A impressão é demorada e este tipo de lcd é lento e você pode ver os números mudando ... :)
Com base na minha experiência, mais rápido é imprimir apenas o que foi alterado. A configuração atual
começa enquanto você está configurando a atual. Isso é bom se você quiser testar a corrente máxima
possível (com amperímetro adicional), mas para teste de capacidade e porque não há medição de corrente,
sugiro começar com o teste de capacidade quando tudo estiver configurado. Seria excelente ter medição
de corrente e possibilidade de testar a corrente máxima. Por favor, tente implementá-lo no PCB existente
(eu tenho 4 sobressalentes :)). Cumprimentos
Engenheiro Responder
I do all the soldering on the PCB and when I try to test, it is not working.
I got no current at load.
May I know what voltage is at LM358 pin 1(op-amp 1 out) when current is set at 500ma?
when I want to order the PCB, I do not know to input the size of the PCB.
Engineer Reply
Can you provide a version of code that can be copied easily? Thank you
O PCB WAY QUE RECONHECE O TALENTO E ESFORÇO DOS MELHORES DESIGNERS DE ELETRÔNICA DO MUNDO.