Índice:

Verificador de bateria com temperatura e seleção de bateria: 23 etapas (com imagens)
Verificador de bateria com temperatura e seleção de bateria: 23 etapas (com imagens)

Vídeo: Verificador de bateria com temperatura e seleção de bateria: 23 etapas (com imagens)

Vídeo: Verificador de bateria com temperatura e seleção de bateria: 23 etapas (com imagens)
Vídeo: Acidente de trabalho em máquina 2024, Novembro
Anonim
Image
Image
Mudança do Projeto Base
Mudança do Projeto Base

Testador de capacidade da bateria.

Com este dispositivo você pode verificar a capacidade da bateria 18650, ácido e outros (a maior bateria que testei é uma bateria de ácido 6v 4, 2A). O resultado do teste é em miliamperes / hora.

Eu crio este dispositivo porque preciso dele para verificar a capacidade da bateria chinesa falsa.

Por segurança, acrescentei, usando um termistor, a temperatura da resistência de energia e bateria para evitar que esquente demais, com esse truque posso verificar a bateria de ácido 6v sem disparar a placa (no ciclo de descarregar algum tempo vá para resistor de energia quente e o aparelho aguarda 20 segundos para reduzir a temperatura).

Eu seleciono o pequeno micro controlador atmega328 compatível com nano (eBay).

Todo o código está aqui.

Etapa 1: Mudança do Projeto Base

Roubei a ideia do projeto do OpenGreenEnergy e refiz o quadro para adicionar recursos, agora torne-se mais geral.

v0.1

  • O VCC do Arduino agora é calculado automaticamente;
  • Adicionada variável para alterar a configuração de uma forma mais confortável.
  • Adicionada porcentagem de descarga
  • Adicionada temperatura da bateria e resistor de energia

v0.2

  • Adicionada possibilidade de seleção de bateria
  • Criei protótipo de placa (veja o esquema), com tela, botão e alto-falante fora da placa porque no futuro gostaria de criar um pacote.
  • Adicionado gerenciamento do limite de temperatura para o resistor de potência para que eu possa bloquear o processo quando a temperatura aumentar além de 70 ° (acima desta redução de temperatura do resistor de potência).

v0.3

Em breve uma placa deste serviço

Etapa 2: V0.2 do Conselho

V0.2 do Conselho
V0.2 do Conselho

Na v0.2 para suportar vários tipos de baterias, criei uma estrutura que deve ser preenchida com o nome da bateria, tensão mínima e tensão máxima (preciso de ajuda para preencher: P).

// Estrutura da estrutura do tipo de bateria BatteryType {char name [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Agora eu uso um conjunto de resistores de 10k para o divisor de tensão para ler a temperatura dupla da entrada analógica. Se você quiser alterar o suporte de tensão, deve alterar este valor (explique melhor a seguir):

// Resistência de tensão da bateria

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Resistência de tensão do resistor de potência #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Se você não usar termistor, defina como falso:

#define USING_BATTERY_TERMISTOR true

#define USING_RESISTO_TERMISTOR verdadeiro

Se você usar um monitor i2c diferente, deverá reescrever este método:

void draw (void)

No projeto, você pode encontrar esquemas fritzing, fotos e muito mais.

Etapa 3: placa de ensaio: controlador de exibição de caracteres I2c expandido

Placa de ensaio: Controlador de exibição de caracteres I2c expandido
Placa de ensaio: Controlador de exibição de caracteres I2c expandido

Usei um display de caracteres genérico, construí o controlador i2c e o usei com minha biblioteca personalizada.

Mas se você quiser, pode pegar um controlador i2c normal (menos de 1 €) com uma biblioteca padrão, o código permanece o mesmo. Todo o código de exibição está na função de desenho, então você pode mudar isso sem mudar outras coisas.

Melhor explicado aqui.

Etapa 4: placa de ensaio: exibição de caracteres com I2c integrado

Placa de ensaio: Display de caracteres com I2c integrado
Placa de ensaio: Display de caracteres com I2c integrado

O mesmo esquema sem i2c controlado expandido.

Etapa 5: Realização

Para medir a tensão, usamos o princípio de um divisor de tensão (mais informações na Wikipedia).

Em palavras simples, este código é o fator multiplicador para medir a tensão da bateria.

batResValueGnd / (batResValueVolt + batResValueGnd)

Eu inseri as 2 resistências do valor batResValueVolt e batResValueGnd após e antes do fio de leitura analógica.

batVolt = (amostra1 / (1023,0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023,0))) * vcc;

sample1 é a média das leituras analógicas;

voltagem do Arduino de referência vcc;

1023.0 é o valor máximo de referência da leitura analógica (a leitura analógica do Arduino vai de 0 a 1023).

Para obter a amperagem, você precisa da voltagem antes e depois do resistor de potência.

Depois de medir a tensão antes e depois do resistor de potência, você pode calcular o miliampere que consome a bateria.

O MOSFET é usado para iniciar e interromper o consumo de bateria do resistor de potência.

Por segurança, inseri 2 termistores para monitorar a temperatura da bateria e do resistor de potência.

Etapa 6: Extensibilidade

Extensibilidade
Extensibilidade
Extensibilidade
Extensibilidade

Tento criar um protótipo de placa extensível, mas por enquanto uso apenas um conjunto mínimo de pinos (no futuro adicionarei leds e outros botões).

Se você deseja suporte de tensão maior que 10v, você deve alterar o valor do resistor da bateria e a resistência de acordo com a fórmula

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

no esquema Tensão de alimentação do resistor

Tensão de energia do resistor GND 1/2 / (Tensão de energia do resistor 2/2 + Tensão de energia do resistor GND 1/2)

Rosa está soldando

Etapa 7: Lista de peças

Propriedades do tipo de peça de quantidade

  • 2 Bloco de terminais de parafuso de montagem de PCB de terminal de parafuso de 5 mm 8A 250 V LW SZUS (eBay)
  • 1 clone do Arduino Pro Mini (compatível com Nano) (eBay)
  • 1 Canal P FET básico IRF744N ou IRLZ44N (eBay)
  • 11 10kΩ Resistor resistor 10kΩ (eBay)
  • 2 Sensor de temperatura (termistor) 10kΩ; (eBay)
  • * Formulário de cabeçalho masculino genérico ♂ (masculino); (eBay)
  • * Formulário de cabeçalho feminino genérico ♀ (feminino); (eBay)
  • 1 Placa PerfBoard Prototype board 24x18 (eBay)
  • 10R, 10W

    resistor de potência (eBay) Encontro o meu em uma velha TV CRT.

Etapa 8: Placa: Reiniciar, Botão Gnd E para selecionar a bateria

Placa: Reiniciar, Botão Gnd E para selecionar a bateria
Placa: Reiniciar, Botão Gnd E para selecionar a bateria

Na parte esquerda dos pinos você pode encontrar o botão e a campainha.

Eu uso 3 botões:

  1. um para alterar o tipo de bateria;
  2. um para iniciar o descarregamento da bateria selecionada;
  3. em seguida, uso o pino de redefinição para reiniciar tudo e ativar a nova operação.

Todos os pinos já estão puxados para baixo, então você deve ativar com VCC

O reset é ativado com GND

Rosa está soldando

Etapa 9: Placa: I2c e pinos da fonte de alimentação

Placa: I2c e pinos da fonte de alimentação
Placa: I2c e pinos da fonte de alimentação

Para a base, você pode ver o VCC, GND e SDA, SCL para exibição (e outros no futuro).

Rosa está soldando

Etapa 10: Placa: Termistor e medição de tensão

Placa: Termistor e tensão de medição
Placa: Termistor e tensão de medição

À direita, há pinos para ler o valor do termistor, um para resistor de energia ou termistor e outro para (pinos macho / fêmea para conectar) termistor de bateria.

Depois, há pinos analógicos que medem a tensão diferencial antes e depois do resistor de potência.

Rosa está soldando

Etapa 11: Placa: Resistor para medição de tensão

Placa: Resistor para medição de tensão
Placa: Resistor para medição de tensão
Placa: Resistor para medição de tensão
Placa: Resistor para medição de tensão

Aqui você pode ver o resistor que permite suportar tensão dupla do que o pino arduino (10v), você deve alterar isso para suportar mais tensão.

Rosa está soldando

Etapa 12: Etapa de soldagem: todos os pinos

Etapa de soldagem: todos os pinos
Etapa de soldagem: todos os pinos
Etapa de soldagem: todos os pinos
Etapa de soldagem: todos os pinos

Para começar, adiciono todos os pinos e solda-os.

Etapa 13: Etapas de soldagem: Resistor Pulldown e termistor

Etapas de soldagem: Resistor Pulldown e termistor
Etapas de soldagem: Resistor Pulldown e termistor
Etapas de soldagem: Resistor Pulldown e termistor
Etapas de soldagem: Resistor Pulldown e termistor

Em seguida, adiciono todos os resitor suspensos (para botões) e o conector i2c (tela).

Em seguida, o termistor do resistor de potência é muito importante, com a bateria de ácido ficando muito quente.

Etapa 14: Etapas de soldagem: MOSFET, resistência para verificar a tensão

Etapas de soldagem: MOSFET, resistência para verificar a tensão
Etapas de soldagem: MOSFET, resistência para verificar a tensão
Etapas de soldagem: MOSFET, resistência para verificar a tensão
Etapas de soldagem: MOSFET, resistência para verificar a tensão

Agora devemos inserir mosfet para ativar a descarga e a resistência para verificar a tensão.

2 resistência para tensão antes do resistor de potência 2 resistência para tensão depois do resistor de potência, quando você tem essa tensão, pode calcular o consumo de miliamperes.

Etapa 15: Código

O microcontrolador é compatível com nano, então você deve configurar seu IDE para carregar um Arduino Nano.

Para funcionar, você deve baixar o código do meu repositório github.

Do que você deve adicionar 3 biblioteca:

  1. Wire: biblioteca arduino padrão para protocolo i2c;
  2. Biblioteca Termistor daqui não a biblioteca que você pode encontrar no IDE do arduino, mas minha versão;
  3. LiquidCrystal_i2c: se você usar a versão estendida / customizada do adaptador i2c (minha versão), você deve baixar a biblioteca aqui, se você usar o componente padrão, pode obter a biblioteca do IDE do arduino, mas tudo é melhor explicado aqui.

Não testo LCD com biblioteca padrão, parece-me que são intercambiáveis, mas se houver algum problema não hesite em contactar-me.

Etapa 16: Resultado após a montagem

Image
Image
Resultado após a montagem
Resultado após a montagem
Resultado após a montagem
Resultado após a montagem

A placa base está na foto, então podemos testá-la.

Etapa 17: Primeiro selecione o tipo de bateria

Primeiro selecione o tipo de bateria
Primeiro selecione o tipo de bateria

Conforme descrito temos um mapa de valor com configuração de bateria.

// Estrutura da estrutura do tipo de bateria BatteryType {char name [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Etapa 18: Comece a descarregar

Comece a descarregar
Comece a descarregar
Comece a descarregar
Comece a descarregar

Clique no segundo botão para iniciar a descarga.

No display você pode ver os miliamperes atuais, miliamperes / horas, porcentagem de descarga, tensão da bateria e temperatura do resistor de potência e da bateria.

Etapa 19: Exceções: Bateria removida

Image
Image
Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura

Se você remover o processo de descarregamento da bateria vai pausar, quando você reinseri-lo reinicie no último valor.

Etapa 20: Exceções: Alerta de temperatura

Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura
Exceções: Alerta de Temperatura

Se a temperatura (bateria ou resistor de energia) subir muito, o processo de descarga vai para uma pausa.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° na folha de dados (resistores de derating) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

O valor padrão para a temperatura máxima é 50 ° para bateria e 69 para resistor de potência.

Como você pode ver no comentário, o resistor de potência é afetado pela redução quando ultrapassa 70 °.

Se o alerta for disparado, inicie TEMP_TO_REMOVE_ON_MAX_TEMP segundos de pausa para colocar temperatura baixa.

Etapa 21: Teste de Amperagem

Amperagem de Teste
Amperagem de Teste

O resultado do teste de amperagem é bom.

Etapa 22: Pacote

Com componente separado, o resultado da embalagem é simples de realizar.

Em uma caixa deve fazer um retângulo para LCD, os orifícios para botões de pressão e um barril fêmea externo para fornecer a tensão da fonte de alimentação.

O botão não precisa do resistor pull-down porque eu já o adicionei a bordo.

Quando tenho algum tempo, crio e posto.

Recomendado: