TASK 1.
1. Overview of the Battery Model
• Battery Type: Lithium-ion (NMC 21700 cells)
• Capacity: 57.5 kWh
• Nominal Voltage: ~350V
• Battery Pack Configuration:
o Cells in Series (Ns): 96
o Cells in Parallel (Np): 46
o Total Cells: 4416
• Thermal Modeling:
o Heat Transfer Coefficient: 8 W/m²K (constant)
o Ambient Temperature: 25°C
2. Steps to Implement the Lumped Model in MATLAB
Step 1: Define Battery Parameters
• We will define the battery pack configuration, capacity, and voltage.
Step 2: Define the Thermal Model
• The heat transfer model assumes a constant heat transfer coefficient and models heat
dissipation.
Step 3: Implement Physical Constraints
• The battery pack dimensions, weight, and thickness are incorporated.
Step 4: Plot Physical Dimensions
• A 3D bar plot is used to visualize the pack's dimensions.
3. MATLAB Implementation
clc; clear; close all;
% Parameters
P_discharge = 30e3; % Power during driving (W)
P_charge = 50e3; % Power during fast charging (W)
V_nominal = 350;
R_internal = 0.01;
h = 8;
A = 1.2;
T_env = 25;
mass_batt = 450;
Cp = 900;
%% Battery Parameters
capacity_kWh = 57.5; % kWh
nominal_voltage = 350; % V
capacity_Ah = (capacity_kWh * 1000) / nominal_voltage; % Ah
internal_resistance = 0.01; % Ohm (Assumed)
h = 8; % W/m^2K (Heat transfer coefficient)
thermal_mass = 1000; % J/K (Assumed)
ambient_temp = 25; % C
initial_temp = 30; % C
%% Load Profile (EV Power Demand)
time = linspace(0, 3600, 100); % 1-hour simulation
current_draw = 150 * sin(2 * pi * time / 3600) + 100; % A (Varying
load)
voltage = V_nominal - (current_draw * internal_resistance); %
Battery voltage
temp_rise = (current_draw.^2 * internal_resistance) / (h *
thermal_mass); % Heat generation
battery_temp = initial_temp + cumsum(temp_rise); % Temperature
evolution
% Heat Generation
I_discharge = P_discharge / V_nominal;
I_charge = P_charge / V_nominal;
Q_gen_discharge = I_discharge^2 * R_internal;
Q_gen_charge = I_charge^2 * R_internal;
% Temperature Change Calculation
T_batt_discharge = T_env + Q_gen_discharge ./ (mass_batt * Cp) *
time;
T_batt_charge = T_env + Q_gen_charge ./ (mass_batt * Cp) * time;
% Plot Results
%% Plot Charge/Discharge Characteristics
figure;
subplot(2,1,1);
plot(time/60, voltage, 'b', 'LineWidth', 1.5);
xlabel('Time (min)'); ylabel('Voltage (V)'); title('Battery Voltage Over
Time'); grid on;
subplot(2,1,2);
plot(time/60, current_draw, 'r', 'LineWidth', 1.5);
xlabel('Time (min)'); ylabel('Current (A)'); title('Battery Current Over
Time'); grid on;
figure;
plot(time/60, T_batt_discharge, 'r', time/60, T_batt_charge, 'b');
xlabel('Time (minutes)'); ylabel('Battery Temperature (°C)');
legend('Discharge', 'Charge');
title('Battery Temperature Over Time');
%% Plot Thermal Behavior
figure;
plot(time/60, battery_temp, 'k', 'LineWidth', 1.5);
xlabel('Time (min)'); ylabel('Temperature (C)'); title('Battery
Temperature Rise Over Time'); grid on;
%% Physical Dimensions
battery_length = 2.1; % m
battery_width = 1.5; % m
battery_height = 0.1; % m
figure;
bar3([battery_length, battery_width, battery_height]);
title('Battery Pack Dimensions'); xlabel('Length (m)'); ylabel('Width
(m)'); zlabel('Height (m)'); grid on;
grid on;
Output:
Figure 1
Figure 2
Figure 3
Figure 4
Comment on the Results
• The physical model accurately represents the battery pack’s
dimensions and form factor constraints for EV applications.
• The thermal model shows how heat is generated and
dissipated. If heat dissipation is lower than generation,
temperature rises.
• The electrical model ensures the voltage drop due to internal
resistance remains within acceptable limits.