주요 콘텐츠

SOC Estimator (Coulomb Counting, Variable Capacity)

쿨롱 카운팅 방법과 가변 용량을 사용하는 충전 상태 추정기

R2023a 이후

  • SOC Estimator (Coulomb Counting, Variable Capacity) block

라이브러리:
Simscape / Battery / BMS / Estimators

설명

SOC Estimator (Coulomb Counting, Variable Capacity) 블록은 쿨롱 카운팅 방법을 사용하여 배터리의 SOC(충전 상태)를 계산하는 추정기를 구현합니다. 배터리의 셀 용량은 블록에 대한 입력값입니다. 블록은 누적 충전량을 이 입력값으로 나누어 충전 상태를 계산합니다. 그런 다음 블록은 배터리 전류를 적분하여 누적 충전량을 계산합니다.

SOC는 정격 용량 Crated에 대한 방출 용량 Creleasable의 비율입니다. 제조업체는 각 배터리의 정격 용량 값을 제공하며, 이는 배터리의 최대 충전량을 나타냅니다.

SOC=CreleasableCrated.

이 블록은 단정밀도 부동소수점 시뮬레이션과 배정밀도 부동소수점 시뮬레이션을 지원합니다.

참고

상속된 단정밀도 부동소수점 시뮬레이션을 사용하려면 모든 입력과 파라미터(샘플 시간(상속된 경우 -1) 파라미터 제외)의 데이터형이 single형이어야 합니다.

샘플 시간(상속된 경우 -1) 파라미터를 사용하여 블록의 연속 구현과 이산 구현 간에 전환할 수 있습니다. 연속시간에 대한 블록을 구성하려면 샘플 시간(상속된 경우 -1) 파라미터를 0으로 설정합니다. 이산시간에 대한 블록을 구성하려면 샘플 시간(상속된 경우 -1) 파라미터를 0이 아닌 양의 값으로 설정하거나, 또는 -1로 설정하여 업스트림 블록에서 샘플 시간을 상속합니다.

참고

이 블록의 연속시간 구현은 배정밀도 부동소수점 시뮬레이션에서만 작동합니다. 단정밀도 부동소수점 파라미터 및 입력을 제공하면 이 블록은 오류를 방지하기 위해 이를 배정밀도 부동소수점 값으로 형변환합니다.

다음 다이어그램은 블록의 구조를 보여줍니다.

방정식

배터리의 SOC를 계산하기 위해 SOC Estimator (Coulomb Counting, Variable Capacity) 블록은 암페어시와 전류 적분을 계산합니다.

SOC=SOC(t0)+1Cratedt0t0+τIbatt,

여기서 Crated는 공칭 배터리 용량이고 Ibatt은 배터리 전류입니다.

가정 및 제한 사항

배터리의 공칭 용량은 에이징을 고려하지 않습니다.

포트

입력

모두 확장

배터리 전류(단위: 암페어)로, 단일 셀의 경우 스칼라로 지정되며 여러 셀의 경우 벡터로 지정됩니다. 이 입력을 셀 전류의 벡터로 지정하려면 전류 입력을 셀 전류로 지정 파라미터를 선택합니다.

초기 충전 상태로, 스칼라로 지정되거나 범위 [0, 1] 내의 요소로 구성된 벡터로 지정됩니다. 이 입력 포트의 크기는 Current 입력 포트의 크기와 같아야 합니다.

배터리의 셀 용량(단위: 암페어시)으로, 순양수 스칼라로 지정됩니다. 블록은 누적 충전량을 이 값으로 나누어 충전 상태를 계산합니다. 블록은 배터리 전류를 적분하여 누적 충전량을 계산합니다.

출력

모두 확장

배터리의 충전 상태로, 스칼라 또는 벡터로 반환됩니다. 이 출력 포트의 크기는 Current 입력 포트와 InitialSOC 입력 포트의 크기와 같습니다.

파라미터

모두 확장

R2023b 이후

Current 입력 포트의 값을 셀 전류로 이루어진 벡터로 지정하는 옵션입니다. 이 파라미터를 선택하면 Current 입력 포트의 값은 스칼라이거나 블록 입력의 크기와 동일한 크기의 벡터가 될 수 있습니다.

연속적인 블록 실행 간의 시간입니다. 실행하는 동안 블록은 출력을 생성하고 필요한 경우 내부 상태를 업데이트합니다. 자세한 내용은 샘플 시간이란? 항목과 샘플 시간 지정하기 항목을 참조하십시오.

상속된 이산시간 동작의 경우, 이 파라미터를 -1로 지정합니다. 이산시간 동작의 경우, 이 파라미터를 양의 정수로 지정합니다. 연속시간 동작의 경우, 이 파라미터를 0으로 지정합니다.

이 블록이 마스크 처리된 서브시스템에 있거나 연속 동작과 이산 동작 간의 전환을 허용하는 Variant 서브시스템에 있는 경우 샘플 시간 파라미터를 승격합니다. 샘플 시간 파라미터를 승격하면 블록의 연속 구현과 이산 구현 간의 올바른 전환을 보장할 수 있습니다. 자세한 내용은 Promote Block Parameters on a Mask 항목을 참조하십시오.

R2025a 이후

블록 알고리즘의 데이터형을 선택하는 옵션으로, 다음 값 중 하나로 지정됩니다.

  • 상속: 자동 — 블록을 단정밀도배정밀도 모두로 시뮬레이션할 수 있습니다. 입력과 파라미터를 single형이나 double형으로 명시적으로 제공해야 합니다.

  • double형 — 블록 알고리즘이 모든 입력과 파라미터를 double 데이터형으로 형변환합니다.

  • single형 — 블록 알고리즘이 모든 입력과 파라미터를 single 데이터형으로 형변환합니다.

  • <데이터형 표현식> — 블록 알고리즘이 모든 입력과 파라미터를 지정한 데이터형 객체로 형변환합니다.

데이터형 도우미를 표시합니다 버튼 을 클릭하면 데이터형 특성을 설정하는 데 도움을 주는 데이터형 도우미가 표시됩니다. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목과 Control Data Types of Signals 항목을 참조하십시오.

확장 기능

모두 확장

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2023a에 개발됨

모두 확장