Tabla de contenido:
- Paso 1: Obtenga los componentes
- Paso 2: Resistencias de soldadura, transistores y MOSFET
- Paso 3: Suelde en los encabezados y el zócalo DIP
- Paso 4: Soldar componentes básicos
- Paso 5: Suelde la temperatura Dallas DS18B20
- Paso 6: soldar en el diodo
- Paso 7: pruebe y ajuste el contraste de la pantalla LCD / puentes seriales
- Paso 8: ventilador PWM
- Paso 9: Probar los MOSFET
- Paso 10: Obtenga las series del sensor de temperatura Dallas DS18B20
- Paso 11: Instale y pruebe los módulos de carga TP5100
- Paso 12: Taladre los orificios de paso del sensor de temperatura DS18B20
- Paso 13: Monte las resistencias de descarga
- Paso 14: suelde los componentes finales
- Paso 15: monte todo el hardware
- Paso 16: Cargue el Arduino Nano Sketch
- Paso 17: Cargue el boceto ESP8266
- Paso 18: Configure su cuenta de portal de batería de Vortex It
- Paso 19: Opcional: haga un gabinete impreso en 3D
- Paso 20: Comience a probar 18650 celdas
Video: Cargador / descargador inteligente Arduino Nano 4x 18650: 20 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este es mi proyecto de código abierto de cargador / descargador inteligente Arduino Nano 4x 18650.
Esta unidad está alimentada por 12V 5A. Puede ser alimentado por una fuente de alimentación de computadora.
Enlaces
Portal de la batería:
Lista de piezas:
Esquema:
Archivos de PCB Gerber:
Código fuente:
Grupo de Facebook:
Foro:
Consulte la página de estadísticas de mi base de datos de todas las baterías procesadas actualmente:
Donar:
La historia
Quería hacer un cargador inteligente de Arduino, un comprobador de batería descargador que pudiera tener un escáner de código de barras que escaneara códigos de barras en las baterías e ingresara todos los datos en un portal de base de datos en línea. Esto me permitiría clasificar y analizar correctamente las tendencias en todas mis baterías de litio recuperadas.
Versión 1: Originalmente comencé usando una PCB de una cara fresada con mi CNC. Esta unidad solo tenía una celda y podía cargar, descargar y probar mili ohmios.
Versión 2.2: Pasé a usar PCB más pequeños que estaban grabados y luego tenía dos módulos de celda en un Arduino UNO.
Versión 3.2: Usé los mismos PCB más pequeños, pero usé un Arduino Mega y lo monté todo en un soporte acrílico. Originalmente había planeado tener 16 módulos, pero terminé usando solo módulos de 8 celdas, ya que necesitaría usar multiplexores de señal analógica y el cableado ya estaba muy desordenado.
Cargador / Descargador Arduino Mega 8x 1.1: Diseñé una PCB en EDA fácil para un Cargador / Descargador Arduino Mega 8x. Tiene una pantalla LCD de 20x4, codificador rotatorio, lector de tarjetas SD (nunca usado), Ethernet, host USB para escanear un código de barras directamente en el Arduino.
Cargador / Descargador Arduino Mega 8x 1.2+: Más tarde hice algunos pequeños cambios y agregué un Adaptador ESP8266 para comunicación WIFI.
Arduino Nano 4x 18650 Smart Charger / Discharger 1.0: comencé a diseñar una versión 4x para que sea mucho más barata y fácil de construir. Esta versión no tiene un escáner de código de barras, pero se comunica con el portal de baterías de Vortex IT para enviar y recibir datos a través de Internet.
Arduino Nano 4x 18650 Smart Charger / Discharger 1.1: Esto tiene algunas pequeñas modificaciones de la Versión 1.0 ya que tenía algunos pequeños errores en el diseño y esta versión fue lanzada al público.
Paso 1: Obtenga los componentes
Archivos de PCB Gerber
Archivos de PCB Gerber:
Componentes principales
- Arduino Nano 3.0 ATmega328P x1 AliExpresseBay
- Adaptador Arduino ESP8266 x1 AliExpresseBay
- ESP8266 ESP-01 x1 AliExpresseBay
- LCD 1602 16x2 Serie x1 AliExpresseBay
- Soporte de batería 4 x 18650 x1 AliExpresseBay
- Módulo TP5100 x4 AliExpresseBay
- CD74HC4067 Módulo x1 AliExpresseBay
- 74HC595N DIP16 x1 AliExpresseBay
- DIP16 Zócalo x1 AliExpresseBay
- Sensor de temperatura DS18B20 x5 AliExpresseBay
- Interruptor táctil 6MM x1 AliExpresseBay
- Conector KF301-2P 5.08mm x4 AliExpresseBay
- Conector de CC 5,5 x 2,1 mm x1 AliExpresseBay
- Resistencia Película de carbono 3.3ohm 5W x4 AliExpresseBay
- Pies de goma cónicos 14x8mm x8 AliExpresseBay
- Arandelas aislantes 3x7x0.8mm x16 AliExpresseBay
- Tornillo hexagonal de acero inoxidable 304 de cabeza plana M3 x 12 mm x20 AliExpresseBay
- M3 304 Tuercas hexagonales de acero inoxidable 304 x4 AliExpresseBay
- Separador M3 18 mm Latón F-F x4 AliExpresseBay
- Separador M3 35 mm latón F-F x4 AliExpresseBay
- Cabecera Hembra 2.54mm 1x4 x1 AliExpresseBay
- Cabezales Macho 2.54mm 1x40 Pin x1 AliExpresseBay
- Cabecera Hembra Ángulo Recto 2.54mm 1x4 x1 AliExpresseBay
- USB a ESP8266 Programador ESP-01 x1 AliExpresseBay
- Zumbador activo de 5 V x1 AliExpresseBay
- Fuente de alimentación de 12 V 5 A x1 AliExpresseBay
Opción de componente THT (orificio pasante)
- 10k - 1 / 4w Resistencia THT x7 AliExpresseBay
- 4.7k - 1 / 4w Resistencia THT x1 AliExpresseBay
- 1k - 1 / 4w Resistencia THT x8 AliExpresseBay
- MOSFET de canal P FQP27P06 TO-220 x4 AliExpresseBay
- MOSFET de canal N IRLZ44N TO-220 x8 AliExpresseBay
- Transistor NPN BC547 TO-92 x4 AliExpresseBay
- Diodo IN4007 x2 AliExpresseBay
Opción de componente SMD (montaje en superficie)
- Resistencia de 10k - 1/8w SMD 0603 x7 AliExpresseBay
- 4.7k - 1 / 8w Resistencia SMD 0603 x1 AliExpresseBay
- 1k - 1 / 8w Resistencia SMD 0603 x8 AliExpresseBay
- Mosfet de canal N IRLML2502TRPBF x8 AliExpresseBay
- MOSFET de canal P AO3407 SOT-23 x4 AliExpresseBay
- Transistor NPN SOT23 BC847 x4 AliExpresseBay
- Diodo 1N4148 0603 x2 AliExpresseBay
Instrumentos
- Alambre de soldadura 60/40 0,7 mm AliExpresseBay
- Alicates diagonales AliExpresseBay
- Estación de retrabajo de soldadura SMD Youyue 8586 AliExpresseBay
- Multímetro digital UNI-T UT39A AliExpresseBay
- Pelacables AliExpresseBay
- Escáner de código de barras AliExpresseBay
- Impresora de códigos de barras AliExpresseBay
- Etiquetas de códigos de barras 30 mm x 20 mm x700 AliExpresseBay
- Pasta de soldadura MECÁNICA AliExpresseBay
- Pinzas antiestáticas AliExpresseBay
- Soporte de soldadura de tercera mano AliExpresseBay
- AMTECH NC-559-ASM Fundente de soldadura sin limpieza AliExpresseBay
- Mecha de soldadura AliExpresseBay
- Juego de destornilladores magnéticos de precisión AliExpresseBay
Para obtener una lista actualizada, visite mi sitio web:
Paso 2: Resistencias de soldadura, transistores y MOSFET
Puede soldar SMD o THT (no ambos) los componentes 1K, 4.7K, 10K, P-Channel, N-Channel y NPN
Paso 3: Suelde en los encabezados y el zócalo DIP
Suelde los dos conectores hembra de 15 pines del Nano, 16 multiplexores CD74HC4067 de 8 pines y conectores hembra de 16 pines, adaptadores ESP8266 hembra de 4 pines, LCD hembra de 4 pines y el 74HC595N Shift registra un zócalo DIP IC de 16 pines.
Nota: suelde todos los componentes en el lado de la pantalla de seda.
Paso 4: Soldar componentes básicos
Suelde e instale el conector de CC de 5,5 mm, el multiplexor Arduino Nano 328p, CD74HC4067 y el registro de desplazamiento 74HC595N.
Al soldar el Arduino Nano y el Multiplexor, recomiendo colocar primero los pines del cabezal macho en los pines del cabezal hembra y luego soldar el componente en su lugar.
Paso 5: Suelde la temperatura Dallas DS18B20
Primero coloque dos arandelas aislantes de 3 mm x 7 mm x 0,8 mm en cada sensor Dallas (esto se usa para crear un espacio fuera de la PCB para que no mida la temperatura de la PCB)
Suelde los 4 sensores Dallas en la capa superior para cada módulo de celda más el sensor ambiental en la capa inferior.
Tenga cuidado de no puentear las uniones de soldadura en las almohadillas de soldadura TO-92. Una vez soldado, mida en modo diodo en su multímetro entre cada pata de cualquier sensor Dallas (todos están conectados en paralelo)
Suelde el zumbador activo de 5 V en la capa superior donde el pin + (positivo) se enfrenta al Arduino Nano
Paso 6: soldar en el diodo
Suelde en el diodo bajo el multiplexor CD74HC4067
Es una buena práctica limpiar el fundente con alcohol isopropílico.
Paso 7: pruebe y ajuste el contraste de la pantalla LCD / puentes seriales
Contraste LCD
Conecte el LCD serial de 4 pines hembra a un macho de 4 pines -> cables de puente Dupont hembra. Asegúrate de conectarte exactamente:
GND -> GND
VCC -> 5 V
SDA -> SDA
SCL -> SCL
Cargue el Arduino Sketch desde github: ASCD_Nano_Test_LCD_Screen
Desenchufe el cable USB y use un cable de alimentación de 12 V en el conector de CC de 5,5 mm (+ centro positivo / - exterior negativo)
Ajuste el potenciómetro en el adaptador en serie en la parte posterior de la pantalla LCD CC o CW hasta que vea el texto mostrado.
Una vez que esté satisfecho con el contraste, retire los cables de puente Dupont.
Puentes en serie
Conecte 2 puentes de 2,54 mm en los pines 1-2 para la comunicación en serie del software con el ESP8266
Paso 8: ventilador PWM
Componentes
Suelde los siguientes componentes:
Conector JST 2.0 PH de 2 pines (Nota: la pantalla de seda está al revés en la PCB versión 1.11)
Condensador electrolítico 100uF 16V
Transistor NPN BD139
Diodo
Prueba
Cargue el boceto de Arduino desde github: ASCD_Nano_Test_Fan
Desenchufe el cable USB y utilice un cable de alimentación de 12 V en el conector de CC de 5,5 mm (+ centro positivo / - exterior negativo)
Conecte el ventilador de 30 mm
El ventilador debería acelerarse y luego detenerse
Paso 9: Probar los MOSFET
Prueba de MOSFET de descarga de resistencia de canal N
Cargue el boceto de Arduino desde github: ASCD_Nano_Test_Charge_Discharge_Mosfets
Desenchufe el cable USB y use un cable de alimentación de 12 V en el conector de CC de 5,5 mm (+ centro positivo / - exterior negativo)
Con la PCB orientada hacia la capa inferior, configure su multímetro en modo diodo / continuidad.
Coloque la sonda negativa en una fuente GND y la sonda positiva en el lado derecho de los conectores de las resistencias de carga del 1er módulo (como se muestra en las imágenes).
Su multímetro debería emitir un pitido durante 1 segundo y luego no emitir un pitido durante 1 segundo.
Repita esto para cada módulo.
Prueba de MOSFET de carga TP5100 de canal P
Cargue el boceto de Arduino desde github: ASCD_Nano_Test_Charge_Discharge_Mosfets (igual que el anterior, puede usar este boceto para ambas pruebas)
Desenchufe el cable USB y use un cable de alimentación de 12 V en el conector de CC de 5,5 mm (+ centro positivo / - exterior negativo)
Con la PCB orientada hacia la capa inferior, configure su multímetro en modo de voltaje CC (generalmente rango de 20 V).
Coloque la sonda negativa en una fuente GND y la sonda positiva en el 1er módulo TP5100 lado derecho + conector positivo (como se muestra en las imágenes). Su multímetro debe mostrar 12V durante 1 segundo y luego un voltaje bajo durante 1 segundo. Repita esto para cada módulo.
Paso 10: Obtenga las series del sensor de temperatura Dallas DS18B20
Cargue el boceto de Arduino desde github: ASCD_Nano_Get_DS18B20_Serials
Deje el cable USB. No conecte el ventilador ni la alimentación de 12V.
Abra el monitor serial en Arduino IDE a una velocidad de 115200 baudios.
Debería detectar / localizar dispositivos 5x.
Caliente el primer sensor de temperatura DS18B20 con la punta superior de su soldador durante un corto período de tiempo.
Nota: el número de módulo es de izquierda a derecha con la PCB hacia arriba en la capa superior
Debería imprimir "Batería detectada: 1" y luego "Sensor de batería de calentamiento: 2"
Esto pasará secuencialmente por cada 4 x módulos hasta que diga "Sensor ambiental detectado completado"
Mostrará los números de serie hexadecimales de todos los sensores de temperatura DS18B20 en la parte inferior.
Copie los números de serie 5x y luego péguelos en "Temp_Sensor_Serials.h" dentro del esquema "ASCD_Nano_1-0-0". Asegúrese de emitir la última coma (que se muestra en la imagen)
Nota: Si obtiene una lectura de temperatura de 99 grados Celsius, significa que hay un error al leer ese sensor. O la serie es incorrecta o el dispositivo está defectuoso.
Paso 11: Instale y pruebe los módulos de carga TP5100
Instalar en pc
Con un cuchillo o unas tenazas diagonales corte 20 cabezales macho individuales de 2,54 mm.
Coloque 5 conectores macho por módulo TP5100 en la capa inferior de la PCB. Recomiendo poner el lado largo hacia abajo a través del agujero.
Coloque un módulo TP5100 en cada módulo y suéldelo en su lugar. Use unas pinzas para manipular los encabezados masculinos si no se alinean.
En la capa superior de la placa de circuito impreso, suelde los conectores lo más alineados posible con la placa de circuito impreso. (Deberá colocar el soporte de la batería de plástico en la parte superior para que cuanto menos sobresalga, mejor)
Nota: asegúrese de conectar el pin de carga en el TP5100. Es el pin más cercano al VCC en GND por encima del MOSFET de canal P
Prueba
Cargue el boceto de Arduino desde github: ASCD_Nano_Test_Charge_Discharge_Mosfets (igual que el anterior, puede usar este boceto para ambas pruebas)
Desenchufe el cable USB y utilice un cable de alimentación de 12 V en el conector de CC de 5,5 mm (+ centro positivo / - exterior negativo)
Todos los módulos TP5100 deben encenderse durante 1 segundo y apagarse durante 1 segundo.
Paso 12: Taladre los orificios de paso del sensor de temperatura DS18B20
Herramientas necesarias
- Broca o trazador de 0,7 mm
- Broca de 3 mm (opcional)
- Broca de 6,5 mm a 7 mm
Taladro
Obtenga una PCB en blanco de repuesto y un soporte de batería 4x 18650
Monte el soporte de batería 4x 18650 con la marca + hacia la parte superior de la placa
Marque las posiciones de los orificios con una broca de 0,7 mm o un trazador a través del pasador central en cada uno de los sensores de temperatura TO-92 DS18B20
Retire el soporte de batería 4x 18650 y taladre un orificio de 6,5 mm a 7 mm. Recomiendo usar primero una broca más pequeña.
Pruebe el soporte de la batería 4x 18650 y vea si el sensor de temperatura DS18B20 tiene suficiente espacio libre.
Nota: No suelde el soporte de batería 4x 18650 hasta que todos los demás componentes hayan sido soldados.
Paso 13: Monte las resistencias de descarga
Encabezados de montaje y soldadura
Primero monte los encabezados. Puede utilizar el terminal de tornillo de 5,08 mm o el conector macho JST de 2,54 mm.
Nota: utilizo un poco de tachuela azul para mantener el encabezado / terminal en su lugar mientras sueldo.
Sueldelos.
Medir ohmios de resistencias (opcional)
Mida, numere y registre la resistencia de cada resistor.
Utilizo mi probador LCR-T4 para esto. Puede usar un multímetro de calidad (esto no es 100% exacto pero es una buena medida de base)
Edite el Arduino Sketch de github: ASCD_Nano_1-0-0 agregue los valores de resistencia modificados.
Monte las resistencias
En este ejemplo, estoy usando los terminales de tornillo de 5.08 mm y estoy escalonando cada resistencia de alambre enrollado. Más adelante agregaré pasos para resistencias revestidas de aluminio en un disipador de calor.
Paso 14: suelde los componentes finales
Suelde en el soporte de batería 4x 18650.
Nota: Es posible que deba recortar algunos contactos con unos alicates al ras / diagonales.
Suelde el botón pulsador de 6 mm.
Paso 15: monte todo el hardware
Adaptador Arduino ESP8266
4x Utilice separadores M2.5 M-F o F-F
8 tornillos M2.5 o 4 tornillos M2.5 y 4 tuercas M2.5 dependiendo de si utiliza separadores M-F o F-F
Utilice un conector en ángulo recto de 4 pines y 2,54 mm para conectar los conectores hembra a macho.
Nota: es posible que deba estañar el conector para obtener una buena conexión si está suelto.
LCD
4x M3 Standoff 18mm Latón F-F y 8x M3 x 12mm Tornillos para la pantalla LCD
Admirador
Solo carcasa impresa en 3D: Enrosque algunos tornillos M3 x 18 mm en los orificios para tornillos del ventilador y agregue el ventilador.
Paso 16: Cargue el Arduino Nano Sketch
Antes de cargar el boceto, verifique la salida de voltaje de 5 V del regulador de voltaje de Arduino. Hay dos puntos de sonda en la pantalla LCD.
Edite el Arduino Sketch de github: ASCD_Nano_1-0-0 Cambie esta línea en Arduino Sketch a su lectura de voltaje
const float referenceVoltage = 5.01; // Salida 5V de Arduino
También puede cambiar alguna otra configuración personalizada para sus necesidades de prueba
const float shuntResistor [4] = {3.3, 3.3, 3.3, 3.3};
const float referenceVoltage = 5.01; // Salida de 5V de Arduino const float defaultBatteryCutOffVoltage = 2.8; // Voltaje que detiene la descarga const byte restTimeMinutes = 1; // El tiempo en minutos para descansar la batería después de la carga. 0-59 son válidos const int lowMilliamps = 1000; // Este es el valor de Milli Amps que se considera bajo y no se recarga porque se considera defectuoso const int highMilliOhms = 500; // Este es el valor de Milli Ohms que se considera alto y la batería se considera defectuosa const int offsetMilliOhms = 0; // Calibración de compensación para Milli Ohms const byte chargeTimeout = 8; // El tiempo de espera en horas para cargar el byte constante tempThreshold = 7; // Umbral de advertencia en grados por encima de la temperatura inicial byte constante tempMaxThreshold = 20; // Umbral máximo en grados por encima de la temperatura inicial - Considerado defectuoso const float batteryVolatgeLeak = 0.50; // En la pantalla inicial "BATTERY CHECK" observe el voltaje más alto de cada módulo y configure este valor un poco más alto const byte moduleCount = 4; // Número de módulos const byte screenTime = 4; // Tiempo en segundos (ciclos) por pantalla activa const int deploymentReadInterval = 5000; // Intervalos de tiempo entre lecturas de descarga. Ajustar por mAh + /
Conecte el Arduino Nano a su computadora y cargue el boceto ASCD_Nano_1-0-0
Es posible que deba usar ATmega328P (antiguo cargador de arranque) como procesador en Arduino IDE
Seleccione el puerto COM correcto y cargue el boceto
Paso 17: Cargue el boceto ESP8266
Si aún no ha registrado su cuenta Vortex It - Battery Portal, vaya al siguiente paso.
Necesita instalar el complemento Arduino ESP8266 en su IDE de Arduino use esta guía:
Cambie lo siguiente en ESP8266_Wifi_Client_1-0-0 Arduino Sketch
const char ssid = ""; -> a sus enrutadores WIFI
SSID const char contraseña = ""; -> a la contraseña de su enrutador WIFI
const char userHash = ""; -> a su UserHash (obtenga esto desde "Menú Cargador / Descargador -> Ver" en el Portal de la batería Vortex It)
const byte CDUnitID =; -> a su CDUnitID (obtenga esto de "Menú Cargador / Descargador -> Ver -> Seleccione su Cargador / Descargador" en el Portal de Baterías Vortex It)
Utilice USB al programador ESP8266 ESP-01 para cargar el boceto ESP8266_Wifi_Client_01.ino al ESP8266 con el interruptor en PROG
Paso 18: Configure su cuenta de portal de batería de Vortex It
Vaya a
Si aún no se ha registrado para obtener una cuenta.
Inicie sesión con sus credenciales
En el menú, haga clic en "Cargador / Descargador" -> "Nuevo"
Seleccione de la lista desplegable "Arduino 4x C / D"
Haga clic en "Nuevo cargador / descargador"
En el menú, haga clic en "Cargador / Descargador" -> "Ver"
Seleccione de la lista desplegable "xx - Arduino 4x C / D" (donde xx es el CDUnitID)
No haga de su "UserHash" y "CDUnitID"
Haga clic en "Módulo de visualización en vivo" para ver su cargador / descargador en línea
Paso 19: Opcional: haga un gabinete impreso en 3D
Si tienes una impresora 3D puedes imprimir un gabinete que he diseñado. Siéntase libre de crear su estilo de cerramiento y compartirlo:
Fusion 360
gallery.autodesk.com/fusion360/projects/asdc-nano-4x-arduino-charger--discharger-enclosure
Thingiverse STL
www.thingiverse.com/thing:3502094
Paso 20: Comience a probar 18650 celdas
Inserte algunas baterías en los módulos de celda y vaya a la página "Módulo de visualización en vivo", escanee sus códigos de barras y estará listo.
Recomendado:
Adición de regeneración en el cargador / descargador inteligente Arduino ASCD 18650 de Brett: 3 pasos
Adición de regeneración en el cargador / descargador inteligente Arduino ASCD 18650 de Brett: la comunidad de powerwall DIY TESLA está creciendo rápidamente. El paso más importante en la construcción de un muro de energía es la agrupación de las celdas de la batería en paquetes con una capacidad total igual. Esto permite configurar los paquetes de baterías en serie y equilibrarlos fácilmente
Modifique el cargador / descargador inteligente Arduino ASCD 8x 18650 para la serie de hardware ESP8266: 4 pasos
Modifique el cargador / descargador inteligente Arduino ASCD 8x 18650 para la serie de hardware ESP8266: en la versión 2.0 de PCB y debajo, el adaptador Arduino ESP8266 tiene los pines incorrectos donde no puede usar (comunicarse) con el ESP8266 para la comunicación inalámbrica con el portal de la batería Vortex It. conecta el adaptador Arduino ESP8266 a Har
Cargador / descargador de batería profesional: 9 pasos
Cargador / descargador de batería profesional: primero debe obtener estos componentes para realizar este proyecto, así que si se siente generoso, use mis enlaces para que pueda producir mejores y más videos
Cargador inteligente basado en PC NiCd - NiMH - Descargador: 9 pasos
NiCd - Cargador inteligente basado en PC de NiMH - Descargador: cómo construir un cargador inteligente de bajo costo con excelentes características basado en PC - descargador que puede cargar cualquier paquete de baterías de NiCd o NiMH.- El circuito utiliza la fuente de alimentación de la PC o cualquier fuente de alimentación de 12V.- El circuito utiliza el método "Pendiente de temperatura", que es el
Cargador / descargador de batería de níquel-cadmio fácil: 3 pasos
Cargador / descargador de batería de níquel-cadmio fácil: construí este cargador / descargador simple para baterías de teléfonos inalámbricos de níquel-cadmio de 3,7 voltios. Se puede ampliar fácilmente para cargar paquetes de baterías de níquel-cadmio más grandes. Aquellos de ustedes que trabajan con estos paquetes de baterías saben que deben ser co