
Índice:
- Etapa 1: Mudança do Projeto Base
- Etapa 2: V0.2 do Conselho
- Etapa 3: placa de ensaio: controlador de exibição de caracteres I2c expandido
- Etapa 4: placa de ensaio: exibição de caracteres com I2c integrado
- Etapa 5: Realização
- Etapa 6: Extensibilidade
- Etapa 7: Lista de peças
- Etapa 8: Placa: Reiniciar, Botão Gnd E para selecionar a bateria
- Etapa 9: Placa: I2c e pinos da fonte de alimentação
- Etapa 10: Placa: Termistor e medição de tensão
- Etapa 11: Placa: Resistor para medição de tensão
- Etapa 12: Etapa de soldagem: todos os pinos
- Etapa 13: Etapas de soldagem: Resistor Pulldown e termistor
- Etapa 14: Etapas de soldagem: MOSFET, resistência para verificar a tensão
- Etapa 15: Código
- Etapa 16: Resultado após a montagem
- Etapa 17: Primeiro selecione o tipo de bateria
- Etapa 18: Comece a descarregar
- Etapa 19: Exceções: Bateria removida
- Etapa 20: Exceções: Alerta de temperatura
- Etapa 21: Teste de Amperagem
- Etapa 22: Pacote
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03



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

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

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

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


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

Na parte esquerda dos pinos você pode encontrar o botão e a campainha.
Eu uso 3 botões:
- um para alterar o tipo de bateria;
- um para iniciar o descarregamento da bateria selecionada;
- 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

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

À 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


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


Para começar, adiciono todos os pinos e solda-os.
Etapa 13: 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


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:
- Wire: biblioteca arduino padrão para protocolo i2c;
- Biblioteca Termistor daqui não a biblioteca que você pode encontrar no IDE do arduino, mas minha versão;
- 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




A placa base está na foto, então podemos testá-la.
Etapa 17: 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


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



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



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

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:
Menu de exibição OLED do Arduino com opção de seleção: 8 etapas

Menu de exibição OLED do Arduino com opção de seleção: Neste tutorial, aprenderemos como fazer um menu com uma opção de seleção usando exibição OLED e Visuino. Assistir ao vídeo
Verificador de temperatura do ar de bolso DIY: 6 etapas

DIY Pocket Air Temperature Checker: Usaremos um visor Nokia 5110, módulo de temperatura digital e um Arduino Uno para fazer isso. Um conector de 9 V com fios, não um barril, também é necessário, junto com uma chave e fios. Pode ser necessário um ferro de solda, mas você também pode apenas torcer os fios
Robô de seleção e colocação baseado em RFID: 4 etapas

Robô pick and place baseado em RFID: Há muitos anos as pessoas tentam substituir o trabalho humano por máquinas. As máquinas chamadas robôs são mais rápidas e eficazes do que as pessoas. O termo robótica é praticamente definido como o estudo, projeto e uso de sistemas robóticos para manufatura. Robôs são g
Verificador RPM para Mini Motor Dc: 11 etapas (com imagens)

RPM Checker para Mini Motor Dc: Revolução por minuto, resumidamente é uma velocidade de rotação expressa em rotações minuto. as ferramentas para medir RPM geralmente usam tacômetro. Ano passado achei interessante o projeto feito pela electro18, e é minha inspiração instrutível, ele ficou louco
Caixa de seleção AV: 4 etapas (com imagens)

AV Selector Box: Tenho um DVD player, um vídeo VHS e uma câmera de vídeo mini-DV. Eu gravo do mini-DV para o meu PC, também estou gravando VHS para digital de forma semelhante. Às vezes, levo áudio e vídeo do DVD para o PC. Costumava alimentar o vídeo composto para o gráfico do meu PC