Taula de continguts:

Comprovador de bateries amb selecció de temperatura i bateria: 23 passos (amb imatges)
Comprovador de bateries amb selecció de temperatura i bateria: 23 passos (amb imatges)

Vídeo: Comprovador de bateries amb selecció de temperatura i bateria: 23 passos (amb imatges)

Vídeo: Comprovador de bateries amb selecció de temperatura i bateria: 23 passos (amb imatges)
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juliol
Anonim
Image
Image
Canvi del projecte base
Canvi del projecte base

Comprobador de capacitat de la bateria.

Amb aquest dispositiu podeu comprovar la capacitat de la bateria 18650, l'àcid i altres (la bateria més gran que he provat És la bateria àcid 6v 4, 2A). El resultat de la prova és en miliamperis / hores.

Crec aquest dispositiu perquè el necessito per comprovar la capacitat de la bateria de porcellana falsa.

Per seguretat, he afegit, mitjançant un termistor, la temperatura de la resistència de potència i de la bateria per evitar que s’escali massa, amb aquest truc puc comprovar la bateria d’àcid de 6v sense disparar la placa (en el cicle de descàrrega un temps, aneu a la resistència de potència calenta) i el dispositiu espera 20 segons per reduir la temperatura).

Selecciono un petit microcontrolador compatible nano (eBay) compatible amb atmega328.

Tot el codi és aquí.

Pas 1: canvieu del projecte base

Vaig robar la idea del projecte d'OpenGreenEnergy i vaig refer el tauler per afegir funcions, de manera que ara em generalitzo.

v0.1

  • VCC d'Arduino ara es calcula automàticament;
  • S'ha afegit una variable per canviar la configuració d'una manera més còmoda.
  • S'ha afegit el percentatge de descàrrega
  • Temperatura de la bateria i resistència de potència afegits

v0.2

  • Possibilitat afegida de selecció de bateries
  • S'ha creat un prototip de tauler (mireu l'esquema), amb la pantalla, el botó i l'altaveu fora del tauler, perquè en el futur m'agradaria crear un paquet.
  • S'ha afegit la gestió del límit de temperatura a la resistència de potència per poder bloquejar el procés quan la temperatura augmenta més enllà de 70 ° (per sobre de la disminució de la resistència de potència de temperatura).

v0.3

Properament un tauler d’aquest servei

Pas 2: V0.2 de la Junta

V0.2 del Consell
V0.2 del Consell

A la v0.2 per donar suport a diversos tipus de bateries, he creat una estructura que s’ha d’omplir amb el nom de la bateria, la tensió mínima i la tensió màxima (necessito ajuda per omplir-la: P).

// Estructura de la bateria typestruct BatteryType {nom del caràcter [10]; float maxVolt; flotador 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 }};

Ara faig servir un conjunt de resistències de 10 k per al divisor de tensió per llegir la temperatura doble de l'entrada analògica. Si voleu canviar la tensió, heu de canviar aquest valor (expliqueu-ho millor a continuació):

// Resistència a la tensió de la bateria

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Resistència de tensió de resistència de potència #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Si no feu servir el termistor, configureu-lo en false:

#define USING_BATTERY_TERMISTOR true

#define USING_RESISTO_TERMISTOR true

Si utilitzeu una pantalla i2c diferent, heu de tornar a escriure aquest mètode:

sorteig buit (buit)

Al projecte, podeu trobar esquemes divertits, fotos i molt més.

Pas 3: Taula de pa: S'ha ampliat el controlador de visualització de caràcters I2c

Taula de pa: controlador de visualització de caràcters I2c ampliat
Taula de pa: controlador de visualització de caràcters I2c ampliat

Vaig utilitzar una pantalla de caràcters genèrica i vaig construir el controlador i2c i el vaig fer servir amb la meva biblioteca personalitzada.

Però si voleu, podeu agafar un controlador i2c normal (inferior a 1 €) amb una biblioteca estàndard, el codi continua sent el mateix. Tot el codi de visualització està en funció de dibuix, de manera que podeu canviar-lo sense canviar altres coses.

Millor explicat aquí.

Pas 4: Taula de pa: pantalla de caràcters amb I2c integrat

Taula de pa: pantalla de caràcters amb I2c integrat
Taula de pa: pantalla de caràcters amb I2c integrat

El mateix esquema sense control de i2c expandit.

Pas 5: realització

Per mesurar la tensió utilitzem el principi d’un divisor de tensió (més informació a Viquipèdia).

En paraules simples, aquest codi és el factor multiplicador per mesurar el voltatge de la bateria.

batResValueGnd / (batResValueVolt + batResValueGnd)

He inserit les 2 resistències del valor batResValueVolt i batResValueGnd després i abans del cable de lectura analògic.

batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

sample1 és la mitjana de lectures analògiques;

tensió Arduino de referència vcc;

1023.0 és el valor màxim de referència de la lectura analògica (la lectura analògica Arduino va de 0 a 1023).

Per obtenir l’amperatge cal tenir tensió després i abans de la resistència de potència.

Quan tingueu la mesura de la tensió després i abans de la resistència de potència, podeu calcular el miliamperi que consumeix la bateria.

El MOSFET s’utilitza per arrencar i aturar el desgast de la bateria de la resistència d’alimentació.

Per seguretat, he inserit 2 termistors per controlar la temperatura de la bateria i la resistència de potència.

Pas 6: Extensibilitat

Extensibilitat
Extensibilitat
Extensibilitat
Extensibilitat

Intento crear un prototip de placa extensible, però ara per ara només faig servir un conjunt mínim de pins (en el futur afegiré leds i altres botons).

Si voleu tenir una tensió de suport superior a 10v, heu de canviar el valor de la resistència de la bateria i la resistència segons la fórmula

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

a l'esquema Tensió de potència de la resistència

Tensió de potència de la resistència GND 1/2 / (Tensió de potència de la resistència 2/2 + Tensió de potència de la resistència GND 1/2)

El rosa s’està soldant

Pas 7: llista de parts

Propietats del tipus de peça d’import

  • 2 borns de cargol de 5 mm Terminais de cargol bloc de borns 8A 250V LW SZUS (eBay)
  • 1 clon Arduino Pro Mini (Nano compatible) (eBay)
  • 1 canal FET bàsic IRF744N o IRLZ44N (eBay)
  • 11 10kΩ Resistència de resistència 10kΩ (eBay)
  • 2 sensor de temperatura (termistor) 10kΩ; (eBay)
  • * Forma genèrica de capçalera masculina ♂ (masculina); (eBay)
  • * Forma genèrica de capçalera femenina ♀ (femení); (eBay)
  • 1 tauler de prototip de tauler PerfBoard 24x18 (eBay)
  • 10R, 10W

    resistència de potència (eBay) Trobo la meva en un vell televisor CRT.

Pas 8: Tauler: Restableix, botó Gnd E per seleccionar la bateria

Tauler: Restableix, botó Gnd E per seleccionar la bateria
Tauler: Restableix, botó Gnd E per seleccionar la bateria

A la part esquerra dels pins hi trobareu el botó i el timbre.

Faig servir 3 botons:

  1. un per canviar el tipus de bateria;
  2. un per començar a descarregar la bateria seleccionada;
  3. després faig servir el pin de reinici per reiniciar-ho tot i activo la nova operació.

Tot el pin ja està tirat cap avall, de manera que heu d'activar-lo amb VCC

El restabliment s'activa amb GND

El rosa s’està soldant

Pas 9: Tauler: pins I2c i font d'alimentació

Placa: I2c i pins d'alimentació
Placa: I2c i pins d'alimentació

A la base podeu veure VCC, GND i SDA, SCL per mostrar (i altres en el futur).

El rosa s’està soldant

Pas 10: Tauler: termistor i tensió de mesura

Placa: termistor i tensió de mesura
Placa: termistor i tensió de mesura

A la dreta hi ha pins per llegir el valor del termistor, un per al termistor de resistència de potència i l’altre per al termistor de la bateria (pins masculins / femenins per connectar).

Després hi ha pins analògics que mesuren la tensió diferencial després i abans de la resistència de potència.

El rosa s’està soldant

Pas 11: Tauler: resistència a la tensió de mesura

Tauler: resistència a la mesura de la tensió
Tauler: resistència a la mesura de la tensió
Tauler: resistència a la mesura de la tensió
Tauler: resistència a la mesura de la tensió

Aquí podeu veure la resistència que permet suportar el voltatge doble que el pin arduino (10v), heu de canviar-lo per suportar més tensió.

El rosa s’està soldant

Pas 12: Pas de soldadura: tots els pins

Pas de soldadura: tots els pins
Pas de soldadura: tots els pins
Pas de soldadura: tots els pins
Pas de soldadura: tots els pins

Per primer, afegeixo tots els pins i ho soldo.

Pas 13: Passos de soldadura: resistència i termistor de desplaçament

Passos de soldadura: resistència i termistor de desplaçament
Passos de soldadura: resistència i termistor de desplaçament
Passos de soldadura: resistència i termistor de desplaçament
Passos de soldadura: resistència i termistor de desplaçament

A continuació, afegeixo tot el restaurador de desplegable (per als botons) i el connector i2c (pantalla).

A continuació, el termistor de la resistència de potència és molt important, ja que la bateria àcida s’escalfa massa.

Pas 14: Passos de soldadura: MOSFET, resistència a la tensió de control

Passos de soldadura: MOSFET, resistència a la tensió de control
Passos de soldadura: MOSFET, resistència a la tensió de control
Passos de soldadura: MOSFET, resistència a la tensió de control
Passos de soldadura: MOSFET, resistència a la tensió de control

Ara hem d’inserir mosfet per activar la descàrrega i la resistència per comprovar la tensió.

2 resistències per a la tensió abans de la resistència de potència 2 resistències per a la tensió després de la resistència de potència, quan tingueu aquesta tensió, podeu calcular el consum de miliamperis.

Pas 15: Codi

El microcontrolador és nano compatible, de manera que heu de configurar el vostre IDE per carregar un Arduino Nano.

Per treballar, heu de descarregar el codi del meu repositori de github.

Cal afegir 3 llibreries:

  1. Cable: biblioteca arduino estàndard per al protocol i2c;
  2. La biblioteca Termistor d’aquí no és la biblioteca que podeu trobar a l’IDE arduino, sinó la meva versió;
  3. LiquidCrystal_i2c: si utilitzeu una versió ampliada / personalitzada de l'adaptador i2c (la meva versió), heu de descarregar la biblioteca des d'aquí, si utilitzeu el component estàndard, podeu agafar la biblioteca de l'IDE arduino, però tot s'explica millor aquí.

No provo LCD amb una biblioteca estàndard, em sembla que són intercanviables, però si hi ha algun problema, no dubteu a posar-vos en contacte amb mi.

Pas 16: Resultat després del muntatge

Image
Image
Resultat després del muntatge
Resultat després del muntatge
Resultat després del muntatge
Resultat després del muntatge

El tauler base és a la foto, i després el podem provar.

Pas 17: primer seleccioneu el tipus de bateria

Primer seleccioneu el tipus de bateria
Primer seleccioneu el tipus de bateria

Com es descriu, tenim un mapa de valor amb configuració de la bateria.

// Estructura de la bateria typestruct BatteryType {nom del caràcter [10]; float maxVolt; flotador 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 }};

Pas 18: comenceu la descàrrega

Comenceu a descarregar
Comenceu a descarregar
Comenceu a descarregar
Comenceu a descarregar

Feu clic al segon botó per iniciar la descàrrega.

A la pantalla es pot veure el miliamperi actual, el miliamperi / hores, el percentatge de descàrrega, el voltatge de la bateria i la temperatura de la resistència de potència i de la bateria.

Pas 19: excepcions: s'ha eliminat la bateria

Image
Image
Excepcions: alerta de temperatura
Excepcions: alerta de temperatura

Si elimineu el procés de descàrrega de la bateria, es posarà en pausa, quan torneu a inserir-lo, reinicieu el darrer valor.

Pas 20: excepcions: alerta de temperatura

Excepcions: alerta de temperatura
Excepcions: alerta de temperatura
Excepcions: alerta de temperatura
Excepcions: alerta de temperatura
Excepcions: alerta de temperatura
Excepcions: alerta de temperatura

Si la temperatura (bateria o resistència de potència) s’escalfa, el procés de descàrrega es posarà en pausa.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° a la fitxa tècnica (Resistències de reducció) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

El valor per defecte per a la temperatura màxima és de 50 ° per a la bateria i 69 per a la resistència de potència.

Com es pot veure en el comentari, la resistència de potència es veu afectada per la reducció en superar els 70 °.

Si s’alerta l’alerta, comenceu TEMP_TO_REMOVE_ON_MAX_TEMP segons de pausa per posar la temperatura baixa.

Pas 21: proveu l'amperatge

Amperatge de prova
Amperatge de prova

El resultat de la prova d’amperatge és bo.

Pas 22: paquet

Amb un component separat, el resultat del paquet és senzill de realitzar.

En una caixa s'ha de fer un rectangle per a LCD, els forats per als botons i un barril femení extern per subministrar tensió a la font d'alimentació.

El polsador no necessita resistència desplegable perquè l'afegeixo ja a bord.

Quan tinc una mica de temps el creo i el publico.

Recomanat: