전동화는 전기차(예: 승용차, 버스), 선박, eVTOL(전기 수직 이착륙), BESS(배터리 에너지 저장 시스템) 등 다양한 응용 사례에서 배터리 사용을 이끌고 있습니다. 이러한 응용 사례들은 셀 선택, 배터리팩 설계(전력/에너지 밀도, 부피, 무게, 수명), BMS(배터리 관리 시스템) 개발 등 배터리 시스템 설계에 대한 서로 다른 요구사항을 가집니다.
테스트하기 전에 배터리 시스템 설계를 시뮬레이션하면 배터리팩의 동적 거동에 대한 이해를 얻을 수 있습니다. 또한 이를 통해 BMS 알고리즘을 탐색 및 비교하고, 구동 테스트 케이스를 확장하며, 배터리 셀부터 배터리 시스템까지의 기술 개발 주기를 단축할 수도 있습니다.
배터리 시스템 개발 워크플로는 배터리 모델링으로 시작되며, 이후 다음 단계로 이어집니다.
Simulink® 및 Simscape Battery™를 활용하면 배터리 시스템 개발 워크플로를 배터리 모델링으로 시작해 배터리팩 설계, BMS 알고리즘 개발 단계로 진행할 수 있습니다. 그런 다음 폐루프 데스크탑 시뮬레이션을 수행해 배터리팩 설계 및 BMS를 검증할 수 있습니다. 그다음 단계는 신속 프로토타이핑과 HIL(Hardware-in-the-Loop) 테스트를 사용한 실시간 모델 시뮬레이션입니다. 개발의 마지막 단계는 하드웨어 구현, 배포 및 테스트입니다.
배터리 모델에는 ECM(등가 회로 모델), 전기화학 모델 및 데이터 기반 모델의 세 가지 각기 다른 유형이 있습니다. Simscape Battery 및 Simulink 제품을 사용해 이러한 모델을 만들고 시뮬레이션을 실행할 수 있으며, 코드 생성 지원을 통해 해당 모델을 모두 Simulink에 통합할 수 있습니다.
등가 회로 모델
전기화학 배터리 모델
전기화학 배터리 모델은 충전 및 방전 중에 배터리 내에서 발생하는 내부의 물리 및 화학 공정을 설명하는 수학적 모델입니다. ECM과 비교했을 때, 전기화학 배터리 모델은 내부 배터리 공정에 대한 자세한 인사이트를 제공하므로 셀 설계, 열화 연구, 고속 충전 전류 최적화 및 극한의 동작 조건에서 더 정확한 성능 예측에 유용합니다.
Simscape Battery는 다음을 제공합니다.
- 리튬 석출 및 SEI(고체 전해질 계면) 성장을 비롯한 SPMe(전해질을 고려한 단일 입자 모델)를 사용해 배터리를 표현하는 Battery Single Particle 블록.
- 리튬 확산, 전기화학 반응, 전하 보존, 열 발생 동역학 같이 배터리 내부에서 발생하는 상세한 물리적 전기화학적 공정을 시뮬레이션할 수 있는 DFN(Doyle-Fuller-Newman) 배터리 모델 (또는 P2D(의사 2차원) 배터리 모델이라고도 부름)
데이터 기반 배터리 모델
데이터 기반 배터리 모델은 시스템 식별, 머신러닝, 딥러닝 등의 방법에 경험적 데이터를 사용해 배터리 거동을 시뮬레이션하고 예측합니다. 이 모델은 시스템 수준 시뮬레이션을 위해 Simulink에 통합할 수 있으며 코드 생성을 지원합니다. 데이터 주도 배터리 모델은 예를 들어 배터리 노화 모델링의 배터리 열화 메커니즘 같이 내부 동역학을 분석적으로 포착하기 어려운 경우에 이상적입니다. 데이터 기반 배터리 모델은 전기차 관리, 예측 정비, 고급 진단뿐만 아니라 대규모 데이터셋을 사용할 수 있고 배터리 수명 예측 정확도를 향상하는 기타 응용 분야에 적합합니다.
딥러닝을 사용해 저차원 비선형 상태공간 모델을 만들 수 있습니다. 이러한 유형의 모델에 사용되는 훈련 데이터는 실험 데이터 또는 충실도가 매우 높은 모델(예: FEA 배터리 모델)의 시뮬레이션 데이터일 수 있습니다.
MATLAB®에서 배터리 빌더 앱 또는 Simscape Battery API(애플리케이션 프로그래밍 인터페이스)를 사용해 배터리팩을 설계할 수 있습니다. 설계의 기초 요소에는 셀 설계, 병렬 조립, 모듈, 모듈 조립, 배터리팩 설계 등이 포함됩니다.
배터리 빌더 앱 또는 API를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
- 셀에서 모듈까지 그리고 모듈에서 팩까지, 다양한 지오메트리와 위상으로 배터리 모델 구축 및 시각화.
- 유체 유로와 배터리팩과의 열적 연결을 사용자 지정 가능한 냉각 플레이트 모델링.
- 사용자 지정 셀 컴포넌트로부터 배터리 모델 구축
- 셀 간 열교환 모델링.
- 셀 간 온도 편차 탐색 및 냉각 효율 측정.
- 배터리팩 설계를 위한 사용자 지정 Simulink 라이브러리 모델 생성.
- 적절한 모델 분해능을 설정해 모델 충실도와 시뮬레이션 속도 간의 균형 달성.
핵심 요점
- 다양한 모델 분해능으로 사용자 지정 배터리팩 개발.
- 배터리 모델에 열 효과 추가.
- 시뮬레이션을 위한 배터리팩 모델 생성.
참고 자료
- 배터리 셀부터 배터리 시스템까지 (2:44) - 비디오
- 배터리 빌더 앱 시작하기 - 문서
- 사용자 지정 셀 컴포넌트로부터 배터리 모델 구축 - 문서
- 셀 간 열교환을 고려한 배터리 모듈 모델 구축 - 문서
엔지니어는 MATLAB 및 Simulink로 배터리 열 관리 시스템을 설계해 배터리팩의 온도가 사양 범위를 벗어나지 않도록 조절하고, 다양한 동작 조건에서 최적의 성능을 내도록 할 수 있습니다.
배터리의 열 거동 포착하기
엔지니어는 Simscape Battery를 사용해 셀에서 팩에 이르는 다양한 충실도 수준에서 배터리 열 거동을 모델링해 온도 불균일성과 그것이 성능, 안전성 및 노화에 미치는 영향을 파악할 수 있습니다.
셀 수준에서는 셀 높이 방향으로 열 모델을 이산화해 열 모델링의 충실도를 높이고 셀 내부의 온도 구배를 모델링할 수 있습니다.
모듈 수준 및 팩 수준에서는 구성 가능한 셀 간 열 경로를 통해 전도, 대류 및 복사 효과를 표현할 수 있으므로 셀 간 온도 편차 및 열 전파를 분석할 수 있습니다.
Simscape Battery는 정확도와 시뮬레이션 속도 간의 균형을 맞추기 위해 고충실도 유한요소법 또는 유한체적법 해석으로부터 도출된 차수 축소 열 모델을 지원하며, 이를 통해 주요 열 동역학을 보존하면서도 시스템 수준 시뮬레이션, 실시간 실행 및 Hardware-in-the-Loop 테스트를 수행할 수 있습니다.
Simscape Battery의 평행 유로 블록.
Simscape Battery의 U자형 유로 블록.
Simscape Battery의 가장자리 냉각 블록.
배터리 열 관리를 위한 제어 설계하기
Simulink를 사용하면 피드 스트림(밸브) 제어, 질량 유량(펌프) 제어, 열교환 경로 선택 제어 등 순환 시스템 제어에 사용되는 피드포워드 및 PID 기법을 조합한 폐루프 제어를 설계할 수 있습니다. Simscape Battery를 사용하면 Battery Coolant Control, Battery Heater Control 등 사전 구축된 블록들을 사용해 배터리 열 관리 제어 알고리즘을 구축할 수 있습니다. Stateflow를 사용하면 주변 온도와 배터리 온도에 기반해 가열 및 냉각 등의 동작 모드 간의 전환을 위한 감독 제어 논리를 설계할 수 있습니다.
핵심 요점
- 셀 간 열교환을 고려한 배터리 모듈 구축.
- 사전 구축된 냉각 플레이트 블록 사용.
- 침지 냉각을 적용한 열 이산화 셀 모델링.
- 차수 축소 열 모델을 활용한 배터리 온도 모델링
"Mahindra Electric에서는 1차원 시뮬레이션을 사용해 배터리 열 관리 시스템을 최적화하고 있습니다. Simscape를 사용해 시스템 모델의 배터리, 냉각 회로, 냉동 회로를 효과적으로 구현했습니다. 차량, 운전자, 등가 회로 모델은 Simulink 플랫폼에서 구현했습니다."
배터리 관리 시스템은 배터리의 안전, 효율성, 수명, 더 나아가 시스템의 전반적인 성능과 안정성에 직접적인 영향을 미칩니다. 배터리 관리 시스템의 주요 기능은 모니터링, 상태 추정, 셀 밸런싱, 전력 관리, 열 관리, 보호 및 통신입니다.
Simulink 및 Simscape를 사용하면 배터리팩의 동적 거동을 이해하고 소프트웨어 아키텍처를 살펴보고 작동 케이스를 테스트하고 조기에 하드웨어 테스트를 시작해 설계 오류를 줄일 수 있습니다. 엔지니어는 Simscape Battery에 내장된 BMS 제어 블록을 사용해 설계된 배터리팩 성능을 평가하고 BMS 알고리즘을 개발하고 시스템 수준 시뮬레이션을 실행할 수 있습니다.
충전 상태 추정하기
SOC(충전 상태)를 추정하는 방법은 단순한 전류 적분(전류 적산법) 및 전압 모니터링에서 칼만 필터 및 신경망과 같은 정교한 모델 기반 및 데이터 주도 방법에 이르기까지 다양합니다.
정확한 배터리 모델은 배터리 관리 시스템에서 모델 기반 SOC 추정을 위한 알고리즘 개발에 필수적입니다. OCV(개방 회로 전압) 룩업 및 전류 적분(전류 적산법) 등 배터리 관리 시스템의 기존 SOC 추정 접근법은 구현하기 쉬우며 어떤 경우에는 상당히 정확합니다. 하지만, OCV 기반 접근법의 경우 OCV 측정이 필요하며 이를 위해서는 오랜 휴지 기간이 선행되어야 합니다. 전류 적산법은 초기화 불량 및 전류 측정 잡음의 축적 문제가 있습니다. EKF(확장 칼만 필터) 및 UKF(무향 칼만 필터)는 실제 BMS 구현에서 합리적인 수준의 연산으로 정확한 결과를 제공하는 것으로 입증된 방식입니다.
칼만 필터에 비해, 신경망을 사용해 SOC 추정기를 개발할 경우에는 배터리 및 배터리의 비선형 거동에 관한 광범위한 정보가 필요하지 않습니다. 대신에 전류, 전압, 온도 데이터로 신경망을 훈련시키고 SOC를 응답으로 활용합니다. 투영을 사용해 신경망을 압축할 수 있습니다. 이는 CPU에서 실행하거나 라이브러리가 없는 C 또는 C++ 코드 생성을 사용해 BMS 임베디드 하드웨어에 배포할 때 더 빠른 순방향 전파를 보여줍니다.
참고 자료
성능 상태 추정하기
제조 시점에서 성능 사양을 충족하는 배터리를 포함한 모든 배터리는 시간이 경과하면서 캘린더 수명과 사이클링으로 인해 성능이 저하되어 보유 용량이 점진적으로 줄어들고 내부 저항이 높아집니다. 후자는 짧은 시간 측정을 사용해 비교적 간단하게 추정할 수 있지만 전자는 정확한 계산을 위해 완전 충전 또는 방전 과정이 필요하며 이는 실용성이 떨어질 수 있습니다.
이 과제를 해결하기 위해 SOH(성능 상태) 추정, 그리고 상태 외에 배터리 파라미터도 포함하도록 확대된 적응형 칼만 필터 공식 개발에 대한 관심이 높아졌습니다. 순시 내부 저항의 정확한 추정은 BMS가 전력 제한을 설정하는 데 있어 매우 유용합니다.
SOH 추정은 SOC 추정에 비해 더 주관적입니다. SOH의 정의에 대한 보편적인 합의는 없는 상황입니다. 그 결과, 각 조직마다 SOH 추정을 정량화하는 방법이 다를 수 있고, 이로 인해 범용적인 솔루션을 사용하는 것이 불가능합니다. Simulink 및 Simscape를 사용하면 배터리 성능에 대한 조직의 특정 해석에 맞게 사용자 지정 SOH 추정 알고리즘을 개발 및 시뮬레이션할 수 있습니다.
핵심 요점
- Simscape Battery는 칼만 필터 또는 최소제곱 알고리즘을 활용해 용량을 추정할 수 있는 사전 구축된 블록들을 제공합니다.
셀 밸런싱, 배터리 충전, 배터리 모니터링
Simscape Battery에는 셀 밸런싱, 배터리 충전, 배터리 보호를 위한 사전 구축된 라이브러리 블록이 제공되어 있습니다.
셀 밸런싱 기능은 과잉 전하를 블리드 저항을 통해 발산시킴으로써 모든 셀의 SOC를 비슷하게 유지해 줍니다. 밸런싱은 과충전 또는 방전으로 인해 손상될 수 있는 셀의 수명을 연장하기 위해 필요합니다. 셀 밸런싱이 이루어진 경우에는 셀이 많아지면 용량이 개선됩니다.
배터리 충전은 CC-CV(정전류-정전압) 알고리즘으로 제어됩니다. 이는 충전 중에 과전류와 과전압을 방지해 배터리 수명을 유지하는 일반적인 방식입니다. 사전 설정된 전압에 도달할 때까지 충전 중에 전류가 제한됩니다.
배터리를 보호하려면 전류, 전압, 온도를 모니터링해야 합니다. Simscape Battery에는 BMS 알고리즘에 통합할 수 있는 블록이 제공됩니다.
BMS 모델 안에 구현된 배터리 모니터링 블록.
핵심 요점
- Simscape Battery에는 셀 밸런싱, 전류 및 전압의 제어, 전압, 전류 및 온도의 모니터링을 위한 블록이 제공됩니다.
Simulink에서 데스크탑 시뮬레이션을 사용하면 배터리 시스템 설계의 기능적 측면들을 검증할 수 있습니다. 데스크탑에서는 거동 모델을 사용해 배터리 시스템, 환경 및 알고리즘이 시뮬레이션됩니다. 예를 들어 능동 및 수동 셀 밸런싱 구성과 알고리즘을 살펴보면서 특정 응용 사례에 대한 각 밸런싱 방식의 적합성을 평가할 수 있습니다. 하드웨어 프로토타입 과정에 돌입하기 전에 데스크탑 시뮬레이션을 사용해 새로운 설계 아이디어를 탐색하고 여러 시스템 아키텍처를 테스트할 수 있습니다. 또한 예를 들어 절연 이상이 감지되었을 때 접촉기의 개폐가 차단되는지를 검증함으로써 데스크탑 시뮬레이션에서 요구사항 테스트도 수행할 수 있습니다.
개발 중인 배터리 시스템이 안전 요구사항을 충족해야 하는 경우 IEC 61508, IEC 61851, ISO® 26262와 같은 표준에 따라 정형 기법 기반의 테스트를 소프트웨어 개발 프로세스에 통합할 수 있습니다.
"Simulink에서 제어기 모델을 개발하면서 우리는 모델 어드바이저를 사용해 스타일 지침과 모델링 표준을 준수하는지 수시로 확인했습니다. 또한 Simulink Design Verifier™를 사용해 모델에서 데드 로직, 0으로 나누기 오류 및 기타 설계 오류도 확인했습니다."
데스크탑 시뮬레이션을 통해 검증한 후에는 Simulink 모델을 사용해 RP(신속 프로토타이핑) 또는 HIL(Hardware-in-the-Loop) 테스트를 위한 C 및 HDL 코드를 생성해 실시간으로 BMS 알고리즘을 추가적으로 검증할 수 있습니다. RP에서는 실시간 테스트를 위한 제어 소프트웨어 코드를 손으로 직접 작성하지 않고 그 대신 제어기 모델에서 코드를 생성해 이를 프로덕션 마이크로컨트롤러의 기능을 수행하는 실시간 컴퓨터에 배포합니다. 자동 코드 생성을 통해 모델에 적용된 알고리즘 변경 사항을 며칠이 아닌 몇 시간 안에 실시간 하드웨어에서 테스트할 수 있습니다. 또한 Simulink 내에서 실시간 제어 하드웨어와 상호 작용해 알고리즘 파라미터를 변경하고 테스트 데이터를 기록할 수 있습니다.
신속 프로토타이핑과 마찬가지로 HIL 테스트에서는 Simulink 모델에서 코드를 생성해 이를 실시간 컴퓨터에 배포하게 됩니다. HIL 테스트의 경우, 코드는 제어 알고리즘 모델이 아닌 배터리 시스템 모델로부터 생성되어 배터리팩, 능동 및 수동 회로 소자, 부하, 충전기 및 기타 시스템 컴포넌트를 나타내는 가상 실시간 환경을 제공합니다. 이 가상 환경을 통해 하드웨어 프로토타입을 개발하기 전에, 하드웨어가 손상되지 않는 환경에서 실시간으로 BMS 제어기의 기능을 검증할 수 있습니다.
데스크탑 시뮬레이션 중에 개발된 테스트는 HIL 테스트로 전달되어 BMS 설계를 발전시키는 과정에서 요구사항을 충족하도록 합니다. 마이크로컨트롤러 또는 FPGA에서 실행되는 코드를 테스트하는 데 HIL 테스트가 주로 사용되지만, Simulink Real-Time™ 및 Speedgoat® 타겟 하드웨어와 같은 신속 프로토타이핑 시스템을 대신 사용하고 HIL 설정에 연결한 후에 프로덕션 제어 하드웨어를 선택할 수도 있습니다.
"우리는 모델 기반 설계로 아이디어부터 프로덕션 코드 생성에 이르기까지 개발을 위한 통합 공정을 갖추었습니다. MathWorks 툴을 통해 조기 및 지속적 설계 검증이 용이한 환경에서 우리의 자체적인 전문지식을 사용해 핵심 배터리 관리 기술을 개발할 수 있었습니다."
BMS 소프트웨어 검증하기
신속 프로토타이핑과 HIL 테스트를 모두 포괄하는 실시간 시뮬레이션을 통해 전력전자 제어 엔지니어는 BMS 설계가 하드웨어에서 어떻게 동작할지에 대해 더 깊게 이해할 수 있습니다. RP와 HIL의 공통적인 목표는 전체 설계의 한 측면을 하드웨어에서 모방하는 것입니다. RP에서는 BMS 제어기를, HIL에서는 배터리 시스템의 밸런스를 모방합니다. 실시간 시뮬레이션은 BMS 설계에서 여러 큰 이점을 제공하여 다음을 수행할 수 있게 해줍니다.
- 최종 제어기 하드웨어를 선택하기 전에 RP를 수행하여 알고리즘 검증 시작.
- 빠른 설계 반복 및 테스트를 위해 실시간 테스트 시스템의 유연성 활용.
- 배터리 시스템 프로토타입 하드웨어가 준비되기 전에 HIL 테스트 수행.
- 실제 하드웨어를 사용할 경우 어렵고 값비싸거나 위험할 수 있는 테스트 케이스에 대해 RP와 HIL 테스트 조합을 사용하여 BMS 알고리즘 실행.
배터리 관리 시스템 소프트웨어의 HIL(Hardware-in-the-Loop) 테스트. BMS 코드는 Simulink에서 모델링된 BMS 알고리즘에서 생성되어 Texas Instruments® C2000 마이크로컨트롤러에 배포됩니다. 플랜트 모델(배터리팩, 접촉기, 인버터, 충전기)은 Simulink에서 모델링됩니다. 코드가 생성 및 배포되어 배터리 에뮬레이터가 있는 Speedgoat 실시간 머신에서 실행됩니다.
배터리 관리 시스템 소프트웨어의 HIL(Hardware-in-the-Loop) 테스트. BMS 코드는 Simulink에서 모델링된 BMS 알고리즘에서 생성되어 Texas Instruments® C2000 마이크로컨트롤러에 배포됩니다. 플랜트 모델(배터리팩, 접촉기, 인버터, 충전기)은 Simulink에서 모델링됩니다. 코드가 생성 및 배포되어 배터리 에뮬레이터가 있는 Speedgoat 실시간 머신에서 실행됩니다.
Simulink에서 데스크탑 시뮬레이션을 재사용해 실시간 시뮬레이션을 위한 코드를 생성함으로써 전체적인 개발 시간을 단축할 수 있습니다. 실시간 성능에 최적화된 컴퓨터에서 실행되는 C/C++ 및 HDL 코드를 생성할 수 있습니다. 실시간 시뮬레이션을 위해 Simulink 모델에서 생성되는 코드에는 실시간 시뮬레이션 실행 중에 제어 파라미터를 조정할 수 있게 해주는 인터페이스가 포함됩니다.
신속 프로토타이핑 수행하기
하드웨어 테스트 중에 제어기 코드를 변경하면 지연과 부가적인 위험이 발생할 수 있습니다. 코드를 손으로 수정하고 다시 컴파일하고 마이크로컨트롤러 또는 FPGA에 배포하려면 시간이 소요되며, 변경 작업을 소프트웨어 또는 하드웨어 엔지니어에게 의존하는 제어 알고리즘 개발자라면 그 시간이 길어질 수 있습니다. 또한 필요한 변경의 범위에 따라 구현된 코드에 새로운 문제가 발생할 위험도 있습니다.
컨트롤러 소프트웨어에 대한 코드 업데이트를 손으로 작성하는 대신 Simulink를 사용해 전용 컴퓨터에서 실시간으로 실행되고 고속 I/O를 사용해 테스트 하드웨어와 통신하는 코드를 생성할 수 있습니다. 수동 코딩 및 이와 관련된 지연을 없애는 것 외에, 이 RP 접근법의 또 다른 이점은 데스크탑에서 먼저 시뮬레이션 모델을 실행하여 다른 문제가 발생하지 않는지 검증함으로써 BMS 소프트웨어에 대한 변경을 확인할 수 있다는 것입니다.
Hardware-in-the-Loop을 활용한 테스트
배터리 시스템에 대한 하드웨어 프로토타입을 구축하고 수정하는 데는 많은 노력이 들 수 있고 수리하는 데도 큰 비용이 드는 경우가 많으므로 배터리팩이 작동할 전기 시스템을 대상으로 이러한 프로토타입을 테스트하는 방법은 항상 가능하진 않습니다. 이러한 한계를 감안하면 작은 설계 변경이라 해도 개발 일정에 지장을 초래할 수 있습니다. 또한 팀들은 이전 설계에서 급격한 변경을 시도하는 것은 너무 위험하다고 생각하므로 BMS 설계는 느리게 발전하는 경향이 있습니다.
Simulink를 사용하면 배터리 시스템, 그리고 공급과 부하를 포함하는 배터리 시스템이 속한 더 큰 시스템의 하드웨어의 모델에서 C/C++ 및 HDL 코드를 생성할 수 있습니다. 이 코드를 실시간 컴퓨터에 배포하면 배터리 시스템 프로토타입 내 제어기를 테스트하기 전에 제어기 코드를 대상으로 하드웨어의 실시간 시뮬레이션을 실행할 수 있습니다. 결과적으로 제어 설계 오류가 값비싸고 교체하기 어려운 프로토타입 하드웨어를 손상시키기 전에 오류를 찾아 수정할 수 있습니다. 또한 부정확한 컴포넌트 크기 설정과 같은 하드웨어 설계 오류도 발견할 수 있습니다.
Speedgoat 타겟 하드웨어를 비롯한 많은 HIL 실시간 시스템은 배터리 에뮬레이터를 포함하므로 이동식 배터리 전력 공급 장치를 모방하고 전기차 또는 싱크 전류에 대한 배터리 스택을 모방해 충전 중인 배터리를 시뮬레이션할 수 있습니다.
"Speedgoat가 Simulink를 위한 플러그 앤 플레이 실시간 플랫폼을 확실히 개발해냈다고 생각합니다. 덕분에 우리는 제어 시스템을 테스트하는 데 더 많은 시간을 쓸 수 있었고 HIL 벤치를 개발하는 데 더 적은 시간을 쓸 수 있었습니다."
하드웨어 구현 단계에서 데스크탑 시뮬레이션, RP 및 HIL을 통해 검증된 Simulink 제어 모델은 BMS를 위한 프로덕션 준비 코드를 생성하는 데 사용됩니다. 필요한 경우 자동차, 항공우주 및 기타 규제산업에서 사용되는 공식 인증 표준에 준용하는 워크플로에 프로덕션 코드 생성을 도입할 수 있습니다.
프로덕션 준비 코드 생성
Simulink는 프로덕션 마이크로컨트롤러, FPGA 및 ASIC에서 구현할 준비가 된 제어기 모델로부터 가독성이 좋고 간소하며 효율적인 C/C++ 및 HDL 코드를 생성합니다. 프로덕션 목적으로 생성되는 코드는 RP 목적으로 생성된 코드와 달리 실시간 모니터링, 파라미터 조정 및 데이터 기록을 지원하는 데 필요한 부가적인 인터페이스를 포함하지 않습니다. 최적화 설정을 통해 사용자는 생성된 함수, 파일 및 데이터를 정밀하게 제어해 코드 효율성을 개선하고 레거시 코드, 데이터형 및 보정 파라미터와의 통합을 원활하게 진행할 수 있습니다.
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 모델과의 양방향 추적성을 갖습니다.
"우리는 실제 회로에서 검증하기 전에 Simulink에서 시뮬레이션을 통해 인증에 필요한 모든 요구사항을 확인했습니다. Embedded Coder®를 사용해 모델에서 직접 코드를 생성했으므로 시뮬레이션과 실제 임베디드 소프트웨어 간에 아무런 차이가 없었습니다."
참고 자료
- 프로덕션 코드 생성하기 - 고객 사례
추천하는 다음 단계
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)