Tabla de contenido:
- Paso 1: Introducción
- Paso 2: Qué vamos a medir y cómo
- Paso 3: circuito
- Paso 4: programas
- Paso 5: Conclusión
Video: Probador de batería Arduino con interfaz de usuario WEB: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Hoy en día, los equipos electrónicos utilizan baterías de respaldo para salvar el estado en el que se dejó la operación cuando se apagó el equipo o cuando, por accidente, se apagó el equipo. El usuario, al encender, vuelve al punto donde se quedó y así no pierde ni el tiempo ni el orden de ejecución de sus tareas.
Paso 1: Introducción
Estoy haciendo un proyecto para medir el estado de baterías con diferentes capacidades y voltajes usando el método: Carga CC de dos niveles. Este método consiste en extraer una pequeña corriente de la batería durante 10 segundos y una corriente alta durante 3 segundos (normas IEC 61951-1: 2005). A partir de esta medida se calcula la resistencia interna y, por tanto, su estado.
La estación de trabajo constará de varios conectores, uno para cada tipo de batería y una PC. Para ello, es necesaria una interfaz de usuario (UI). La parte más importante de este tutorial es la IU porque en otros instructables se han descrito estos métodos de prueba de batería. Probé Processing y obtuve buenos resultados, pero decidí crear mi propio software usando un servidor web local y aprovechar el potencial de HTML, CSS y php.
Se sabe que es muy difícil enviar información desde Arduino a una PC con Windows pero al final lo logré. Todos los programas están incluidos en este tutorial.
Paso 2: Qué vamos a medir y cómo
Resistencia interna.
Cada batería real tiene una resistencia interna. Siempre asumimos que es una fuente de tensión ideal, es decir, podemos conseguir mucha corriente manteniendo constante la tensión nominal. Sin embargo, el tamaño de la batería, las propiedades químicas, la edad y la temperatura afectan la cantidad de corriente que una batería puede generar. Como resultado, podemos crear un mejor modelo de batería con una fuente de voltaje ideal y una resistencia en serie, como se muestra en la Fig.1.
Una batería con baja resistencia interna es capaz de suministrar más corriente y se mantiene fría, sin embargo, una batería con alta resistencia hace que la batería se caliente y el voltaje caiga bajo carga, provocando un apagado anticipado.
La resistencia interna se puede calcular a partir de la relación corriente-voltaje dada por dos puntos en una curva de descarga.
El método de carga de CC de dos niveles ofrece un método alternativo al aplicar dos cargas de descarga secuenciales de diferentes corrientes y duraciones de tiempo. La batería se descarga primero a una corriente baja (0,2 C) durante 10 segundos, seguida de una corriente más alta (2 C) durante 3 segundos (consulte la Figura 2); la ley de Ohm calcula los valores de resistencia. La evaluación de la firma de voltaje bajo las dos condiciones de carga ofrece información adicional sobre la batería, pero los valores son estrictamente resistivos y no revelan el estado de carga (SoC) o estimaciones de capacidad. La prueba de carga es el método preferido para baterías que alimentan cargas de CC.
Como se dijo anteriormente, existen muchos métodos de medición de baterías tratadas en otros instructables y que se pueden implementar con el Arduino, pero en este caso, aunque no ofrece una evaluación completa del estado de la batería, da valores que pueden ser utilizado para estimar su comportamiento futuro.
La resistencia interna se encuentra usando la relación
Dónde
Ri = (V1 - V2) / (I2 - I1)
? 1-El voltaje se mide durante una corriente baja y un instante de tiempo más largo;
? 2-Voltaje medido durante la corriente alta y el instante de tiempo más corto;
? 1 - Corriente durante un instante de tiempo más largo;
? 2 - Corriente durante el instante de tiempo más corto.
Paso 3: circuito
El circuito es una fuente de corriente que extrae 0.2C (en este caso 4mA) y 2C (en este caso 40mA) de las baterías usando solo un circuito controlado con la señal PWM de Arduino. De esta manera es posible medir todas las baterías de respaldo con C = 20mAh, independientemente de su voltaje en el rango de 1.2V a 4.8V y otras baterías con diferente capacidad también. En la primera versión, usé dos transistores cada uno con una carga para drenar 4 mA y el otro 40 mA. Esa variante no era apropiada para el futuro ya que querían medir otras baterías con diferentes capacidades y este esquema requería una gran cantidad de resistencias y transistores.
El circuito con una fuente de corriente se muestra en la Fig. 3. La frecuencia de la señal PWM del pin 5 de la placa Arduino es de 940Hz, por eso, la Fc del Filtro de paso bajo (LPF) es de 8 Hz, significa que el primer armónico de La señal PWM (940Hz) se atenuará 20dB porque los filtros RC proporcionan 10 dB de atenuación por década (cada 10 veces la Fc - la atenuación será 10dB en 80Hz y 20dB en 800Hz). El transistor IRFZ44n está sobredimensionado porque, en el futuro, se probarán baterías de mayor capacidad. El LM58n, amplificador operacional dual (OA), es la interfaz entre la placa Arduino y el IRFZ44n. El LPF se insertó entre los 2 amplificadores operacionales para asegurar un buen desacoplamiento entre el microprocesador y el filtro. En la Fig.3, el pin A1 de Arduino está conectado a la fuente del transistor IRFZ44n para verificar la corriente extraída de la batería.
El circuito se compone de 2 partes, debajo de la placa Arduino UNO y arriba de la fuente de corriente, como se muestra en la siguiente foto. Como puede ver, en este circuito no hay interruptores ni botones, están en la interfaz de usuario de la pc.
Este circuito también permite medir la capacidad de la batería en mAh ya que tiene una fuente de corriente y la placa Arduino tiene un temporizador.
Paso 4: programas
Como se mencionó anteriormente, la aplicación tiene, en un lado, una interfaz de usuario hecha con HTML, CSS y, en el otro lado, el boceto de Arduino. La interfaz es sumamente sencilla, por el momento, porque solo ejecuta la medida de resistencia interna, en el futuro realizará más funciones.
La primera página tiene una lista desplegable, desde donde el usuario selecciona el voltaje de la batería a medir (Fig. 4). El programa HTML de la primera página se llama BatteryTesterInformation.html. Todas las baterías tienen una capacidad de 20 mAh.
Segunda página, BatteryTesterMeasurement.html.
En la segunda página, la batería se conecta al conector indicado e inicia (botón INICIO) la medición. Por el momento, este led no está incluido porque solo tiene un conector pero, en un futuro, tendrán más conectores.
Una vez que se hace clic en el botón INICIO, comienza la comunicación con la placa Arduino. En esta misma página, el formulario de Resultados de la medición se muestra cuando la placa Arduino envía los resultados de la prueba de la batería y los botones INICIO y CANCELAR están ocultos. El botón ATRÁS se usa para comenzar la prueba de otra batería.
La función del siguiente programa, PhpConnect.php, es conectarse con la placa Arduino, transmite y recibe datos de las placas Arduino y el servidor web.
Nota: La transmisión de PC a Arduino es rápida, pero la transmisión de Arduino a PC tiene un retraso de 6 segundos. Estoy tratando de resolver esta molesta situación. Por favor, cualquier ayuda es muy apreciada.
Y el boceto de Arduino, BatteryTester.ino.
Cuando la resistencia interna resultante es 2 veces mayor que la inicial (batería nueva), la batería está averiada. Es decir, si la batería bajo prueba tiene 10 ohmios o más y, por especificación, este tipo de batería debería tener 5 ohmios, esa batería está averiada.
Esta interfaz de usuario fue probada con FireFox y Google sin problemas. Instalé xampp y wampp y funciona bien en ambos.
Paso 5: Conclusión
Este tipo de desarrollo utilizando una interfaz de usuario en la PC tiene muchas ventajas porque permite al usuario una comprensión más fácil del trabajo que están realizando, además de evitar el uso de componentes costosos que requieren interacción mecánica, lo que los hace susceptibles a roturas.
El siguiente paso de este desarrollo es agregar conectores y modificar algunas partes del circuito para probar otras baterías, y también agregar un cargador de batería. Después de eso, se diseñará y solicitará la PCB.
La interfaz de usuario tendrá más modificaciones para incluir la página del cargador de batería
Por favor, cualquier idea, mejora o corrección no dude en comentar para mejorar este trabajo. Por otro lado, si tienes alguna duda, pregúntame, te la responderé lo más rápido que pueda.
Recomendado:
Convertidor Boost basado en Esp8266 con una increíble interfaz de usuario Blynk con regulador de retroalimentación: 6 pasos
Convertidor Boost basado en Esp8266 con una increíble interfaz de usuario Blynk con regulador de retroalimentación: En este proyecto, le mostraré una forma eficiente y común de cómo aumentar los voltajes de CC. Te mostraré lo fácil que puede ser construir un convertidor boost con la ayuda de un Nodemcu. Vamos a construirlo. También incluye un voltímetro en pantalla y una retroalimentación
Analizador lógico con interfaz de usuario de Android: 7 pasos
Analizador lógico con interfaz de usuario de Android: el mundo ya está inundado de tantos analizadores lógicos. En mi afición por la electrónica, necesitaba uno para solucionar problemas y depurar. Busqué en Internet pero no encuentro el que estoy buscando. Así que aquí estoy, presentando … " TODAVÍA Otro Lo
Interfaz de usuario fácil de implementar -- Pantalla OLED con joystick y botones: 6 pasos
Interfaz de usuario fácil de implementar || Pantalla OLED con joystick y botones: este módulo tiene una pantalla OLED con dos botones, joystick de 5 direcciones y un acelerómetro de 3 ejes. Esto es útil para configurar la interfaz de usuario de un proyecto. Oye, ¿qué tal chicos? Akarsh aquí de CETech. Hoy vamos a echar un vistazo a un módulo todo en uno que
DISEÑO DE MENÚ ARDUINO Con OLED-UI (INTERFAZ DE USUARIO): 4 pasos
DISEÑO DE MENÚ ARDUINO Con OLED-UI (INTERFAZ DE USUARIO): ¡Hola a todos! En este tutorial intentaré explicar cómo hacer el DISEÑO DE MENÚ ARDUINO usando la pantalla OLED i2c. También se conoce como UI (interfaz de usuario). Se ha utilizado durante muchos proyectos, pero debe estar familiarizado con usted de las impresoras 3D :) Aquí también el video
Interfaz de usuario de Android (remotexy) para controlar el servomotor usando Arduino y Bluetooth: 7 pasos (con imágenes)
Interfaz de usuario de Android (remotexy) para controlar el servomotor usando Arduino y Bluetooth: en este Instructable, le daré un paso rápido para hacer la interfaz de usuario de Android usando Remotexy Interface Maker para controlar el servomotor conectado a Arduino Mega a través de Bluetooth. Este video muestra cómo la interfaz de usuario controlará la velocidad y la posición del servomotor