En todos los dominios de la ingeniería, el uso de simulaciones y modelos matemáticos aporta varios beneficios durante el proceso de diseño de un sistema o componente. En el caso de los vehículos eléctricos de batería, contar con un modelo de batería y vehículo permite al ingeniero de diseño hacer predicciones sobre el desempeño del vehículo, en función de diferentes parámetros de la batería de alto voltaje.
Hay varios métodos utilizados para el modelado matemático. Para comprender mejor los métodos, ventajas y desventajas, lea el artículo Métodos de modelado matemático. En nuestro caso, nos centraremos en el modelado de caja blanca, utilizando principios físicos (ecuaciones).
Dado que una batería es un componente/sistema electroquímico, existen diferentes áreas que pueden modelarse matemáticamente: química, eléctrica, mecánica y térmica. En nuestro caso nos vamos a centrar en el modelo eléctrico de la batería.
Lo más simple circuito eléctrico equivalente de la batería contiene una fuente de voltaje E [V] y una resistencia interna Ri [Ω]. La caída de voltaje en los terminales de la batería. U [V] Depende del valor de la resistencia interna y de la corriente. I [A] extraído de la batería, que depende del valor de resistencia de la carga externa (por ejemplo, inversor, convertidor DCDC, etc.).
El valor de la caída de voltaje. U [V] viene dada por la ecuación:
Si no hay ninguna carga conectada a la batería, la corriente a través de la batería será cero y el voltaje del terminal será igual al voltaje de la fuente. Se llama Abra el circuito de voltaje.
Cuanto mayor sea la resistencia interna de la batería, mayor será la caída de voltaje y mayores serán las pérdidas de energía de la batería. Para cualquier aplicación, incluidos los vehículos eléctricos con batería, el valor de la resistencia interna debe ser lo más pequeño posible.
Profundidad de descarga de la batería
El profundidad de descarga (DOD) de una batería se considera el porcentaje de capacidad de la batería que se ha descargado en comparación con la capacidad máxima de la batería. La profundidad de descarga es la inversa de la estado de carga (SOC). Una batería con 100% SOC tendrá 0% DOD.
El voltaje de circuito abierto de una batería depende de la profundidad de la descarga y puede aproximarse mediante ecuaciones empíricas. [1]. Para baterías de plomo ácidoel voltaje del circuito abierto es directamente proporcional al estado de carga de la batería y se puede calcular con la siguiente ecuación:
dónde:
n [-] – número de celdas de batería
DOD [-] – profundidad de descarga
E [V] – Abra el circuito de voltaje
Para baterías de níquel-cadmio, el voltaje del circuito abierto no es lineal y debe aproximarse mediante un polinomio. Un buen ajuste, producido a partir del resultado experimental, es la ecuación [1]:
Podemos usar Scilab para trazar el voltaje de circuito abierto para una batería de plomo-ácido y una de níquel-cadmio. En este caso vamos a crear una función Scilab (*.sci
) que tiene como argumentos (entradas): el número de celdas, la profundidad de descarga y el tipo de batería y salidas: el voltaje del circuito abierto.
// x-ejemplo.org
// Function for open circuit voltage calculation
// inputs: DoD [-] – depth of discharge
// Nc [-] – number of battery cells
// batt_type [string] – type of battery
// output: E [V] – battery open circuit voltage
function y = Ebatt(DoD,Nc,batt_type)
if batt_type==»lead-acid» then
y=(2.15-(2.15-2.00)*DoD)*Nc;
elseif batt_type==»nickel-cadmium» then
y=(-8.2816*DoD.^7+23.5749*DoD.^6-30*DoD.^5+23.7053*DoD.^4- ..
12.5877*DoD.^3+4.1315*DoD.^2-0.8658.*DoD+1.37)*Nc;
else
disp(«Type of battery should be «»nickel-cadmium»» or «»lead-acid»»»);
end
endfunction
La función de voltaje de circuito abierto se llama en otro script de Scilab (*.sce
) que también genera la gráfica de los resultados.
// x-ejemplo.org
exec(«Ebatt.sci») // load battery voltage function
DoD = [0:0.001:0.99]; // depth of discharge
Nc = 6; // number of cells
// Nickel-cadmium
figure(0)
plot(DoD*100,Ebatt(DoD,Nc,»nickel-cadmium»))
hf=gcf();
hf.background=8;
xgrid()
xlabel(«Depth of discharge [%]»)
ylabel(«Nickel-cadmium battery (6 cells) voltage [V]»)
title(«x-engineer.org»)
xs2png(hf, ‘Nickel-cadmium battery (6 cells) voltage.png’)
// Lead-acid
figure(1)
plot(DoD*100,Ebatt(DoD,Nc,»lead-acid»))
hf=gcf();
hf.background=8;
xgrid()
xlabel(«Depth of discharge [%]»)
ylabel(«Lead-acid battery (6 cells) voltage [V]»)
title(«x-ejemplo.org»)
xs2png(hf, ‘Lead-acid battery (6 cells) voltage.png’)
La profundidad de descarga se establece entre 0 (completamente cargada) y 0,99 (descargada, plana).
Después de ejecutar el archivo de script, se generarán dos imágenes y también se guardarán en la carpeta de trabajo de Scilab como *.png
archivos. El script se ejecuta en dos casos diferentes: primero, solo para 1 celda, segundo, para una batería que contiene 6 celdas. Los resultados se pueden ver en las imágenes a continuación.
|
|
| Imagen: Voltaje de la batería de níquel-cadmio (6 celdas) |
El voltaje de la celda (batería) no es constante sino que depende de la profundidad de descarga (estado de carga) de la batería. Cuanto más descargada esté una batería, menor será el voltaje en los terminales.
Capacidad y voltaje de la batería.
El capacidad de la bateríamedido en amperios-hora [Ah], indica la cantidad de carga eléctrica (corriente) que la batería puede entregar durante la descarga, al voltaje nominal. Por ejemplo, una batería con una capacidad de 20 Ah puede suministrar 20 A durante 1 h. Además, puede entregar 40 A por 0,5 h o 10 A por 2 A. Siempre y cuando, el producto entre la corriente eléctrica [A] y tiempo de alta [h] da la capacidad nominal [Ah]la batería teóricamente puede entregarlo.
En realidad, la capacidad de la batería depende de la cantidad de corriente extraída de la misma. Si la corriente se consume más rápidamente, se reduce la capacidad de la batería. Por ejemplo, consumir 20 A durante 1 h no requiere la misma carga eléctrica que consumir 40 A durante 0,5 h. Cuanto mayor sea la corriente extraída de la batería, menor será su capacidad. Este fenómeno ocurre debido a la resistencia interna de la batería. A corrientes más altas, la resistencia interna de la batería también aumenta (debido a las temperaturas más altas), lo que hace que haya menos voltaje disponible en los terminales de la batería.
El voltaje de la batería También depende de la cantidad de corriente extraída de la batería. Cuanto mayor sea la corriente, menor será el voltaje. Este fenómeno también ocurre debido al aumento de la resistencia interna de la batería. Cuanto mayor sea la resistencia interna, mayor será la caída de voltaje y menor será el voltaje en los terminales de la batería.
Modelo de batería en Xcos
De acuerdo a [2] El estado de carga de una batería se puede estimar teniendo en cuenta la cantidad de corriente eléctrica que entra y sale de la batería.
dónde:
SOC – estado de carga [-]
SOC0 – estado de carga inicial [-]
i – corriente eléctrica [A]
Q – capacidad de la batería [Ah]
Con base en la ecuación (5) y utilizando los parámetros de entrada de la batería, podemos crear un modelo de diagrama de bloques Xcos para estimar el estado de carga de la batería.
El Integrator
se inicializa con el valor inicial del estado de carga de la batería. La señal de entrada Ibatt [A]
es la corriente extraída de la batería, que se divide por la capacidad de la batería. Cuando la batería está descargada, la entrada Ibatt [A]
es positivo pero se convierte en negativo para el Integrator
ya que necesita eliminar la carga. Cuando la batería está cargada, la entrada Ibatt [A]
es negativo y se convierte en positivo para el Integrator
ya que agrega carga.
Las salidas del modelo serán el estado de carga de la batería. SOC [%]
y el voltaje de la batería Ubatt [V]
. Dado que el voltaje depende del estado de carga de la batería, se utiliza un bloque de interpolación lineal. Interp
se utiliza para calcular el voltaje de la batería.
El parámetro del modelo se puede definir en un script Scilab (*.sce
).
bp.C_Ah = 93.6; // battery capacity
bp.SOC_x_pct = [10 12 15 20 25 85 92 95 98 100]; // battery state of charge axis
bp.U_y_V = [350 370 385 393 395 405 409 415 430 450]; // battery voltage map
bp.UDC_V = 400; // battery nominal voltage
bp.SOC0_pct = 100; // battery initial state of charge
Se considera que el voltaje de la batería es mínimo de 350 V al 10 % SOC (completamente descargada), nominal de 400 V al 55 % SOC y máximo de 450 V al 100 % SOC (completamente cargada). El modelo de batería se puede ejecutar en una simulación donde la corriente de entrada (la corriente extraída de la batería) se simula con una onda sinusal (Current generator
). El Clock
el bloque toma muestras de la variable guardada sOut
at 1 s.
La corriente eléctrica tiene una amplitud. I0 de 150 A, con una frecuencia ω de 0,001 rad/s. Como queremos capturar un aumento de la corriente de entrada de 0 a 150 A y una disminución de 150 a 0 A, el tiempo de simulación tsim [s] se calcula como:
Los parámetros de simulación también se pueden incluir en el script Scilab (*.sce
).
// Electrical current generator (sinus)
I0_A = 150; // current amplitude
omega_radps = 0.001; // current frequency
simTime_s = 2*%pi/omega_radps; // simulation time
La corriente de entrada, el estado de carga de la batería y el voltaje de la batería se guardan en un parámetro de Scilab. sOut
que se puede encontrar en el espacio de trabajo al final de la simulación. Al ejecutar el modelo de simulación y trazar los resultados, se obtiene:
Imagen: Simulación de batería – corriente de entrada | Imagen: Simulación de batería – estado de carga |
Imagen: Simulación de batería – voltaje | Imagen: Simulación de batería – voltaje (SOC) |
Con la corriente de entrada, la batería se descarga al 10 % de su carga en unos 3000 s. Luego, se aumenta nuevamente al 100 % SOC recibiendo una corriente de carga. El voltaje de la batería también cae a 350 V cuando el estado de carga es mínimo.
Este modelo es muy simple pero lo suficientemente bueno como para dar una estimación del estado de carga de la batería cuando el vehículo se conduce en un ciclo estándar. Con este modelo, integrado en un modelo de vehículo, se puede estimar la autonomía para varios ciclos de conducción estándar o personalizados.