- Medición del voltaje de una celda individual en una pila de baterías en serie
- Circuito diferencial para medir el voltaje de celda individual
- Diagrama de circuito
- Diseño y fabricación de PCB con Easy EDA
- Cálculo y pedido de muestras en línea
- Prueba del circuito de monitoreo de voltaje
- Medición del voltaje de la celda de litio con Arduino
- Programando el Arduino
- Funcionamiento de la pantalla de voltaje de celda individual
El kilometraje y el rendimiento de un vehículo eléctrico dependen de la capacidad y la eficiencia de su paquete de baterías. Mantener la batería en pleno estado es responsabilidad del Sistema de gestión de la batería (BMS). Un BMS es una unidad sofisticada en un EV que realiza mucha actividad como monitorear las células, equilibrarlas e incluso protegerlas de los cambios de temperatura. Ya hemos aprendido lo suficiente en este artículo del Sistema de gestión de la batería, así que échales un vistazo si eres nuevo aquí.
Para hacer cualquier cosa, el primer paso para el BMS sería conocer el estado actual de las celdas del paquete de baterías de litio. Esto se hace midiendo el voltaje y la corriente (a veces también la temperatura) de las celdas del paquete. Solo con estos dos valores, el BMS podría calcular el SOC o SOH y realizar el equilibrio de la celda, etc. Por lo tanto, medir el voltaje y la corriente de la celda es vital para cualquier circuito BMS, ya sea un banco de energía simple o una batería de computadora portátil o un paquete tan complicado como EV / Baterías solares.
En este artículo aprenderemos cómo podemos medir el voltaje de celda individual de las celdas utilizadas en un paquete de baterías de litio. Por el bien de este proyecto, utilizaremos cuatro celdas de litio 18650 conectadas en serie para formar un paquete de baterías y diseñar un circuito simple usando amplificadores operacionales para medir los voltajes de las celdas individuales y mostrarlo en una pantalla LCD usando Arduino.
Medición del voltaje de una celda individual en una pila de baterías en serie
El problema con la medición de voltaje de celda individual en un paquete de batería conectada en serie es que el punto de referencia sigue siendo el mismo. La siguiente imagen ilustra lo mismo
Por simplicidad, supongamos que las cuatro celdas están a un nivel de voltaje de 4 V como se muestra arriba. Ahora bien, si usamos un microcontrolador como Arduino para medir el voltaje de la celda, no tendremos ningún problema en medir el voltaje de la 1ª celda ya que tiene el otro extremo conectado a tierra. Pero, para las otras celdas, tenemos que medir el voltaje de esa celda junto con las celdas anteriores, por ejemplo, cuando medimos el voltaje de la cuarta celda, mediremos el voltaje de las cuatro celdas juntas. Esto se debe a que el punto de referencia no se puede cambiar desde el suelo.
Así que necesitamos introducir un circuito adicional aquí que podría ayudarnos a medir los voltajes individuales. En forma cruda es usar un divisor de potencial para mapear los niveles de voltaje y luego medirlos, pero este método reducirá la resolución del valor leído a más de 0.1V. Por lo tanto, en este tutorial usaremos el circuito diferencial de amplificador operacional para medir la diferencia entre los terminales de cada celda para medir el voltaje individual.
Circuito diferencial para medir el voltaje de celda individual
Ya sabemos que un amplificador operacional cuando funciona como un amplificador diferencial da la diferencia entre los dos valores de voltaje proporcionados a su pin inversor y no inversor. Entonces, para nuestro propósito de medir voltajes de 4 celdas, necesitamos tres amplificadores operacionales diferenciales como se muestra a continuación.
Tenga en cuenta que esta imagen es solo para representación; el circuito real necesita más componentes y se discutirá más adelante en este artículo. El primer amplificador operacional O1 mide el voltaje de la 2ª celda calculando la diferencia entre la 2ª terminal de la celda y la 1ª terminal de la celda que es (8-4). Del mismo modo el amplificador operacional O2 y O3 medidas de la 3 ª y 4 ª voltaje de la célula, respectivamente. No hemos utilizado un amplificador operacional para la primera celda, ya que podría medirse directamente.
Diagrama de circuito
El diagrama de circuito completo para monitorear el voltaje multicelda en el paquete de baterías de litio se muestra a continuación. El circuito fue diseñado usando EasyEDA y usaremos el mismo para fabricar nuestro PCB también.
Como puede ver, tenemos dos amplificadores operacionales de alto voltaje OPA4197 de riel a riel de paquete cuádruple en nuestro circuito, ambos alimentados por el voltaje total del paquete. Un IC (U1) se utiliza como circuito intermedio de creación, también conocido como seguidor de voltaje, mientras que el otro IC (U2) se utiliza para formar el circuito amplificador diferencial. Se requiere un circuito de búfer para evitar que cualquiera de las celdas se cargue individualmente, lo cual no debe consumirse corriente de una sola celda, sino que solo debe formar el paquete como un todo. Dado que el circuito de búfer tiene una impedancia de entrada muy alta, podemos usar para leer el voltaje de la celda sin extraer energía de ella.
Los cuatro amplificadores operacionales del IC U1 se utilizan para amortiguar el voltaje de las cuatro celdas, respectivamente. Los voltajes de entrada de las celdas están etiquetados de B1 + a B4 + y el voltaje de salida amortiguado está etiquetado de B1_Out a B4_Out. Este voltaje amortiguado se envía luego al amplificador de diferenciación para medir el voltaje de la celda individual como se discutió anteriormente. El valor de todas las resistencias se establece en 1K ya que la ganancia del amplificador diferencial se establece en la unidad. Puede usar cualquier valor de resistencia, pero todas deben tener el mismo valor, excepto las resistencias R13 y R14. Estas dos resistencias forman un divisor de potencial para medir el voltaje del paquete de la batería para que podamos compararlo con la suma de los voltajes de celda medidos.
Riel a riel, amplificador operacional de alto voltaje
El circuito anterior requiere que use un amplificador operacional de alto voltaje Rail to Rail como OPA4197 por dos razones. Ambos IC del amplificador operacional operan con un voltaje de paquete que es un máximo de (4,3 * 4) 17,2 V, por lo tanto, el amplificador operacional debe ser capaz de manejar altos voltajes. Asimismo, puesto que estamos utilizando un circuito de memoria intermedia, la salida de la memoria intermedia debe ser igual para empacar tensión para el 4 º terminal de la célula, es decir, la tensión de salida debe ser igual al voltaje de funcionamiento del op-amp, por tanto, tenemos que utilizar un carril a Amplificador operacional de carril
Si no puede encontrar un amplificador operacional de riel a riel, puede reemplazar el IC con un simple LM324. Este IC puede manejar alto voltaje pero no puede actuar de riel a riel, por lo que debe usar una resistencia pull up de 10k en el primer pin del U1 Op-Amp IC.
Diseño y fabricación de PCB con Easy EDA
Ahora que nuestro circuito está listo, es hora de fabricarlo. Dado que el amplificador operacional que estoy usando está disponible solo en el paquete SMD, tuve que fabricar una PCB para mi circuito. Entonces, como siempre, hemos utilizado la herramienta EDA en línea llamada EasyEDA para fabricar nuestra PCB porque es muy conveniente de usar ya que tiene una buena colección de huellas y es de código abierto.
Después de diseñar la PCB, podemos solicitar las muestras de PCB mediante sus servicios de fabricación de PCB de bajo costo. También ofrecen un servicio de abastecimiento de componentes donde tienen un gran stock de componentes electrónicos y los usuarios pueden solicitar los componentes necesarios junto con el pedido de PCB.
Mientras diseña sus circuitos y PCB, también puede hacer públicos sus diseños de circuitos y PCB para que otros usuarios puedan copiarlos o editarlos y puedan beneficiarse de su trabajo, también hemos hecho públicos todos nuestros diseños de circuitos y PCB para este circuito, verifique el siguiente enlace:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Puede ver cualquier Capa (Superior, Inferior, Topsilk, bottomsilk, etc.) de la PCB seleccionando la capa de la Ventana 'Capas'. Recientemente también han introducido una opción de vista 3D para que también pueda ver la PCB de medición de voltaje multicelda, sobre cómo se verá después de la fabricación usando el botón Vista 3D en EasyEDA:
Cálculo y pedido de muestras en línea
Después de completar el diseño de este circuito de medición de voltaje de celda de litio, puede solicitar la PCB a través de JLCPCB.com. Para pedir el PCB de JLCPCB, necesita Gerber File. Para descargar archivos Gerber de su PCB, simplemente haga clic en el botón Generar archivo de fabricación en la página del editor EasyEDA, luego descargue el archivo Gerber desde allí o puede hacer clic en Solicitar en JLCPCB como se muestra en la imagen de abajo. Esto lo redireccionará a JLCPCB.com, donde puede seleccionar la cantidad de PCB que desea pedir, cuántas capas de cobre necesita, el grosor de la PCB, el peso del cobre e incluso el color de la PCB, como la instantánea que se muestra a continuación:
Después de hacer clic en el botón de pedido en JLCPCB, lo llevará al sitio web de JLCPCB, donde puede solicitar cualquier PCB de color a una tarifa muy baja, que es de $ 2 por todos los colores. Su tiempo de construcción también es muy inferior, que es de 48 horas con una entrega de DHL de 3-5 días, básicamente obtendrá sus PCB dentro de una semana de realizar el pedido. Además, también ofrecen un descuento de $ 20 en el envío de su primer pedido.
Después de pedir la PCB, puede verificar el progreso de producción de su PCB con fecha y hora. Puede verificarlo yendo a la página de Cuenta y haciendo clic en el enlace "Progreso de producción" debajo del PCB como, que se muestra en la imagen de abajo.
Después de unos días de ordenar PCB, obtuve las muestras de PCB en un buen empaque como se muestra en las imágenes a continuación.
Después de asegurarse de que las pistas y las huellas fueran correctas. Procedí a ensamblar el PCB, usé encabezados hembra para colocar el Arduino Nano y el LCD para poder quitarlos más tarde si los necesito para otros proyectos. La placa completamente soldada se ve así a continuación
Prueba del circuito de monitoreo de voltaje
Después de soldar todos los componentes, simplemente conecte el paquete de baterías al conector H1 de la placa. He utilizado cables de conexión para asegurarme de no cambiar la conexión en el futuro por accidente. Tenga mucho cuidado de no conectarlo de forma incorrecta, ya que podría provocar un cortocircuito y dañar las baterías o el circuito de forma permanente. A continuación se muestra mi PCB con el paquete de baterías que utilicé para las pruebas.
Ahora use el multímetro en el terminal H2 para medir los voltajes de venta individuales. El terminal está marcado con números para identificar el voltaje de la celda que se está midiendo. Con aquí podemos concluir que el circuito está funcionando. Pero para hacerlo más interesante, conectemos una pantalla LCD y usemos un Arduino para medir estos valores de voltaje y mostrarlos en la pantalla LCD.
Medición del voltaje de la celda de litio con Arduino
El circuito para conectar el Arduino a nuestra PCB se muestra a continuación. Muestra cómo conectar el Arduino Nano a la pantalla LCD.
El pin de encabezado H2 en la PCB debe conectarse a los pines analógicos de la placa Arduino como se muestra arriba. Los pines analógicos A1 a A4 se utilizan para medir los cuatro voltajes de celda respectivamente, mientras que el pin A0 está conectado al pin de encabezado v 'de P1. Este pin v 'se puede utilizar para medir el voltaje total del paquete. También hemos conectado el 1 er pin de P1 al pin Vin del Arduino y el 3 er pin de P1 o al pin de tierra de Arduino para alimentar el Arduino con el paquete de baterías.
Podemos escribir un programa para medir los voltajes de las cuatro celdas y el voltaje del paquete de baterías y mostrarlo en la pantalla LCD. Para hacerlo más interesante, también agregué los cuatro voltajes de celda y comparé el valor con el voltaje del paquete medido para verificar qué tan cerca estamos midiendo el voltaje.
Programando el Arduino
El programa completo se puede encontrar al final de esta página. El programa es bastante simple, simplemente usamos la función de lectura analógica para leer los voltajes de la celda usando el módulo ADC y mostrar el valor de voltaje calculado en la pantalla LCD usando la biblioteca LCD.
flotar Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Medir el voltaje de la primera celda lcd.print ("C1:"); lcd.print (Cell_1);
En el fragmento anterior, hemos medido el voltaje de la celda 1 y lo hemos multiplicado por 5/1023 para convertir el valor de 0 a 1023 ADC en 0 a 5V reales. Luego mostramos el valor de voltaje calculado en la pantalla LCD. De manera similar, hacemos esto para las cuatro celdas y también para el paquete total de baterías. También hemos utilizado el voltaje total variable para sumar todos los voltajes de la celda y mostrarlo en la pantalla LCD como se muestra a continuación.
float Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Sume los cuatro valores de voltaje medidos lcd.print ("Total:"); lcd.print (Total_Voltage);
Funcionamiento de la pantalla de voltaje de celda individual
Una vez que esté listo con el circuito y el código, cargue el código en la placa Arduino y conecte el banco de energía a la PCB. La pantalla LCD ahora debería mostrar el voltaje de celda individual de las cuatro celdas como se muestra a continuación.
Como puede ver, el voltaje mostrado para las celdas 1 a 4 es 3.78V, 3.78V, 3.82V y 3.84V respectivamente. Entonces, usé mi multímetro para verificar el voltaje real de estas celdas, que resultó ser un poco diferente; la diferencia se tabula a continuación.
Voltaje medido |
Voltaje real |
3,78 V |
3,78 V |
3,78 V |
3,78 V |
3,82 V |
3,81 V |
3,84 V |
3,82 V |
Como puede ver, hemos obtenido resultados precisos para las celdas uno y dos, pero hay un error de hasta 200 mV para las celdas 3 y 4. Esto es lo más probable para nuestro diseño. Dado que estamos usando un circuito diferenciador de amplificador operacional, la precisión del voltaje medido disminuirá a medida que aumente el número de celdas.
Pero este error es un error fijo y se puede corregir en el programa, tomando lecturas de muestra y agregando un multiplicador para corregir el error. En la siguiente pantalla LCD también puede ver la suma del voltaje medido y el voltaje del paquete real que se midió a través del divisor de potencial. Lo mismo se muestra a continuación.
La suma de los voltajes que se midieron es 15,21 V y el voltaje real medido a través del pin A0 de Arduino resulta ser 15,22 V. Por lo tanto, la diferencia es de 100 mV, lo que no está mal. Si bien este tipo de circuito se puede usar para un menor número de lías, como en los bancos de energía o baterías de computadoras portátiles. El BMS de vehículos eléctricos utiliza un tipo especial de circuitos integrados como el LTC2943 porque incluso un error de 100 mV no es tolerable. Sin embargo, hemos aprendido cómo hacerlo para circuitos de pequeña escala donde el precio es una restricción.
El funcionamiento completo de la configuración se puede encontrar en el video vinculado a continuación. Espero que hayas disfrutado del proyecto y hayas aprendido algo útil de él. Si tiene alguna pregunta, déjela en la sección de comentarios o utilice los foros para obtener respuestas más rápidas.