- Medindo a tensão de célula individual em uma pilha de baterias em série
- Circuito diferencial para medir a tensão da célula individual
- Diagrama de circuito
- Projeto e fabricação de PCB usando Easy EDA
- Cálculo e pedido de amostras online
- Testando o circuito de monitoramento de tensão
- Medindo a voltagem da célula de lítio usando Arduino
- Programando o Arduino
- Funcionamento de exibição de tensão de célula individual
A quilometragem e o desempenho de um veículo elétrico dependem da capacidade e eficiência de seu pacote de bateria. Manter a bateria em perfeito estado é responsabilidade do Sistema de Gerenciamento de Bateria (BMS). Um BMS é uma unidade sofisticada em um EV que faz muitas atividades como monitorar as células, equilibrá-las e até protegê-las das mudanças de temperatura. Já aprendemos o suficiente neste artigo do Sistema de gerenciamento de bateria, então verifique-os se você é novo aqui.
Para fazer qualquer coisa, o primeiro passo para o BMS seria saber o status atual das células na bateria de lítio. Isso é feito medindo a tensão e a corrente (às vezes também a temperatura) das células do pacote. Somente com esses dois valores o BMS poderia calcular o SOC ou SOH e realizar o balanceamento da célula, etc. Portanto, medir a tensão e a corrente da célula é vital para qualquer circuito BMS, seja um banco de energia simples ou bateria de laptop ou um pacote tão complicado como EV / Baterias solares.
Neste artigo, aprenderemos como podemos medir a voltagem de célula individual das células usadas em uma bateria de lítio. Para o propósito deste projeto, usaremos quatro células de lítio 18650 conectadas em série para formar uma bateria e projetar um circuito simples usando amplificadores operacionais para medir as tensões de células individuais e exibi-las em uma tela LCD usando Arduino.
Medindo a tensão de célula individual em uma pilha de baterias em série
O problema de medir a tensão de uma célula individual em um pacote de baterias conectadas em série é que o ponto de referência permanece o mesmo. A imagem abaixo ilustra o mesmo
Para simplificar, vamos supor que todas as quatro células estão em um nível de voltagem de 4 V conforme mostrado acima. Agora, se nós usamos um microcontrolador Arduino como para medir a tensão da célula, que não terá nenhum problema na medição da tensão de 1 st celular uma vez que tem a outra extremidade conectada à terra. Mas, para as outras células, temos que medir a voltagem daquela célula junto com as células anteriores, por exemplo, quando medimos a voltagem da 4ª célula, mediremos a voltagem de todas as quatro células juntas. Isso ocorre porque o ponto de referência não pode ser alterado do solo.
Portanto, precisamos introduzir algum circuito extra aqui que pode nos ajudar a medir as tensões individuais. A maneira mais crua é usar um divisor de potencial para mapear os níveis de tensão e então medi-los, mas este método irá reduzir a resolução do valor lido para mais de 0,1V. Portanto, neste tutorial, usaremos o Circuito Diferencial Op-Amp para medir a diferença entre os terminais de cada célula para medir a tensão individual.
Circuito diferencial para medir a tensão da célula individual
Já sabemos que um Op-Amp quando trabalha como um amplificador diferencial dá a diferença entre os dois valores de tensão fornecidos para seu pino inversor e não inversor. Portanto, para nosso propósito de medir voltagens de 4 células, precisamos de três amplificadores operacionais diferenciais, conforme mostrado abaixo.
Observe que esta imagem é apenas para representação; o circuito real precisa de mais componentes e será discutido posteriormente neste artigo. As primeiras medidas O1 op-amp a tensão do 2 nd celulares através do cálculo da diferença entre 2 nd terminal da pilha e um r terminal de célula que é (8-4). Da mesma forma, o Op-amp O2 e O3 medem a 3ª e 4ª voltagem da célula, respectivamente. Nós não usamos um op-amp para o 1 st celular uma vez que poderia ser medido diretamente.
Diagrama de circuito
O diagrama completo do circuito para monitorar a tensão Multicell no pacote de bateria de lítio é fornecido abaixo. O circuito foi projetado usando EasyEDA e usaremos o mesmo para fabricar nosso PCB também.
Como você pode ver, temos dois amplificadores operacionais de alta tensão OPA4197 de pacote Quad Rail to Rail em nosso circuito, ambos alimentados pela tensão total do pacote. Um IC (U1) é usado como um circuito de buffer, também conhecido como seguidor de tensão, enquanto o outro IC (U2) é usado para formar o circuito amplificador diferencial. Um circuito buffer é necessário para evitar que qualquer uma das células seja carregada individualmente, o que significa que nenhuma corrente deve ser consumida de uma única célula, mas apenas formar o pacote como um todo. Como o circuito do buffer tem uma impedância de entrada muito alta, podemos usar para ler a tensão da célula sem extrair energia dela.
Todos os quatro amplificadores operacionais no IC U1 são usados para tamponar a voltagem das quatro células, respectivamente. As tensões de entrada das células são rotuladas de B1 + a B4 + e a tensão de saída com buffer é rotulada de B1_Out a B4_Out. Esta voltagem com buffer é então enviada para o amplificador differentia para medir a voltagem de célula individual, conforme discutido acima. O valor de todo o resistor é definido como 1K, uma vez que o ganho do amplificador diferencial é definido como unidade. Você pode usar qualquer valor de resistor, mas todos eles devem ter o mesmo valor, exceto para os resistores R13 e R14. Esses dois resistores formam um divisor de potencial para medir a tensão da bateria para que possamos compará-la com a soma das tensões de célula medidas.
Trilho a trilho, amp op-amp de alta tensão
O circuito acima requer que você use um amplificador operacional de alta tensão Rail to Rail como o OPA4197 por dois motivos. Ambos os IC do Op-Amp operam com a tensão do pacote que é de no máximo (4,3 * 4) 17,2 V, portanto, o Op-amp deve ser capaz de lidar com altas tensões. Além disso, como estamos usando um circuito de buffer, a saída do buffer deve ser igual à tensão do pacote para o 4º terminal da célula, o que significa que a tensão de saída deve ser igual à tensão de operação do amplificador operacional, portanto, precisamos usar um trilho para Amplificador operacional ferroviário
Se você não conseguir encontrar um rail para o amplificador operacional, você pode substituir o IC por um LM324 simples. Este IC pode lidar com alta tensão, mas não pode atuar como trilho para trilho, então você deve usar um resistor pull up de 10k no primeiro pino do IC U1 Op-Amp.
Projeto e fabricação de PCB usando Easy EDA
Agora que nosso circuito está pronto, é hora de fabricá-lo. Como o Op-Amp que estou usando está disponível apenas no pacote SMD, tive que fabricar um PCB para o meu circuito. Então, como sempre, usamos a ferramenta online EDA chamada EasyEDA para fabricar nosso PCB porque é muito conveniente de usar, pois tem uma boa coleção de pegadas e é open-source.
Depois de projetar o PCB, podemos solicitar as amostras de PCB por seus serviços de fabricação de PCB de baixo custo. Eles também oferecem serviço de fornecimento de componentes, onde têm um grande estoque de componentes eletrônicos e os usuários podem solicitar seus componentes necessários junto com o pedido de PCB.
Ao projetar seus circuitos e PCBs, você também pode tornar seus circuitos e projetos de PCB públicos para que outros usuários possam copiá-los ou editá-los e possam tirar proveito de seu trabalho. Também tornamos públicos todos os nossos circuitos e layouts de PCB para este circuito, verifique o link abaixo:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Você pode visualizar qualquer camada (superior, inferior, superior, inferior, etc.) do PCB selecionando a camada da janela 'Camadas'. Recentemente, eles também introduziram uma opção de visualização 3D para que você também possa visualizar a PCB de medição de tensão multicell, sobre como ficará após a fabricação usando o botão Visualização 3D no EasyEDA:
Cálculo e pedido de amostras online
Depois de concluir o design deste circuito de medição de tensão de célula de lítio, você pode solicitar o PCB em JLCPCB.com. Para solicitar o PCB do JLCPCB, você precisa do Arquivo Gerber. Para baixar os arquivos Gerber de seu PCB, basta clicar no botão Gerar Arquivo de Fabricação na página do editor EasyEDA, depois baixar o arquivo Gerber de lá ou clicar em Pedido no JLCPCB, conforme mostrado na imagem abaixo. Isso o redirecionará para JLCPCB.com, onde você pode selecionar o número de PCBs que deseja solicitar, quantas camadas de cobre você precisa, a espessura do PCB, o peso do cobre e até mesmo a cor do PCB, como o instantâneo mostrado abaixo:
Após clicar no botão pedido no JLCPCB, você será levado ao site da JLCPCB, onde poderá solicitar qualquer PCB em cores com uma taxa muito baixa, que é $ 2 para todas as cores. Seu tempo de construção também é muito menor, que é de 48 horas com entrega DHL de 3-5 dias, basicamente você receberá seus PCBs dentro de uma semana após o pedido. Além disso, eles também estão oferecendo um desconto de $ 20 no frete de seu primeiro pedido.
Após fazer o pedido do PCB, você pode verificar o andamento da produção de seu PCB com data e hora. Você verifica indo na página da conta e clica no link "Progresso da Produção" sob o PCB como, mostrado na imagem abaixo.
Depois de alguns dias pedindo PCBs, recebi as amostras de PCB em uma bela embalagem, conforme mostrado nas fotos abaixo.
Depois de se certificar de que as pegadas e pegadas estavam corretas. Prossegui com a montagem do PCB, usei cabeçalhos fêmeas para colocar o Arduino Nano e o LCD para que eu possa removê-los mais tarde se precisar deles para outros projetos. A placa completamente soldada tem a seguinte aparência abaixo
Testando o circuito de monitoramento de tensão
Após soldar todos os componentes, basta conectar a bateria ao conector H1 na placa. Usei cabos de conexão para garantir que não altere a conexão acidentalmente no futuro. Tenha muito cuidado para não conectá-lo da maneira errada, pois isso poderia causar um curto-circuito e danificar as baterias ou o circuito permanentemente. Meu PCB com a bateria que usei para teste é mostrado abaixo.
Agora use o multímetro no terminal H2 para medir as tensões de venda individuais. O terminal é marcado com números para identificar a tensão da célula que está sendo medida. Com aqui podemos concluir que o circuito está funcionando. Mas para torná-lo mais interessante, vamos conectar um LCD e usar um Arduino para medir esses valores de tensão e exibi-los na tela LCD.
Medindo a voltagem da célula de lítio usando Arduino
O circuito para conectar o Arduino ao nosso PCB é mostrado abaixo. Mostra como conectar o Arduino Nano ao LCD.
O pino do cabeçalho H2 no PCB deve ser conectado aos pinos analógicos da placa Arduino conforme mostrado acima. Os pinos analógicos A1 a A4 são usados para medir as quatro tensões das células, respectivamente, enquanto o pino A0 é conectado ao pino v 'do conector P1. Este pino v 'pode ser usado para medir a tensão total da embalagem. Também conectamos o 1º pino de P1 ao pino Vin do Arduino e o 3º pino de P1 ao pino de aterramento do Arduino para alimentar o Arduino com a bateria.
Podemos escrever um programa para medir todas as quatro voltagens de células e a voltagem do pacote de bateria e exibi-lo no LCD. Para torná-lo mais interessante, também adicionei todas as quatro tensões de célula e comparei o valor com a tensão medida do pacote para verificar o quão perto estamos realmente medindo a tensão.
Programando o Arduino
O programa completo pode ser encontrado no final desta página. O programa é muito simples, simplesmente usamos a função de leitura analógica para ler as tensões das células usando o módulo ADC e exibir o valor de tensão calculado no LCD usando a biblioteca LCD.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Mede a tensão da 1ª célula lcd.print ("C1:"); lcd.print (Cell_1);
No trecho acima, medimos a tensão da célula 1 e a multiplicamos por 5/1023 para converter o valor ADC de 0 a 1023 para 0 a 5V real. Em seguida, exibimos o valor de tensão calculado no LCD. Da mesma forma, fazemos isso para todas as quatro células e também para a bateria total. Também usamos a tensão total variável para somar todas as tensões das células e exibi-las no LCD como mostrado abaixo.
float Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Soma todos os quatro valores de tensão medidos lcd.print ("Total:"); lcd.print (Total_Voltage);
Funcionamento de exibição de tensão de célula individual
Quando estiver pronto com o circuito e o código, faça upload do código para a placa Arduino e conecte o banco de energia ao PCB. O LCD agora deve exibir a tensão de célula individual de todas as quatro células, como mostrado abaixo.
Como você pode ver, a tensão exibida para as células 1 a 4 é 3,78 V, 3,78 V, 3,82 V e 3,84 V respectivamente. Então usei meu multímetro para verificar a voltagem real dessas células, que acabou sendo um pouco diferente, a diferença está tabulada abaixo.
Tensão Medida |
Tensão Real |
3,78 V |
3,78 V |
3,78 V |
3,78 V |
3,82 V |
3,81 V |
3,84 V |
3,82 V |
Como você pode ver, obtivemos resultados precisos para as células um e dois, mas há um erro de até 200mV para as células 3 e 4. Isso é mais provável de ser esperado em nosso projeto. Como estamos usando um circuito diferenciador de amplificador operacional, a precisão da tensão medida diminuirá à medida que o número de células aumentar.
Mas esse erro é um erro corrigido e pode ser corrigido no programa, fazendo leituras de amostra e adicionando um multiplicador para corrigir o erro. Na próxima tela LCD, você também pode ver a soma da tensão medida e a tensão real do pacote que foi medida por meio do divisor de potencial. O mesmo é mostrado abaixo.
A soma das tensões medidas é 15,21 V e a tensão real medida através do pino A0 do Arduino acaba sendo 15,22 V. Portanto, a diferença é de 100mV, o que não é ruim. Embora esse tipo de circuito possa ser usado para um menor número de borras, como em bancos de energia ou baterias de laptop. O BMS de veículo elétrico usa tipos especiais de ICs como o LTC2943 porque mesmo um erro de 100mV não é tolerável. No entanto, aprendemos como fazê-lo para circuitos de pequena escala, onde o preço é uma restrição.
O funcionamento completo da configuração pode ser encontrado no vídeo no link abaixo. Espero que você tenha gostado do projeto e aprendido algo útil com ele. Se você tiver alguma dúvida, deixe-a na seção de comentários ou use os fóruns para respostas mais rápidas.