Simulink와 모델 기반 설계를 사용한 배터리 관리 | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

Simulink와 모델 기반 설계를 사용한 배터리 관리


PDF 다운로드



자료제공/매스웍스코리아


시스템 개발

산업 전반에 걸쳐 배터리 팩 에너지 저장에 대한 의존도가 커지면서 다양한 충전-방전 및 환경 조건에서 최대한의 성능과 안전한 조작, 최적의 수명을 보장할 수 있는 BMS(배터리 관리 시스템)의 중요성이 더욱 두드러지고 있다. 이러한 목표를 충족하는 BMS를 설계하기 위해 엔지니어는 다음과 같은 일을 수행하는 피드백 및 감독 제어 알고리즘을 개발한다.

이 백서에서는 엔지니어가 Simulink®로 시스템 수준 시뮬레이션을 수행하여 BMS 알고리즘 및 소프트웨어를 개발하는 방법을 설명한다. Simulink를 사용한 모델 기반 설계를 통해 배터리 팩의 동적 거동을 이해하고 소프트웨어 아키텍처를 살펴보고 작동 케이스를 테스트하고 조기에 하드웨어 테스트를 시작하여 설계 오류를 줄일 수 있다. 모델 기반 설계를 사용하면 BMS 모델은 설계의 기능적 측면에 대한 데스크탑 시뮬레이션, 업계 표준에 대한 정형 검증 및 확인, 실시간 시뮬레이션 및 하드웨어 구현을 위한 코드 생성을 포함한 모든 설계 및 개발 활동의 기반 역할을 한다(그림 1).

AR(Simulink)-1.jpg

[그림 1] Simulink와 모델 기반 설계를 사용한 배터리 관리 시스템 개발 워크플로

• 데스크탑 시뮬레이션: Simulink의 데스크탑 시뮬레이션을 통해 충전-방전 거동(단일 셀 등가 회로 정식화 사용), 전자회로 설계, 피드백 및 감독 제어 알고리즘과 같은 BMS 설계의 기능적 측면을 검증할 수 있다. 데스크탑에서는 거동모델을 사용하여 배터리 시스템, 환경 및 알고리즘이 시뮬레이션된다. 예를 들어 능동 및 수동 셀 밸런싱 구성과 알고리즘을 살펴보면서 특정 응용 사례에 대한 각 밸런싱 방식의 적합성을 평가할 수 있다. 하드웨어 프로토타입 과정에 돌입하기 전에 데스크탑 시뮬레이션을 사용하여 새로운 설계 아이디어를 탐색하고 여러 시스템 아키텍처를 테스트할 수 있다. 또한 예를 들어 절연 이상이 감지될 때 접촉기의 개폐가 차단되는지를 검증함으로써 데스크탑 시뮬레이션에 서 요구사항 테스트도 수행할 수 있다.

• 실시간 시뮬레이션: 시뮬레이션을 통해 검증한 후에는 Simulink 모델을 사용하여 RP(신속 프로토타이핑) 또는 HIL(Hardware-in-the-Loop) 테스트를 위한 C 및 HDL 코드를 생성하여 실시간으로 BMS 알고리즘을 추가적으로 검증할 수 있다. RP에서는 실시간 테스트를 위한 제어 소프트웨어 코드를 손으로 직접 작성하지 않고 그 대신 제어기 모델에서 코드를 생성하여 이를 생산용 마이크로컨트롤러의 기능을 수행하는 실시간 컴퓨터에 배포한다. 자동 코드 생성을 통해 모델에 적용된 알고리즘 변경 사항을 며칠이 아닌 몇 시간 안에 실시간 하드웨어에서 테스트할 수 있다. 

또한 Simulink 내에서 실시간 제어 하드웨어와 상호 작용하여 알고리즘 파라미터를 변경하고 테스트 데이터를 기록할 수 있다. 신속 프로토타이핑과 마찬가지로 HIL 테스트에서는 Simulink 모델에서 코드를 생성하여 이를 실시간 컴퓨터에 배포하게 된다. HIL 테스트의 경우, 코드는 제어 알고리즘 모델이 아닌 배터리 시스템 모델로부터 생성되어 배터리 팩, 능동 및 수동 회로 소자, 부하, 충전기 및 기타 시스템 구성요소를 나타내는 가상 실시간 환경을 제공한다. 이 가상 환경을 통해 하드웨어 프로토타입을 개발하기 전에, 하드웨어가 손상되지 않는 환경에서 실시간으로 BMS 제어기의 기능을 검증할 수 있다. 데스크탑 시뮬레이션 중에 개발된 테스트는 HTL 테스트로 전달되어 BMS 설계를 발전시키는 과정에서 요구사항을 충족하도록 한다. 마이크로컨트롤러 또는 FPGA에서 실행되는 코드를 테스트하는 데 HIL 테스트가 주로 사용되지만, 생산 하드웨어 선택 전에 HIL 설정에 연결된 Simulink Real-Time™ 및 Speedgoat 타겟 하드웨어와 같은 신속 프로토타이핑 시스템을 대신 사용할 수도 있다.

• 하드웨어 구현: 하드웨어 구현 단계에서 데스크탑 시뮬레이션, RP 및 HIL을 통해 검증된 Simulink 제어 모델은 BMS를 위한 생산 준비 코드를 생성하는 데 사용된다. 필요한 경우 자동차, 항공우주 및 기타 규제 대상 산업에 사용되는 공식 인증 표준에 부합하는 워크플로에 생산 코드 생성을 도입할 수 있다.


데스크탑 시뮬레이션: BMS 소프트웨어 모델링하기

BMS 제어 소프트웨어 개발에 중심이 되는 사실적인 시뮬레이션을 수행하려면 먼저 배터리 팩의 정확한 모델이 필요하다. 배터리는 배터리의 물리적 구성을 고려하고 전자 열화학 속성을 포착하는 FEA(유한 요소 해석) 모델을 사용하여 설계되는 경우가 많다. 이러한 모델은 배터리 팩의 화학 및 기하 구조를 설계하는 용도로는 손색이 없지만 제어 엔지니어에게는 시스템 수준의 설계 및 소프트웨어 개발에 더 적합한 모델이 필요하다


배터리 셀의 모델링 및 특성 나타내기

Simulink에서 BMS 알고리즘을 개발하는 경우, 등가 회로를 사용하여 배터리 셀의 열전 거동을 시뮬레이션할 수 있다. 등가 회로는 일반적으로 전압원, 직렬 저항, 그리고 하나 이상의 저항-커패시터 병렬 쌍으로 구성된다. (그림 2). 전압원은 개방 회로 전압을 제공하며 이외의 구성요소는 셀의 내부 저항과 시간 종속 거동을 모델링한다. 

AR(Simulink)-2.jpg

[그림 2] 서로 다른 3개의 시정수, 내부 저항 및 개방 회로 전위가 있는 배터리의 등가 회로

이러한 등가 회로 요소는 일반적으로 온도 및 SOC(충전 상태)에 종속적이다. 이러한 종속성은 각 배터리의 화학 구조에 따라 고유하므로, 설계 중인 제어기를 사용할 배터리 셀과 동일한 유형의 배터리 셀에 대해 수행된 측정값을 사용하여 이러한 종속성을 파악해야 한다. Simulink와 MATLAB®의 최적화를 사용하여 실험 데이터와 모델의 상관관계를 통해 등가 회로를 파라미터화할 수 있다.

Simscape Electrical™ 구성요소를 통합하여 단위 셀 수준에서 모듈 및 팩 수준으로 확장하고 셀과 주변 회로를 직관적으로 결합할 수 있다. 팩 수준 시뮬레이션을 통해 다양한 팩 구성이 에너지 저장 용량, 전력 공급률, 열 운용영역선도에 미치는 영향을 평가할 수 있다. 또한 팩 수준의 시뮬레이션을 통해 전원, 부하, 보호 회로와 같은 다른 시스템 구성요소와 팩의 상호작용을 살펴볼 수도 있다. 


전력 전자 및 수동 구성요소 모델링하기

배터리 팩 모델 외에도, 사실적인 BMS 시뮬레이션을 위해서는 배터리 시스템을 전원 및 부하에 연결하는 회로 구성요소의 정확한 모델이 필요하다. Simulink의 애드온 제품인 Simscape Electrical은 셀 밸런싱을 위한 아날로그 프론트 엔드 등의 완전한 배터리 시스템 회로를 구성하는 데 필요한 능동 및 수동 전기 구성요소 라이브러리 일체를 제공한다. 충전원은 PV(태양광 발전) 시스템과 같이 DC 공급 또는 전류가 정류되는 AC 전원으로 이루어질 수 있다. 

Simulink를 사용한 시스템 수준의 시뮬레이션을 통해 배터리를 중심으로 정교한 충전원을 구축하고 다양한 운용 범위 및 고장 조건에서 BMS를 검증할 수 있다. 배터리 팩 부하도 유사한 방식으로 모델링 및 시뮬레이션할 수 있다. 예를 들어 배터리 팩은 인버터를 통해 EV(전기 자동차)의 PMSM(영구자석 동기모터)에 연결될 수 있다. 

시뮬레이션으로 드라이브 사이클을 통해 EV의 동작에 변화를 주고 변하는 동작 상태에 따른 BMS의 유효성을 평가할 수 있다


전력 전자 및 수동 구성요소 모델링하기

배터리 팩 모델 외에도, 사실적인 BMS 시뮬레이션을 위해서는 배터리 시스템을 전원 및 부하에 연결하는 회로 구성요소의 정확한 모델이 필요하다. Simulink의 애드온 제품인 Simscape Electrical은 셀 밸런싱을 위한 아날로그 프론트 엔드 등의 완전한 배터리 시스템 회로를 구성하는 데 필요한 능동 및 수동 전기 구성요소 라이브러리 일체를 제공한다. 충전원은 PV(태양광 발전) 시스템과 같이 DC 공급 또는 전류가 정류되는 AC 전원으로 이루어질 수 있다. 

Simulink를 사용한 시스템 수준의 시뮬레이션을 통해 배터리를 중심으로 정교한 충전원을 구축하고 다양한 운용 범위 및 고장 조건에서 BMS를 검증할 수 있다. 배터리 팩 부하도 유사한 방식으로 모델링 및 시뮬레이션할 수 있다. 예를 들어 배터리 팩은 인버터를 통해 EV(전기 자동차)의 PMSM(영구자석 동기모터)에 연결될 수 있다. 

시뮬레이션으로 드라이브 사이클을 통해 EV의 동작에 변화를 주고 변하는 동작 상태에 따른 BMS의 유효성을 평가할 수 있다.


감독 제어 알고리즘 개발하기

BMS 감독 제어 알고리즘을 개발하는 엔지니어는 상태 머신을 사용하여 결함 검출 및 관리, 충전 및 방전 전력 제한, 온도 제어, 셀 밸런싱을 위한 감독 로직을 모델링한다(그림 3). Stateflow®는 상태 머신과 순서도를 기반으로 조합 및 순차 의사 결정 로직을 모델링하고 시뮬레이션하는 환경이다. BMS에 대한 감독 제어 알고리즘을 개발하는 경우, Stateflow를 사용하여 이벤트, 시간 기반 조건 및 외부 입력 신호에 대한 배터리 시스템의 반응을 모델링할 수 있다. 예를 들어 CCCV(정전류 정전압) 충전의 경우 셀이 전류 충전 모드에서 전압 충전 모드로 전환되는 시점을 제어하는 상태 로직을 개발하고 테스트할 수 있다.

AR(Simulink)-3.jpg

[그림 3] Stateflow 다이어그램에 구현된 셀 밸런싱 로직

충전 상태 추정하기

SOC 추정을 위한 알고리즘 개발에서 정확한 배터리 모델은 필수적이다. OCV(개방회로 전압) 측정 및 전류 적분(전하 집적법)과 같은 일반적인 SOC 추정 방법은 어떤 경우에는 상당히 정확하다. 그러나 평탄한 OCV-SOC 방전 시그니처를 갖는 현대 배터리 화학 구조를 위한 SOC를 추정하기 위해서는 다른 접근 방법이 필요하다. 이러한 접근 방법 중 EKF(확장 칼만 필터링)는 적절한 계산 비용으로 정확한 결과를 제공하는 것으로 입증된 접근 방법이다. Simulink에는 SOC 추정을 위한 관측기를 개발할 수 있는 EKF 블록이 포함되어 있다. 일반적으로 이러한 관측기에는 셀에서 측정된 전류 및 전압을 입력으로 사용하는 비선형 시스템(배터리) 모델, 그리고 2단계 예측/업데이트 프로세스를 기반으로 시스템의 내부 상태를 계산하는(그 중에 SOC도 있음) 재귀 알고리즘이 포함되어 있다(그림 4).

AR(Simulink)-4.jpg

[그림 4] Simulink에서 무향 칼만 필터를 사용한 배터리 충전 상태 추정

성능 상태 추정하기

제조 시점에서 성능 사양을 충족하는 배터리를 포함한 모든 배터리는 시간이 경과하면서 캘린더 수명과 사이클링으로 인해 성능이 저하되어 보유 용량이 점진적으로 줄어들고 내부 저항이 높아집니다. 후자는 짧은 시간 측정을 사용하여 비교적 간단하게 추정할 수 있지만 전자는 정확한 계산을 위해 완전 충전 또는 방전 과정이 필요하며 이는 실용성이 떨어질 수 있다. 이 과제를 해결하기 위해 SOH(성능 상태) 추정, 그리고 상태 외에 배터리 파라미터도 포함하도록 확대된 EKF 공식화 개발에 대한 관심이 높아졌다. 순시 내부 저항의 정확한 추정은 BMS가 전력 제한을 설정하는 데 있어 매우 유용하다. 

SOH 추정은 SOC 추정에 비해 더 주관적이다. SOH의 정의에 대한 보편적인 합의는 없는 상황이다. 그 결과, 각 조직마다 SOH 추정을 정량화하는 방법이 다를 수 있고, 이로 인해 범용적인 솔루션을 사용하는 것이 불가능하다. 

Simulink를 사용하면 배터리 성능에 대한 조직의 특정 해석에 맞게 사용자 지정 SOH 추정 알고리즘을 개발 및 시뮬레이션할 수 있다.


데스크탑 시뮬레이션을 사용한 테스트

테스트 절차에 데스크탑 시뮬레이션을 도입하면 테스트 케이스를 작성 및 실행하여 가능한 모든 로직 및 폐루프 제어 브랜치를 따라 BMS를 실행할 수 있다. 이는 하드웨어를 사용한 테스트에서는 거의 불가능한 수준의 커버리지이다. 이 접근 방식에서 시뮬레이션 모델은 BMS 설계 및 테스트를 이끄는 실행 가능한 사양 역할을 한다(그림 5). 

개발 중인 배터리 시스템이 안전 요구사항을 충족해야 하는 경우 IEC 61508, IEC 61851, ISO 26262와 같은 표준에 따라 정형 기법 기반의 테스트를 소프트웨어 개발 공정에 통합할 수 있다.

AR(Simulink)-5.jpg

[그림 5] Simulink에서 모델링된 배터리 팩, 접촉기, 인버터, 충전기를 포함한 BMS 알고리즘 및 플랜트 동특성

실시간 시뮬레이션: BMS 소프트웨어 검증하기

신속 프로토타이핑과 HIL 테스트를 모두 포괄하는 실시간 시뮬레이션을 통해 전력 전자 제어 엔지니어는 BMS 설계가 하드웨어에서 어떻게 동작할지에 대해 더 깊게 이해할 수 있다. RP와 HIL의 공통적인 목표는 전체 설계의 한 측면을 하드웨어에서 모방하는 것이다. RP에서는 BMS 제어기를, HIL에서는 배터리 시스템의 밸런스를 모방한다.

Simulink에서 데스크탑 시뮬레이션을 재사용하여 실시간 시뮬레이션을 위한 코드를 생성함으로써 전체적인 개발시간을 단축할 수 있다. 실시간 성능에 최적화된 컴퓨터에서 실행되는 C/C++ 및 HDL 코드를 생성할 수 있다. 

실시간 시뮬레이션을 위해 Simulink 모델에서 생성되는 코드에는 실시간 시뮬레이션 실행 중에 제어 파라미터를 조정할 수 있게 해주는 인터페이스가 포함된다.

AR(Simulink)-6.jpg
[그림 6] 배터리 관리 시스템 소프트웨어의 HIL(Hardware-in-the-Loop) 테스트. BMS 코드는 Simulink에서 모델링된 BMS 알고리즘에서 생성되어 Texas Instruments C2000 마이크로컨트롤러에 배포된다. 플랜트 모델(배터리 팩, 접촉기, 인버터, 충전기)은 Simulink에서 모델링된다. 코드가 생성 및 배포되어 배터리 에뮬레이터가 있는 Speedgoat 실시간 머신에서 실행된다.

신속 프로토타이핑 수행하기

하드웨어 테스트 중에 제어기 코드를 변경하면 지연과 부가적인 위험이 발생할 수 있다. 코드를 손으로 수정하고 다시 컴파일하고 마이크로컨트롤러 또는 FPGA에 배포하려면 시간이 소요되며, 변경 작업을 소프트웨어 또는 하드웨어 엔지니어에게 의존하는 제어 알고리즘 개발자라면 그 시간이 길어질 수 있다. 또한 필요한 변경의 범위에 따라 구현된 코드에 새로운 문제가 발생할 위험도 있다.

컨트롤러 소프트웨어에 대한 코드 업데이트를 손으로 작성하는 대신 Simulink를 사용하여 전용 컴퓨터에서 실시간으로 실행되고 고속 I/O를 사용하여 테스트 하드웨어와 통신하는 코드를 생성할 수 있다. 수동 코딩 및 이와 관련된 지연을 없애는 것 외에, 이 RP 접근 방식의 또 다른 이점은 데스크탑에서 먼저 시뮬레이션 모델을 실행하여 다른 문제가 발생하지 않는지 확인함으로써 BMS 소프트웨어에 대한 변경을 검증할 수 있다는 것이다.

 

HIL(Hardware-in-the-Loop)을 이용하여 테스트하기

배터리 시스템에 대한 하드웨어 프로토타입을 구축하고 수정하는 데는 많은 노력이 들 수 있고 수리하는 데도 큰 비용이 드는 경우가 많으므로 배터리 팩이 작동할 전기 시스템을 대상으로 이러한 프로토타입을 테스트하는 방법은 항상 가능하진 않다. 이러한 한계를 감안하면 작은 설계 변경이라 해도 개발 일정에 지장을 초래할 수 있다. 또한 팀들은 이전 설계에서 급격한 변경을 시도하는 것은 너무 위험하다고 생각하므로 BMS 설계는 느리게 발전하는 경향이 있다.

Simulink를 사용하면 배터리 시스템, 그리고 공급과 부하를 포함하는 배터리 시스템이 속한 더 큰 시스템의 하드웨어의 모델에서 C/C++ 및 HDL 코드를 생성할 수 있다. 이 코드를 실시간 컴퓨터에 배포하면 배터리 시스템 프로토타입 내 제어기를 테스트하기 전에 제어기 코드를 대상으로 하드웨어의 실시간 시뮬레이션을 실행할 수 있다. 결과적으로 제어 설계 오류가 값비싸고 교체하기 어려운 프로토타입 하드웨어를 손상시키기 전에 오류를 찾아 수정할 수 있다. 또한 부정확한 구성요소 크기 설정과 같은 하드웨어 설계 오류도 발견할 수 있다. 

Speedgoat 타겟 하드웨어를 포함한 많은 HIL 실시간 시스템에는 배터리 에뮬레이터를 포함하므로 이동식 배터리 전력 공급 장치를 모방하고 전기 자동차 또는 싱크 전류에 대한 배터리 스택을 모방하여 충전 중인 배터리를 시뮬레이션할 수 있다.


생산 준비 코드 생성

Simulink는 생산 마이크로컨트롤러, FPGA 및 ASIC에서 구현할 준비가 된 제어기 모델로부터 가독성이 좋고 간소하며 효율적인 C/C++ 및 HDL 코드를 생성한다. 생산용으로 생성되는 코드는 RP용으로 생성된 코드와 달리 실시간 모니터링, 파라미터 조정 및 데이터 로깅을 지원하는 데 필요한 부가적인 인터페이스를 포함하지 않는다. 최적화 설정을 통해 사용자는 생성된 함수, 파일 및 데이터를 정밀하게 제어하여 코드 효율성을 개선하고 레거시 코드, 데이터형 및 보정 파라미터와의 통합을 원활하게 진행할 수 있다.


PIL(Processor-in-the-Loop) 시뮬레이션 수행하기

PIL(Processor-in-the-Loop) 시뮬레이션에서는 C/C++ 또는 HDL 코드는 마이크로컨트롤러 또는 FPGA에서 실행되고 기기는 BMS 하드웨어의 Simulink 모델로 실행에 개입하여, BMS 코드의 초기 평가 중 하드웨어 프로토타입이 손상될 위험을 낮춘다. PIL 시뮬레이션은 실시간으로 실행되지는 않지만 Bit-True 시뮬레이션이므로 사용자는 다양한 조건에서 코드를 확인하고 실제 시스템에 배포되는 경우 올바르게 실행될 것이라는 믿음을 가질 수 있다.


생산 코드 생성하기

데스크탑 시뮬레이션, RP, HIL, PIL 시뮬레이션을 통해 사용자는 BMS에 대한 제어 알고리즘을 확인 및 검증할 수 있다. Simulink를 사용하여 생산 준비 코드(마이크로컨트롤러에 구현하기 위한 최적화되고 안정적인 C/C++ 코드 또는 FPGA 프로그래밍 또는 ASIC 구현을 위한 합성 가능한 HDL 코드)를 생성하기 위한 기반으로 이러한 알고리즘을 사용할 수 있다. 자동 코드 생성을 통해 수동 알고리즘 변환 오류를 없애고 Simulink에서 검증한 알고리즘과 수치적 동등성을 갖춘 C/C++ 및 HDL 코드를 생성할 수 있다. 

가능한 모든 동작 및 고장 조건에서 제어 알고리즘을 시뮬레이션하면 직접 이런 조건에서 모두 테스트할 수 없더라도 생성된 코드가 실제 시스템에서 이러한 상황에 대처할 수 있다는 믿음을 가질 수 있다. 이후의 하드웨어 테스트에서 알고리즘 변경이 필요한 것으로 나타나면 모델에서 알고리즘을 수정하고 시뮬레이션 테스트 케이스를 다시 실행하여 정확하게 변경이 되었음을 확인하고 새로 업데이트된 코드를 생성하기만 하면 된다. 생성된 모든 C/C++ 및 HDL 코드는 완전히 이식 가능하고, 다양한 옵션으로 최적화할 수 있으며, Simulink 모델과의 양방향 추적성을 갖는다(그림 7). 

AR(Simulink)-7.jpg

[그림 7] Simulink에서 모델링된 BMS 알고리즘에서 자동으로 BMS 생산 코드 생성하기. 코드는 Texas Instruments C2000 마이크로컨트롤러로 배포된다.

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정