기술 칼럼

Simscape Battery를 이용한 배터리 고속 충전 발전 강화

작성자: Darryl Doyle와 Yashraj Tripathy, About:Energy; MathWorks Steve Miller와 Sebastián Arias


에너지 기업 About:Energy에서 제공한 TSPMe 및 전기 모델을 Simscape Battery가 지원하는 세부 팩 모델과 통합하면 배터리 관리 시스템의 정확성과 안전성이 보장되어 배터리 충전 분야의 지속적인 발전이 강화됩니다.

배터리 급속 충전 시간은 전기차(EV) 설계의 핵심 성과 지표이자 EV 고객의 주요 관심사입니다. 이 기술 칼럼에서는 About:Energy에서 개발한 맞춤형 셀 모델 블록 및 파라미터와 함께 Simscape Battery™를 사용하여 다양한 배터리 시스템 크기에 맞는 안전하고 견고한 고속 충전 프로파일을 생성하는 방법을 보여줍니다. 여기에는 SAE J1772에 따른 DC 레벨 1(최대 80kW)과 레벨 2(최대 400kW, 레벨 3이라고도 함) 배터리 고속 충전 프로파일이 포함됩니다. 또한 이 기술 칼럼에서는 Simscape™과 Simscape Battery의 배터리팩 빌더 워크플로를 사용하여 맞춤형 배터리 셀 모델을 확장하는 방법을 보여줍니다(그림 1).

Simscape 사용하여 고속 충전 애플리케이션을 위해 배터리 셀을 팩으로 조립하는 방법을 보여주는 워크플로 다이어그램.

그림 1. 배터리 빌더의 맞춤형 Simscape 셀 모델 블록을 사용하는 셀투팩 배터리 고속 충전 워크플로우.

EV 리튬이온 배터리 셀 내부의 여러 프로세스는 음극에서의 리튬 확산 및 전해질에서의 리튬 이온 이동과 같이 셀이 충전할 수 있는 최대 속도에 영향을 미칩니다. 이러한 프로세스는 미세한 규모로 이루어지며 개별 배터리 셀의 국지적 온도, 충전 상태(SOC), 성능 상태(SOH), 셀의 화학에 의해 제어됩니다. 시스템 및 DC 충전기 전류 제한, 열 관리 전략으로 인한 셀 간 온도 확산, 전기 설계로 인한 SOC 확산, 제어 전략, 센서 배치, 셀 이외의 저항, 제조 가변성과 같은 다른 요인도 배터리 모듈 및 팩 수준에서 작용합니다. 이러한 추가 요인으로 인해 고속 충전 속도가 더욱 제한될 수 있습니다. 따라서 모든 배터리 설계 및 검증 워크플로우에서는 이러한 모든 변수를 고려하는 것이 중요합니다.

배터리 셀 모델

Simscape Battery의 배터리 빌더 기능을 사용하면 About:Energy에서 제공하는 배터리 셀 블록을 포함하여 단일 배터리 셀의 사용자 정의 Simscape 블록에서 배터리 모듈 및 팩 모델을 자동으로 생성할 수 있습니다. 이 기술 칼럼에서는 About:Energy에서 제공하는, 니켈이 풍부한 고에너지 2170 셀의 검증된 두 가지 배터리 모델을 살펴봅니다.

  • 빠른 충전 제어와 같은 작업을 수행하는 데 필요한 내부 전기화학적 상태 또는 변수에 대한 액세스를 제공하는 TSPMe(thermal single-particle model with electrolyte) 모델입니다.
  • 고속 충전을 위해 특별히 파라미터화된 등가 회로 모델(ECM)은 모듈 또는 팩 수준으로 확장되면 상대적으로 더 빠른 계산 시간을 제공합니다.

Simscape Battery 라이브러리에는 등가 회로 접근 방식과 전기화학적 단일 입자 모델을 사용하는 배터리 셀 모델 블록도 포함되어 있습니다(그림 2). 이는 R2023b와 R2024a부터 Simscape Battery에서 사용할 수 있습니다.

About:Energy 고객 배터리 셀 모델과 등가 회로 접근 방식 및 전기화학적 단일 입자 모델을 갖춘 Simscape 배터리 셀 모델.

그림 2. Simscape의 기본 배터리 셀 모델 블록.

셀투모듈 작업 예

Simscape Battery의 배터리 빌더 기능을 사용하여 배터리 시스템 모델을 빠르게 프로토타이핑하고 광범위한 열 및 전기 경계 조건과 초기 작동 상태(SOC와 온도)에서 다양한 하위 구성 요소 수준에 대한 배터리 고속 충전 시간을 평가할 수 있습니다.

먼저, 배터리 셀 객체를 정의하고 이 셀 객체를 About:Energy에서 제공하는 해당 셀 모델 블록에 연결해야 합니다. 먼저 ECM을 확장합니다. ECM 블록을 사용하려면 먼저 About:Energy에서 제공하는 전열 파라미터를 불러옵니다. 이 파라미터는 cellData라는 구조에 포함되어 있습니다.

 run("CellModelParameters.mlx") % 셀 ECM 파라미터 불러오기(예: 용량, 에너지) 

배터리 셀 객체를 정의하려면 Simscape Battery의 배터리 빌더 패키지에서 Cell 클래스를 다음과 같이 인스턴스화해야 합니다.

import  simscape.battery.builder.* % 배터리 빌더 패키지 가져오기 

battCell = Cell(Geometry = CylindricalGeometry(... 
    'Height',simscape.Value(cellData.cellHeight,'m'),... 
    'Radius',simscape.Value(cellData.cellRadius,'m')), ... 
    Capacity = simscape.Value(cellData.cellCapacity,"A*hr"), ... 
    Energy = simscape.Value(cellData.cellNominalEnergy,"W*hr")); % Cell 객체 

배터리 셀 객체를 About:Energy 사용자 정의 블록에 연결하려면 다음과 같이 CellModelOptions 속성을 다음과 같이 수정합니다.

battCell.CellModelOptions.CellModelBlockPath = "AE_Mathworks_lib/AE_mathworks_ECM";
disp(battCell.CellModelOptions)

CellModelBlock with properties:

CellModelBlockPath: "AE_Mathworks_lib/AE)_mathworks_ECM"
    BlockParameters: [1x1 struct]

이 예에서는 16개의 배터리 모듈로 구성된 400V 자동차형 전기차 배터리를 만듭니다. 각 배터리 모듈은 전기적으로 병렬로 연결된 36개의 원통형 셀과 전기적으로 직렬로 연결된 6개의 병렬 어셈블리(36p6s)로 구성됩니다. 셀 컴포넌트를 병렬 어셈블리로 확장한 다음 모듈로 확장하는 코드는 아래와 같습니다.

battPSet = ParallelAssembly(Cell = battCell, NumParallelCells = 36,...
    Rows = 9, ModelResolution="Detailed",...
    NonCellResistance = "on",...
    AmbientThermalPath="CellBasedThermalResistance", ...
    CoolantThermalPath="CellBasedThermalResistance",...
    CoolingPlate="Bottom"); % Parallel assembly object

battModule = Module(ParallelAssembly = battPSet, NumSeriesAssemblies = 6,...
    NonCellResistance = "on",...
    ModelResolution="Grouped",...
    SeriesGrouping = [1,4,1],...
    ParallelGrouping = [36,1,36],...
    AmbientThermalPath="CellBasedThermalResistance", ...
    CoolantThermalPath="CellBasedThermalResistance",...
    CoolingPlate="Bottom"); % Module object

또는 배터리 빌더 앱을 사용하여 동일한 배터리 디자인과 객체를 정의할 수도 있습니다(그림 3).

배터리팩을 모델링하고 설계하기 위해 다양한 모듈 속성을 선택하는 방법을 보여주는 배터리 빌더 앱의 스크린샷.

그림 3. 배터리 설계를 위한 배터리 빌더 앱 인터페이스.

buildBattery 함수를 호출하여 위에서 정의한 배터리 객체로부터 Simscape 모델을 자동으로 생성할 수 있습니다. 이 함수를 호출할 때 MaskParameters 이름-값 쌍을 “VariableNamesByType”로 정의하여 모델을 실행하는 데 필요한 모든 파라미터가 포함된 스크립트를 생성합니다. 모델을 생성하기 전에 3차원 공간에서 배터리 셀의 기하학적 구조와 위치를 시각화하는 데 도움이 되는 BatteryChart 객체를 사용하여 배터리 정의와 설계를 확인할 수 있습니다. 표 1은 모듈과 병렬 어셈블리 객체에 대해 이러한 기능을 사용하여 얻은 일반적인 출력을 보여줍니다.

표 1. About:Energy 블록을 사용하여 구축된 Simscape Battery 에서 배터리 객체를 시각화하고 모델을 자동으로 생성하는 코드입니다.
배터리 시각화 코드 배터리 모델 생성 코드
f = uifigure(Color="w");
BatteryChart(Battery=battPSet);
buildBattery(battPSet, Library= "detailedPSet",...
    MaskParameters = "VariableNamesByType"); 
f = uifigure(Color="w");
BatteryChart(Battery=battModule);
buildBattery(battModule, Library= "groupedModule",...
    MaskParameters = "VariableNamesByType"); 

다음으로 생성된 배터리 모델을 테스트하는 데 사용되는 고속 충전 전기 부하를 정의합니다. 이를 위해서는 먼저 배터리 셀의 급속 충전 기능을 추정해야 합니다.

셀 수준 고속 충전

급속 충전 중에는 배터리 동작 조건과 전기화학에 따라 리튬 석출 위험이 더 높아집니다. 궁극적으로 리튬 석출의 핵심 원동력은 산화전극 전해질 경계면에서 고체상과 액체상 사이의 국부적인 전위차이며, 이는 온도, 확산 제한, SOC, 충전 속도와 같은 많은 요인의 영향을 받습니다. 낮은 온도는 일반적으로 전송 현상을 느리게 만들고 충전 중 전위차를 더 크게 만듭니다. 따라서 셀 내부 온도와 SOC 차이로 인해 자연스럽게 셀의 다양한 영역이 리튬 석출 위험에 더 많이 노출됩니다. 이러한 차이는 특정 셀 설계와 셀 주변의 열 경계 조건을 고려할 때 항상 존재합니다. 표 2는 안전하고 빠른 충전 프로파일을 도출하기 위해 고려해야 하는 주요 내부 변수와 경계 조건을 나타냅니다.

표 2. 고속 충전 시뮬레이션을 위한 제약 조건, 동작 조건, 경계 조건.
변수 설명과 코드
산화전극 전위

우리는 Li/Li+ 기준 전극에 대한 음극의 정전 퍼텐셜을 리튬 석출 위험 증가와 분해 가속화에 대한 지표로 사용할 것입니다. 충전 중에는 셀 내부에서 일어나는 물질 이동과 화학 반응 과정으로 인해 이 전위가 떨어집니다. 리튬 석출 위험을 줄이려면 이 전위가 0V 아래로 너무 떨어지면 안 됩니다. 이 예에서는 이 전위 임계값을 임의로 50mV로 설정합니다.

 AnodePotentialThreshold = 0.05; % 단위: V 
배터리 온도

셀 온도는 성능 저하를 제한하고 열폭주 위험을 줄이기 위해 작동 한계 이하로 유지되어야 합니다.

 TemperatureThreshold = 55 + 273.15; % 단위: K 
초기 배터리 온도

온도가 높을수록 더 높은 전류가 흐릅니다. 최대 작동 온도에 도달하면 제어 시스템이 전류를 감소시키고 충전 시간을 연장시킵니다. 초기 온도가 낮을수록 높은 열 발생을 완화하기 위해 더 많은 온도 변화를 제공하지만 온도가 낮을수록 최대 전류도 제한됩니다. 따라서 최적의 초기 온도가 존재하며 시뮬레이션이나 물리적 테스트를 통해 찾을 수 있습니다.

 InitialCellTemperature = 35 + 273.15; % 단위: K 
열 관리 경계 조건

이 예에서는 다음 다이어그램과 같이 냉각 플레이트에 배치된 “하부 냉각” 배터리 셀을 고려합니다. 셀 바닥 표면에서 냉각 채널의 벌크 냉매까지 정의된 열 저항이 5K/W로 일정하다고 가정합니다.

 CellThermalPathResistance = 5; % 단위: K/W 
배터리 단자 전압

충전 중에는 셀 전압이 증가합니다. 과전압 또는 과충전 상태를 방지하기 위해 배터리 전압은 셀 공급업체가 지정한 최대값을 초과할 수 없습니다.

 MaximumBatteryVoltage = 4.2; % 단위: V 
완전히 충전된 배터리

충전 단계가 끝나면 단자 전압이 최대 수준으로 상승합니다. 최적의 고속 충전을 보장하고 과충전 조건을 방지하려면 정전압 단계(CV)에서 전류를 줄여야 합니다. 이 기술 칼럼에서는 전류 값이 정격 셀 용량의 1/10 미만으로 떨어지면 완전 충전(100% SOC) 조건에 도달합니다.

 FullyChargedCurrentThreshold = cellData.cellCapacity/10; % 단위: A 
최대 충전 전류

이 값은 특정 조건(SOC, SOH, 온도)에 대해 배터리 제조업체에서 지정해야 합니다. 일반적으로 배터리는 짧은 시간 동안 더 높은 충전 전류를 수용하고 더 오랜 시간 동안 더 작은 충전 전류를 수용할 수 있습니다.

 MaximumChargeCurrent = 30; % @ 0% SOC, 순간 한계, 단위: A 

고속 충전 프로파일 방법론

전체 젤리 롤에서 산화전극 전위를 모니터링하기 위해 Simscape 언어와 About:Energy TSPMe 모델을 기본으로 사용하여 높이 이산화 전열 셀 수준 모델을 생성했습니다(그림 4). 열 모델은 높이를 따라 이산화되어 기본 냉각에서 발생하는 열 구배를 포착합니다. 이산화된 요소는 셀 내부를 복제하고 더 높은 내부 상태 분해능을 허용하는 방식으로 전기적으로 병렬로, 열적으로 직렬로 연결됩니다. 요소를 방사형으로 분할하면 더 높고 더 정확한 상태 분해능을 얻을 수 있습니다. About:Energy는 Simscape 2D 열 모델 블록도 제공합니다.

Simscape 사용하여 생성된 전열 셀 레벨 모델.

그림 4. Simscape 및 Simulink 사용하여 생성된 이산형 배터리 셀 모델.

3개의 PI 컨트롤러는 최대 허용 전류를 낮추고 안전한 작동 조건을 유지합니다(그림 5).

이산화된 배터리 셀 모델에서 안전한 작동 조건을 유지하기 위한 제어 전략의 Simulink 모델입니다.

그림 5. 이산화된 배터리 셀 모델에 대한 Simulink 제어 전략.

최적의 충전 전류 도출에는 다음 전략이 사용됩니다(그림 6).

  • 0% SOC와 선택한 초기 온도에서 공급업체가 허용하는 가장 빠른 속도로 배터리를 충전합니다.
  • 산화전극 전위가 지정된 임계값에 도달하면 전류를 줄입니다.
  • 배터리 셀의 가장 뜨거운 부분이 최대 작동 온도에 도달하면 속도를 줄입니다.
  • 과충전을 방지하기 위해 단자 전압이 최대 전압 한계에 도달하면 속도를 줄입니다.
  • 필요한 경우 전해질의 리튬 농도와 같은 다른 상태를 기반으로 다른 경감 조건을 추가합니다.
  • 정전압 단계가 C/10에 도달하면 충전이 중지됩니다.
  • 최종 전달된 전류 신호를 최종 고속 충전 전류 프로파일로 저장합니다.
cellSimulation = sim("CellLevelFastCharge.slx","StartTime","0","StopTime","3600");
run("PlotCellSimulation.mlx"); 
이산화된 배터리 셀 모델 시뮬레이션을 위해 시간 경과에 따른 배터리 온도, 전압, 충전 상태 등의 변수를 표시하는 여러 그래프입니다.

그림 6. 이산화된 배터리 셀 모델 시뮬레이션의 결과.

표 3은 우리가 가정한 이산화된 셀 수준 시뮬레이션 결과를 요약한 것입니다.

표 3. 셀 고속 충전 시간.
SOC 윈도우 고속 충전 시간(분) 조건
0~80% 14 @ 35°C 초기 온도, BoL, 가정된 제약 조건
0~100% 30 @ 35 °C 초기 온도, BoL, C/10 CV 조건

셀 고속 충전 지도

이전 섹션에서 설정된 고속 충전 컨트롤러는 가정된 초기 온도 및 SOC에만 유효하고 이러한 상태의 초기 또는 동적 값의 불균일성을 고려하지 않는 전류 프로파일을 출력합니다. 우리는 다양한 초기 조건에서 여러 시뮬레이션을 실행하여 온도와 SOC(수명 초기)의 함수로서 최대 충전 전류의 보다 일반적인 2차원 지도를 도출할 수 있습니다.

Stateflow® 논리를 사용하여 모든 초기 조건 세트에 대해 시뮬레이션을 실행하여 산화전극 전위 임계값 또는 단자 전압 임계값에 도달할 때까지 0A에서 전류를 빠르게 증가시킬 수 있습니다(그림 7). 이러한 임계값 중 하나에 도달하면 주어진 기간 동안 제한 변수를 임계값으로 일정하게 유지하기 위해 전류를 줄입니다. 이 기술 칼럼에서는 충전과 같은 장기간의 이벤트를 모방하기 위해 이 기간을 60초(연속 제한이라고도 함)로 임의로 정의합니다.

셀 충전 전류 제한을 얻는 데 사용되는 이산화된 배터리 셀의 Stateflow 모델.

그림 7. 셀 충전 전류 제한을 얻기 위해 사용되는 이산화된 배터리 셀 모델 시뮬레이션.

일반적으로 기간이 길어지면 전류 제한이 더 낮아지거나 더 제한됩니다. 시뮬레이션은 지정된 기간에서 중지된 다음 최종 현재 값을 제한으로 저장합니다(그림 8). 결과 맵은 산화전극 전위와 같은 내부 전기화학적 상태에 접근할 수 없는, 이전에 정의된 시스템 수준 시뮬레이션에 대한 입력으로 사용될 수 있습니다.

 InitialCellTemperatureVector = [5,15,25,35,45,50] + 273.15; % 단위: K 
InitialSOCVector = [0,0.05,0.1,0.2,0.5,0.6,0.8,0.95]; % 단위: -

for initTempIdx = 1:numel(InitialCellTemperatureVector)
    for initSOCIdx = 1:numel(InitialSOCVector)
        InitialCellTemperature = InitialCellTemperatureVector(initTempIdx);
        InitialSOC = InitialSOCVector(initSOCIdx);
        cellSimulations(initTempIdx).SOCPoint(initSOCIdx).Data = sim("CellLevelFastChargeLimitsStateFlow.slx","StartTime","0","StopTime","60");
        cellCurrentLimit(initTempIdx,initSOCIdx) = cellSimulations(initTempIdx).SOCPoint(initSOCIdx).Data.simout.Data(end);
        save cellCurrentLimit
    end
end

newCellCurrentLimit = [cellCurrentLimit, zeros(1,numel(cellCurrentLimit(:,1)))'];

figure("Color","w")
[xq,yq]= meshgrid([5:1:50]+273.15, 0:0.05:1);
vq = griddata(InitialCellTemperatureVector,[InitialSOCVector,1],newCellCurrentLimit',xq,yq);
mesh(xq,yq,vq)
xlabel('Temperature (°C)')
ylabel('State of Charge (-)')
zlabel('Current Limit (A)')
view([-5 3.5 5])
온도와 충전 상태에 따라 배터리의 현재 충전 한계를 나타내는 그래프입니다.

그림 8. 온도와 SOC의 함수로서 연속 충전 전류 제한 맵.

병렬 어셈블리 수준 고속 충전

EV 배터리팩을 제조할 때 일반적으로 배터리 셀은 먼저 다른 셀과 전기적으로 병렬로 연결되어 병렬 어셈블리를 형성하므로 배터리 용량과 에너지가 확장됩니다. 병렬 어셈블리 서브시스템의 고속 충전 프로파일을 계산하려면 얻은 셀 고속 충전 프로파일에 병렬 셀 수를 곱하기만 하면 됩니다. 이 숫자 P에 따라, 결과적인 고속 충전 전류는 충전소에 있는 일반 배터리 DC 충전기의 최대 전류 제한을 초과할 수 있습니다. 이는 시스템 수준의 고속 충전 시간을 예측할 때 염두에 두어야 할 중요한 제약 조건입니다.

총 셀 수가 고정된 특정 배터리 에너지를 고려할 때 400V 배터리팩은 일반적으로 800V 시스템보다 병렬로 연결된 셀 수가 더 많습니다. 첫 번째 섹션에서 도출된 최적의 셀 고속 충전 프로파일을 활용하려면 병렬로 연결된 셀 수가 많을수록 고속 충전 전류가 높아집니다. 일반적인 400V 시스템의 경우 더 높은 전류 또는 P 숫자는 충전기 스테이션에 의해 제한될 가능성이 더 높다는 것을 의미합니다(0% SOC에서 충전을 시작하는 경우). 이러한 제한으로 인해 셀의 고속 충전 기능이 향상되고 충전 속도가 느려질 수 있습니다. 표 4는 다양한 DC EV 충전기의 일반적인 최대 전류를 보여줍니다.

표 4. 고속충전기 사양.
일반적인 오프보드 충전기 전력 일반적인 최대 연속 전류
100kW 100~250A
350kW 350~500A

그림 9는 일반적인 400V 및 800V 시스템에 대한 500A의 과급기 전류 제한과 일반적인 확장, 병렬 어셈블리 수준 고속 충전 프로파일을 보여줍니다. 더 많은 수의 병렬 셀이 400V 시스템(주어진 배터리 에너지에 대해)과 관련되어 있으므로 “36 P” 병렬 어셈블리(400V 시스템)를 임의로 정의하겠습니다. 그런 다음 이 시스템을 “18 P” 병렬 어셈블리(35°C에서 800볼트 시스템)와 비교해 보겠습니다.

 run("parallelAssemblyProfile.m") 
y축에 배터리 전류가 있고 x축에 최대 충전 상태가 있는 그래프로, 배터리의 현재와 최대 충전 상태를 비교합니다.

그림 9. 35°C에서 800V와 400V 충전 프로파일을 비교합니다.

플롯에서 볼 수 있듯이 400V 시스템은 처음에는 셀의 모든 충전 기능을 활용할 수 없으므로 0~80% 충전이 예상되는 14분보다 오래 걸릴 수 있습니다.

일반적으로 전기적으로 연결된 배터리 어셈블리의 충전 속도는 가장 차가운 셀의 가장 차가운 지점과 SOC가 가장 높은 셀 내부의 가장 높은 SOC 지점에 의해 결정됩니다. 따라서 고속 충전 제어는 병렬 어셈블리 공장 모델에서 얻은 최소 셀 온도와 최고 SOC 신호를 기반으로 합니다.

배터리 셀은 일반적으로 냉각 플레이트(전기 절연층도 포함)와 접촉하는 방열 소재 위에 배치됩니다. 일부 불균일성(예: 셀과 냉각 플레이트 사이의 방열 소재 적용)을 가정하여 이 열 경로의 임의 변동을 정의합니다.

 ParallelAssembly1.CoolantResistance = 14 + (30-14)*rand(36,1)'; % 셀 수준 냉매 열 경로 저항, K/W 

Simscape로 모델링할 수 있지만 이 기술 칼럼에서 명시적으로 다루지 않는 고려해야 할 다른 중요한 측면은 다음과 같습니다.

  • 셀 제조로 인한 셀 간 내부 저항과 용량 변동.
  • 컬렉터 플레이트 설계는 적절하게 설계되지 않으면 약간의 전류 불균형을 일으킬 수 있습니다.
  • 주변 환경에 대한 다양한 열 경로(이러한 동역학은 일반적으로 더 느립니다).
  • 냉매 제어: 일반적으로 전기차에는 배터리 시스템(및 기타 컴포넌트)에서 열을 제거하기 위한 고정된 냉각 장치 또는 냉각 용량(예: 5kW)이 있습니다. 현실적인 냉매 제어도 배터리 고속 충전 시간에 중요한 영향을 미칩니다.

병렬 어셈블리 블록을 Simulink®에 통합하고 셀의 전기화학적 용량으로 방금 도출한 확장된 2D 전하 맵을 추가합니다. 또한 병렬 어셈블리에서 최대 셀 온도를 제한하기 위해 PI 컨트롤러를 추가했습니다(그림 10).

병렬 어셈블리 고속 충전 프로파일 제어 블록의 모델.

그림 10. 병렬 어셈블리 시뮬레이션(위)과 병렬 조립 고속 충전 프로파일 제어 블록(아래).

병렬 어셈블리 시뮬레이션을 실행하고 결과를 플로팅합니다(그림 11).

run("detailedPSet_param.m");
set_param("ParallelAssemblyLevelFastCharge","SimscapeLogType",'all')
pSetSimulation = sim("ParallelAssemblyLevelFastCharge.slx","StartTime","0","StopTime","5200");
run("PlotParallelAssemblySimulation.mlx"); % 결과 플로팅 
시간 경과에 따른 배터리 전류, 전압, 충전 상태 및 온도에 대한 병렬 어셈블리 시뮬레이션 결과를 보여주는 4개의 그래프.

그림 11. 병렬 어셈블리 시뮬레이션 결과.

요약 플롯에 표시된 것처럼 병렬 어셈블리는 시뮬레이션 시작 시 충전기 최대 전류 500A로 제한됩니다. 또한 가장 뜨거운 셀 온도가 55°C에 도달하여 열 경감이 발생하여 시뮬레이션 시간이 느려집니다. 배터리 동적 온도를 시각화하기 위해 다음 코드(그림 12)와 같이 배터리 시뮬레이션 로그 객체를 만들 수 있습니다.

pSetSimLog = BatterySimulationLog( battPSet, pSetSimulation.simlog.ParallelAssembly1);
pSetSimLog.SelectedVariableUnit = "degC";
f = uifigure("Color","w");
g = uigridlayout(f, [1,1]);
parallelAssemblyChart = BatterySimulationChart(Parent = g, ...
    BatterySimulationLog = pSetSimLog);
parallelAssemblyChartColorBar = colorbar(parallelAssemblyChart);
ylabel( parallelAssemblyChartColorBar, strcat("Cell temperature", " (", pSetSimLog.SelectedVariableUnit,")") ,'FontSize',14 );
parallelAssemblyChartColorBar = colormap(parallelAssemblyChart);
각각 특정 온도에 있는 개별 셀이 포함된 배터리팩을 보여주는 병렬 어셈블리 시뮬레이션 결과의 시각화입니다.

그림 12. 병렬 어셈블리 동적 BatteryChart 시뮬레이션 결과.

동적 배터리 플롯에 표시된 것처럼 셀 간에는 약 5°C의 온도 차이가 있습니다. 이러한 차이는 주로 냉매 가정에 대한 열 경로의 임의 변동으로 인해 발생합니다. 표 5는 병렬 어셈블리 시뮬레이션 결과를 보여줍니다. 0~80% SOC 고속 충전 시간은 주로 시스템 수준 제한과 열 가정으로 인해 10분 증가했습니다.

표 5. 병렬 어셈블리 충전 시간.
SOC 윈도우 고속 충전 시간(분) 조건
0~80% 24 @ 35°C 초기 온도, BoL
0~100% 43 @ 35 °C 초기 온도, BoL, C/10 CV 조건

R2024a까지의 맞춤형 셀 블록에 대한 지침

Simscape 배터리팩 빌더에는 맞춤형 셀 블록을 효과적으로 사용하기 위한 몇 가지 지침이 있습니다.

  • 사용자 정의 셀 모델에는 변수 이름이 power_dissipated인 변수를 가질 수 없습니다.
  • 열 효과가 필요한 경우 모델에는 열 영역 유형의 포트 또는 노드가 하나 이상 있어야 합니다.
  • 주요 셀 모델 블록 변수가 Simulink 캔버스에 표시되어야 하는 경우(예: Probe 블록 사용) 이 변수는 ExternalAccess에 대한 제한 없이 공개로 설정되어야 합니다. 그렇지 않으면 변수는 후처리를 위한 시뮬레이션 로그에만 표시됩니다.

시뮬레이션을 압축하는 모듈

위와 동일한 프로세스에 따라 위에서 생성된 모듈 블록과 팩과 같은 더 큰 배터리 블록에 대한 Simulink 모델을 생성할 수 있습니다. 그런 다음 이러한 블록을 2D 셀 충전 맵에 의존하는 동일한 병렬 어셈블리 충전 제어 블록에 연결할 수 있습니다. 표 6에는 이러한 시뮬레이션이 요약되어 있습니다. 일반적으로 일부 셀의 온도 확산이 증가하고 온도가 높아짐에 따라 현재 모듈 및 팩 설계에서는 고속 충전 시간이 약간 증가합니다.

표 6. 모듈과 팩의 급속 충전 결과.
모델 결과/동적 배터리 차트

0~80%: 25분
0~100%: 44분

0~80%: 27분
0~100%: 46분

결론

  • Simscape Battery와 About:Energy 블록 및 파라미터를 사용하여 배터리 고속 충전 시간을 조사한 결과 개별 셀 모델링부터 팩 시뮬레이션까지 체계적인 다중 규모 접근 방식의 중요성이 입증되었습니다. 우리는 배터리 관리 시스템의 정확성과 안전성을 보장하고 배터리 충전 분야의 지속적인 발전을 강화하기 위해 Simscape Battery가 지원하는 세부 팩 모델과 About:Energy TSPMe 및 전기 모델을 통합하는 것이 중요하다는 점을 강조합니다. 이러한 예측된 고속 충전 시간에 대한 주요 불확실성은 주로 모델 분해능(예: 전기열 이산화), 모델링 가정, 사용된 전기화학/ECM 모델의 정확성에 기인합니다. 일반적으로 모델의 이산화 또는 해상도가 높을수록 더 정확한 결과를 얻을 수 있습니다.
  • 셀투팩 워크플로우에서 볼 수 있듯이 배터리 고속 충전 시간은 다양한 변수의 함수이며 배터리팩 설계는 상당한 영향을 미칠 수 있습니다. 셀 수준에서 시작하여 배터리 셀이 충전할 수 있는 가장 빠른 속도는 소규모에서 발생하는 리튬 확산 및 이동 과정에 따라 달라집니다. 모듈과 팩 수준에서는 DC 충전기 전류 제한, 병렬 셀 수, 배터리팩 공칭 전압(400V 대 800V), 셀 내와 셀 내 간 온도 확산, 셀 내와 셀 내 간 SOC 확산, 셀 이외의 저항 등과 같은 다른 변수가 중요해집니다. 이 기술 칼럼에서 볼 수 있듯이 이러한 변수, 특히 온도 차이는 충전 속도에 중요한 영향을 미칠 수 있으므로 배터리 가상 설계 및 검증 워크플로에서 이를 고려하는 것이 가장 중요합니다.

다음 다이어그램은 이 기술 칼럼에서 연구한 400V 시스템에 대한 예상 셀투팩 배터리 고속 충전 시간을 보여줍니다(그림 13).

batteries = ["Cell","Parallel Assembly","Module", "Pack"];
batteries0To80ChargeTimes = [ChargeTime0To80 pSetChargeTime0To80  moduleChargeTime0To80 packChargeTime0To80];
batteries0To100ChargeTimes = [ChargeTime0To100 pSetChargeTime0To100  moduleChargeTime0To100 packChargeTime0To100];
figure("Color","w")
subplot(1,2,1)
bar(batteries,batteries0To80ChargeTimes)
ylabel("0 to 80% SOC Charge Time (min)")
grid on
subplot(1,2,2)
bar(batteries,batteries0To100ChargeTimes)
ylabel("0 to 100% SOC Charge Time (min)")
grid on
0~80% 충전 상태와 0~100% 충전 상태에서 다양한 배터리 구성의 충전 시간을 보여주는 두 개의 막대 차트.

그림 13. 셀투팩 고속 충전 시간.

2024년 기고

관련 기능에 대한 칼럼 보기

관련 산업에 대한 칼럼 보기