DOI QR코드

DOI QR Code

Design and control performance validation of HILS system based on MATLAB/Simulink

MATLAB/Simulink기반 HILS 환경 구축 및 제어 성능 검증

  • 함민우 (강원대학교, 에너지.인프라 융합학과) ;
  • 백인수 (강원대학교, 기계의용-메카트로닉스공학과 / 에너지인프라 융합학과)
  • Received : 2023.11.29
  • Accepted : 2024.02.28
  • Published : 2024.03.31

Abstract

In this study, a hardware-in-the-loop simulation (HILS) environment was established using MATLAB/Simulink to simulate and verify the power performance of a wind turbine. The target wind turbine was selected as the NREL 5 MW model, and modeling was performed based on the disclosed specifications. The HILS environment consists of a PC equipped with a MATLAB/Simulink program, a programmable logic controller (PLC) for uploading and linking control algorithms, and data acquisition (DAQ) equipment to manage wind turbine data input and output. The operation of the HILS environment was carried out as a procedure of operation (PC) of the target wind turbine modeled based on MATLAB/Simulink, data acquisition (PLC) of control algorithms, control command calculation (PLC), and control command input (PC). The simulation was performed using the HILS environment under turbulent wind conditions and compared with the simulation results performed under the same conditions in the HILS environment using the commercial program Bladed for performance verification. From the comparison, it was found that the dynamic simulation results of the Bladed HILS and the MATLAB HILS were close in power performances and the errors in the average values of rotor rotation speed and power generation between the two simulations were about 0.44 % and 3.3 %, respectively.

Keywords

기호설명

u : 풍속 [m/s]

P : 출력 [W]

TAero : 공력 토크 [Nm]

R : 로터 반지름 [m]

ρ : 공기 밀도 [kg/m3]

\(\begin{align}\dot{x}\end{align}\) : 타워의 전후 방향 속도 [m/s]

mt : 나셀 및 로터의 질량 [kg]

β : 블레이드 피치각 [deg]

βCMD : 블레이드 피치각 제어 지령 [deg]

CP : 출력 계수

CT : 추력 계수

Tg : 발전기 토크 [Nm]

TCMDg : 발전기 토크 제어 지령 [Nm]

Ωg : 발전기 회전속도 [rad/s]

ηelec : 발전기 전기적 효율

1. 서론

풍력터빈의 제어기술은 풍력터빈의 자율운전을 가능하게 하기 위한 기술로서, 전체적인 풍력터빈의 대기, 시동, 정상운전, 정상정지, 비상정지 등의 기능을 수행하기 위한 운영제어와, 정상운전 상황에서의 풍력터빈의 출력과 하중을 필요한 성능으로 유지하기 위한 성능제어로 나눌 수 있다. 또한, 풍력터빈의 성능제어는 해당 풍속에서의 풍력터빈의 출력을 최대로 하거나, 정격출력(또는 상위 제어기로부터의 감발 출력지령)을 유지하기 위한 출력 제어와, 메인샤프트, 블레이드 혹은 타워에 가해지는 비틀림, 터빈의 전후방향, 좌우방향 모멘트를 저감하기 위한 하중저감 제어로 나눌 수 있다. 풍력터빈 제어기에서 출력제어 또는 하중저감제어를 수행하기 위한 지령은 요 오차를 줄이기 위한 요각 지령을 제외하고는 두 종류의 지령으로 제한되어 있으며 블레이드 엑츄에이터 컨트롤러로 전달되는 블레이드 피치각 지령과, 전력변환기로 전달되는 발전기 반력토크 지령이 있다. 이 두 지령은 상호적으로 작용하여, 풍력터빈의 출력을 제어하게 된다.

발전기 반력 토크를 이용하여 출력을 최대로 제어하는 방법은 정격 이하의 풍속 구간에서 사용되며 블레이드 피치각을 fine pitch로 고정한 상태에서, 로터의 에너지 추출 효율인 로터출력계수(Rotor Power Coefficient)를 최대로 하기 위한 발전기 반력토크 값을 지령으로 사용한다. 반면에, 블레이드 피치각을 이용하여 출력을 정격출력으로 유지하는 제어 방법은 정격 이상의 풍속 구간에서 사용되며, 발전기 반력토크는 정격 토크값으로 고정한 상태에서, 로터의 회전속도를 정격회전속도로 일정하게 유지하기 위한 블레이드 피치각 값을 지령으로 이용한다. 즉 블레이드 피치각이 fine pitch 보다 큰 양의 각으로 변화하면, 로터 출력계수가 감소하기 때문에, 동일 발전기 반력 토크에 대해 로터의 회전속도가 감소된다[1-3]. 이와같은 블레이드 피치각 지령은 3개의 블레이드에 동일한 피치각 지령이 사용되기 때문에, 집단피치제어(Collective pitch control)라고 한다.

이와 같은 기본적인 출력제어방법에 더하여, 하중저감 제어방법으로 각 블레이드의 피치각을 다르게 제어하여 회전하는 로터의 불평형 하중을 감소시키는 개별 피치제어(Individual Pitch Control)와 토크제어에서 피치제어로 전환되는 풍속구간에서 선제적으로 블레이드 피치각을 증가시켜 로터의 최대 추력을 저감시키는 피크 셰이빙(Peak Shaving), 타워 루트부에서의 굽힘하중을 줄이기 위한 타워댐퍼(Tower damper), 드라이브 트레인의 비틀림 모드 가진을 차단하기 위한 드라이브 트레인 댐퍼 (Drive-train damper) 등의 방법이 적용된다. [4-5]

풍력터빈의 출력제어나 하중저감제어 알고리즘의 개선이 이루어지거나, 새로운 알고리즘이 개발되는 경우, 새로운 제어알고리즘은 풍력터빈에 실제 적용하기 이전에, 여러 단계의 알고리즘 검증 과정을 거치게 된다. 이와같은 풍력터빈의 제어알고리즘의 검증은 크게 풍력터빈을 모사하는 하드웨어 모델을 이용하는 방법과 소프트웨어 모델을 이용하는 방법이 있다. 또한, 하드웨어를 이용하는 방법은 축소 모델을 활용한 풍동실험 방법과 MG-set(Motor-Generator Set)를 이용한 실험방법으로 나눌 수 있다. 축소 모델을 이용한 풍동실험은 대형 풍력터빈과 유사한 거동을 보이도록 설계, 제작된 소형 풍력터빈 모델에 제어 알고리즘을 적용한 뒤 풍동에서 운전데이터를 측정하는 방법으로 알고리즘의 성능을 검증한다[6-8]. 제어 알고리즘을 실제 소형 풍력터빈에서 실험적으로 검증한다는 차원에서 이점이 있지만, 실제 풍력터빈과 축소모델과의 차이가 존재하기 때문에, 실제 터빈 적용시 제어알고리즘의 성능 불확실성이 존재한다.

MG-set를 이용한 실험방법은 실제 풍력터빈을 모사할 수 있는 풍력터빈을 Motor-Generator Set 로 구현하게 되며, Motor-Generator Set 와 풍력터빈 제어알고리즘이 적용된 PLC를 연동하여 동적 시뮬레이션을 통해 제어 알고리즘의 성능을 검증하게 된다. 이 경우 MG-set 는 축소모델을 이용한 풍동실험과 달리 실제 난류바람이 적용되지 않은 상황에서, 바람에 의한 로터 토크를 모사하기 위해 적용된 Motor로 주축이 회전하게 되며, 발전기의 반력토크 제어에 의한 출력이 측정된다. 소형 풍력터빈의 경우 실제 터빈에 적용된 발전기를 적용한 MG-set 구성이 가능하지만, 대형 풍력터빈의 경우 일반적으로 대형 풍력터빈을 상사한 소형 용량의 MG-set이 이용된다[9-11].

MG-Set의 모터와 발전기는 직접 축으로 연결되거나 기어박스를 거쳐 두 축이 연결되며 축에는 블레이드와 같은 회전관성을 가진 더미블레이드가 장착된다. MG-Set는 실제 바람이 블레이드에 적용되지 않기 때문에, 블레이드 피치각 제어가 적용된다고 하더라도, 블레이드 피치각 변화에 따른 공력토크변화가 직접 더미블레이드에서 생성되지 않는다. 따라서, 더미 블레이드의 블레이드 피치각 변화는 모니터링의 목적으로만 의미를 갖게 된다. 즉 MG-set 에서는 발전기 반력토크에 국한된 제어알고리즘 검증이 가능한 한계를 갖는다.

또한, 풍력터빈의 제어알고리즘을 검증하는 방법 중 하드웨어를 사용하지 않고 소프트웨어만 이용하는 방법은 PC에 상세 모델링된 대상 풍력터빈과 제어 알고리즘을 연동하여 동적 시뮬레이션을 진행하는 방법으로, 실제 대상 풍력터빈모델을 이용하여 다양한 난류바람 하에서 제어성능을 테스트해볼 수 있는 장점이 있다. 하지만, 모든 검증 과정이 컴퓨터 시뮬레이션 만으로 이루어진다는 한계점을 갖는다.

이와같은 동적시뮬레이션 기반의 소프트웨어 활용 제어알고리즘 검증을 보완하기 위한 방법으로, 컴퓨터 시뮬레이션과 하드웨어 제어기를 연동한 HILS(Hardware In the Loop Simulation) 가 제안되었다. HILS 의 경우, 실제 풍력터빈에서 측정하게 되는 신호를 PC의 풍력터빈 모델에서 계산된 동적 시뮬레이션 결과로 대체하여 PC 외부의 PLC(Programmable Logic Controller)가 풍력터빈 신호를 받아들이게 된다. 또한, PLC에 설치된 제어 알고리즘을 통해 받아들인 신호에 의해, 계산된 제어 명령을 다시 PC로 전송하여 동적 시뮬레이션 상황에서의 풍력터빈을 제어하게 된다[12-14].

풍력터빈과 제어알고리즘이 연동된 상황에서의 동적 시뮬레이션에는 일반적으로 Bladed 또는 FAST 와 같은 동적 시뮬레이션 툴이 많이 사용된다. 이 중 Bladed 의 경우 HTM (Hardware Test Module)을 제공하고 있으며, 이를 이용할 경우, Bladed를 이용한 동적 시뮬레이션과 제어 알고리즘이 적용된 PLC를 결합한 HILS 구현이 가능하다. 하지만, 이 경우 풍향이 시간영역에서 동적으로 변화하는 상황에서의 풍력터빈 운전상황이나, 복수의 풍력터빈으로 구성된 풍력발전단지에 대한 HILS 구현 등 Bladed 프로그램에서 제공하지 않는 시뮬레이션 환경은 HILS 구현이 불가한 한계점을 갖는다.

이러한 한계점을 극복하는 방법으로 본 논문에서는 풍력터빈의 동적시뮬레이션을 Bladed 프로그램을 이용하지 않고 Matlab/Simulink 프로그램을 활용한 Matlab/Simulink-PLC HILS를 제안하고자 하였다. 이를 위해 NREL 5MW 풍력터빈을 대상으로 하여, 풍력터빈 모델을 Bladed 프로그램이 아닌 Matlab/Simulink 모델로 구축하고 Bachmann PLC와 PC (Personal Computer)에 구현된 Matlab/Simulink간 통신이 가능하도록 DAQ (Data Acquisition)장비를 이용하여 HILS 시스템을 구축하였다. 또한 구축된 HILS 시스템의 검증을 위해, NREL 5 MW 풍력터빈의 제어 알고리즘을 C-Code 로 구현하여 Bachmann PLC 에 적용한 후 정격이하와 정격이상을 모두 포함하는 정격풍속 구간에서의 난류바람이 적용된 동적 시뮬레이션을 통해, Bladed HILS 대비 Matlab/Simulink HILS 의 성능을 비교, 검증하였다.

2. 소프트웨어 구성

2.1 대상 풍력터빈 모델링

본 연구의 대상 풍력터빈은 상세 모델링 정보가 공개되어있는 NREL 5 MW 풍력터빈으로 제원은 Table 1에 표기되어 있다. 제원을 바탕으로 Simulink 터빈의 수학적 모델링을 진행하였다[15]. Fig. 1은 가상의 풍력 터빈인 NREL 5 MW이 3D 모델링된 모습이다.

HKPRAO_2024_v15n1_60_3_f0001.png 이미지

Fig. 1 NREL 5 MW wind turbine drawing from Bladed [16]

Table 1 NREL 5 MW Property

HKPRAO_2024_v15n1_60_3_t0001.png 이미지

NREL 5 MW 풍력터빈의 제원을 바탕으로 제작한 Matlab/Simulink 모델의 구조는 Fig. 2와 같다. 입력값에는 풍속과 두 제어명령이 있으며 출력에는 발전량, 발전기의 회전속도 및 피치각이 있다. 피치각의 동작을 모사하는 피치엑츄에이터모델(Pitch actuator model)은 1차 시스템(First-order system) 모델로 식(1)과 같은 형태이며 제어기로부터 피치 제어 지령을 입력받아 블레이드 피치각을 출력한다[17-18].

\(\begin{align}\frac{\beta(s)}{\beta^{C M D}(s)}=\frac{1}{\tau s+1}\end{align}\)       (1)

HKPRAO_2024_v15n1_60_4_f0001.png 이미지

Fig. 2 Simulink wind turbine model

공력모델(Aerodynamic Model)은 로터 토크와 추력 계산을 위한 모델로서, 입력받은 로터 회전속도와 풍속을 통해 계산한 선단속도비와 블레이드 피치각을 바탕으로, Bladed 프로그램에서 선제적으로 구축된 로터의 출력계수(CP), 추력계수(CT) 룩업 테이블(Look-up table)을 이용하여 로터 토크와 추력이 계산되며 계산식은 각각 식 (2), (3)과 같다[18].

\(\begin{align}T_{\text {Aero } o}=\frac{1}{2} \rho \pi R^{3} u^{2} C_{P}(\lambda, \beta)\end{align}\)       (2)

\(\begin{align}F_{T}=\frac{1}{2} \rho \pi R^{2} u^{2} C_{T}(\lambda, \beta)\end{align}\)      (3)

공력모델로부터 출력된 로터 공력토크는 로터관성 모멘트와 발전기 회전자의 관성모멘트를 고려하는 Two-mass 드라이브 트레인 모델 (drive-train model)에 입력되며, 드라이브 트레인 모델은 발전기 모델에서 전달받은 발전기 반력토크와 로터의 공력토크를 이용하여 식 (4)를 통해 로터 회전속도가 계산된다[17].

\(\begin{align}\Omega_{r}=\frac{T_{a}-N T_{g}}{\left(J_{g} N^{2}+J_{r}\right) \cdot s}\end{align}\)       (4)

발전기는 1차 시스템 (First-order system) 모델로서 토크 지령에 대한 발전기 반력토크를 출력하며 식(5)와 같은 형태이며, 발전기에서 출력된 반력토크와 드라이브 트레인 모델 에서 계산된 발전기의 회전속도는 식(6)을 통해 발전기 출력 계산에 사용된다[17-18].

\(\begin{align}\frac{T_{g}(s)}{T_{g}^{C M D}(s)}=\frac{1}{\tau s+1}\end{align}\)       (5)

P = Ωg × Tg × ηelec      (6)

타워 모델은 공력모델에서 계산된 추력과 나셀의 질량을 바탕으로 나셀의 전후방향 속도가 계산되는 2차 시스템(Second-order system) 모델로 식 (7)과 같은 형태이며, 이 값은 나셀의 속도에 의해 변화된 로터 입력풍속을 계산하는데 사용된다[18].

\(\begin{align}\dot{x}_{\text {tower }}(s)=\frac{\frac{F_{T}}{m_{t}} s}{s^{2}+2 \zeta \omega_{n} s+\omega_{n}^{2}}\end{align}\)      (7)

2.2 제어기

Matlab/Simulink 및 Bladed의 HILS에 적용된 제어기는 모드스위치가 적용된 제어기로 Fig. 3과 같다. 제어기의 입력 값은 블레이드 피치각과 발전기 회전속도 그리고 발전기 출력이다. 모드 스위치에서는 이 세 변수의 입력값을 바탕으로 정격출력을 유지하기 위한 블레이드 피치제어와 해당 풍속에서의 출력을 최대로 하기위한 토크제어의 적용여부가 결정된다. 모드 스위치가 0인 경우는 블레이드 피치각은 fine pitch(0º)로 고정되며, 로터의 출력계수가 최대가 되도록 토크제어가 수행된다. 토크 제어는 오픈 루프 제어로 발전기의 회전속도를 입력받아 사전에 구축된 룩업테이블(Look-up table)을 통해 회전속도에 대응되는 발전기 토크 값을이 출력된다. 반대로, 모드 스위치가 1인 경우에는 발전기 토크는 정격 토크로 고정되며, 정격회전속도를 유지하기 위한 블레이드 피치제어가 수행된다. 블레이드 피치제어는 발전기 회전속도를 피드백하여, 정격 발전기 회전속도와의 오차값을 0으로 하기위한 피드백제어이며, 일반적으로 PI 또는 PID 제어가 사용된다. 본 연구에서는 PI 제어가 적용되었다[1, 3].

HKPRAO_2024_v15n1_60_4_f0002.png 이미지

Fig. 3 Simulation PI control algorithm

3. 하드웨어 구성

3.1 전체적인 구성

Matlab/Simulink 를 이용한 HILS 시스템의 구성은 Fig. 4와 같다. 그림에서와 같이 HILS 는 Matlab/Simulink를 이용한 풍력터빈 모델이 구축되어 있는 PC와 제어알고리즘이 적용되어 있는 PLC 그리고, 데이터 입/출력을 위한 DAQ 장비로 구성된다. PC의 Simulink 프로그램에 바람 데이터가 입력되면 터빈 모델에서 바람과 제어 명령의 초기값을 바탕으로 상태값을 출력하면 DAQ 장비를 통해 디지털 데이터가 아날로그 전기 신호로 PLC에 전달된다. PLC에서는 입력된 전압은 해당 풍력터빈 측정값의 물리량 값으로 변환되어 제어 알고리즘에 따라 제어 명령이 계산된다. 계산된 제어 알고리즘은 다시 전압으로 변환되어 PLC에서 DAQ장비를 통해 PC의 Simulink 터빈 모델에 입력된다.

HKPRAO_2024_v15n1_60_5_f0001.png 이미지

Fig. 4 Matlab/Simulink HILS device configuration

PC의 Simulink와 DAQ 장비는 Simulink의 에드온 중 Data Acquisition Toolbox를 이용하여 연동되었으며 시뮬레이션은 0.01초 간격으로 실시간 통신으로 진행되도록 설정하였다. DAQ장비는 제어기의 지령 신호를 받아들이기 위한 입력 디바이스와, 풍력터빈의 운전데이터를 출력하기 위한 아날로그 출력 디바이스가 사용되었다. PLC는 Bachmann사의 모델을 사용하였으며 유니버셜 IO 모듈 (GIO212)을 이용하여, DAQ 장비와 연결되었다.

4. 시뮬레이션 및 실험을 통한 검증

4.1 실험환경

본 연구에서 구축된 Matlab/Simulink 기반 HILS의 성능검증을 위해, Matlab/Simulink HILS 의 시뮬레이션 성능을 Bladed 기반 HILS 시뮬레이션 결과와 비교하였다.

Bladed 프로그램은 풍력터빈의 설계 및 동적성능 예측을 위해 사용되는 상용 시뮬레이션 툴로서, 국제적으로 풍력터빈 인증사에서 풍력터빈의 동적 시뮬레이션 정확도를 인정하는 프로그램이다. Bladed 프로그램은 출력성능 예측을 위해, 날개요소 운동량 이론(Blade Element Momentum Theory)과 동적유입류 모델(Dynamic Inflow Model)을 기반으로하고 있으며, 동적거동에 대한 예측을 위해 다물체 동역학(Multi-body dynamics) 이론을 적용하고 있다[19].

본 연구에서 이용한 Matlab/Simulink 풍력터빈은 2.1 절에서 기술된 단순화된 풍력터빈 모델로서, 공력모델은 Bladed 프로그램에서 추출된 정상상태 출력계수와 추력계수 룩업테이블을 기반으로 하며, 이외의 피치엑츄에이터, 발전기, 드라이브트레인, 타워 모델은 1차 또는 2차시스템으로 모델링 되었다. 또한 Matlab/Simulink 프로그램의 바람장(Wind Field) 입력은 3차원 바람장이 입력되는 Bladed 프로그램과 달리, Bladed 프로그램의 허브높이 로터 평균풍속을 추출하여, 입력 바람장으로 활용한다[17-18].

Bladed기반 HILS의 하드웨어 환경은 기존과 동일하며, PC에 구성된 Matlab/Simulink 기반의 풍력터빈 모델을 상용 프로그램인 Bladed 프로그램의 풍력터빈 모델로 대체되었다. 또한 Bladed에서 지원하는 HTM(Hardware Test Module) 기능을 이용하여 Bladed의 입출력 데이터 채널을 DAQ 장비의 채널과 연동하였다. 성능검증을 위한 시뮬레이션은 동일한 풍력 터빈을 대상으로 하여, 12 m/s의 난류 바람을 이용한 시뮬레이션 환경에서 진행되었다.

4.2 Matlab vs Bladed 시뮬레이션

HILS 에 대한 검증 이전에, HILS 에 적용되는 Matlab/simulink 풍력터빈 모델의 정확도를 확인하기 위해, Bladed의 시뮬레이션 결과와 Matlab/Simulink 시뮬레이션 결과를 비교하였다. 실험환경은 4.1에 언급한 내용과 같으며, 비교 결과는 Fig. 5에 그래프로 나타내었다. 그래프의 x축은 시간이며 y축은 시간에 따라 시뮬레이션 된 입력풍속 및 풍력터빈 운전상태 값으로, 풍속과 로터 회전속도, 블레이드 피치각, 발전기 토크 그리고 발전기 출력이다. 풍속은 평균풍속이 11.4 m/s인 정격풍속 내외의 풍속값을 갖는 난류바람으로서 정격이상과 정격이하의 풍속이 모두 포함되어있다. 그러므로 발전기토크와 블레이드 피치각의 그래프에서 정격 이하의 풍속구간은 피치각은 fine pitch(0º)로 유지되며 반력 토크의 값이 변하는 토크제어가 확인된다. 또한, 정격 이상의 풍속 구간은 반력 토크가 정격 토크인 43.09 kNm를 유지하며 피치각의 크기가 변하는 피치제어가 확인된다. 또한 토크제어와 피치제어를 통해 로터의 회전속도가 정격회전속도인 12.1 rpm 으로 유지되는 것으로 출력제어 알고리즘이 정상적으로 작동하고 있음을 확인하였으며, 이러한 풍력터빈 운전성능이 동일한 제어기가 적용된 Matlab/Simulink와 Bladed의 시뮬레이션의 결과가 유사한 것으로 판단된다.

HKPRAO_2024_v15n1_60_6_f0001.png 이미지

Fig. 5 Result of Matlab/Simlulink and Bladed Simulation

Matlab/Simulink 와 Bladed의 시뮬레이션 결과를 보다 자세하게 비교하기 위해 로터 회전속도 및 발전기 출력의 시뮬레이션 결과 값의 평균과 표준편차를 비교하였으며 비교 결과는 Table 2에 제시하였다. Table 2에 제시된 Simulink 시뮬레이션의 로터 회전속도 및 발전기 출력의 평균값은 각각 11.95 rpm과 4.55 MW로 이를 Bladed의 결과와 비교했을 때 로터 회전속도와 발전량의 평균값 오차는 각각 0.47 %와 3.28 %로 계산된다. 이러한 결과를 바탕으로 Matlab/ Simulink 모델이 Bladed 풍력터빈 모델 결과와 수 % 이내에서 유사한 결과를 보여주는 것을 확인하였다. 로터 회전속도와 출력의 표준편차의 경우, 각각 27.93 % 와 21.83 %로 평균값에 비해 상대적으로 높은 차이를 보여주고 있다. 이는 Bladed 프로그램의 경우 3차원 바람장이 입력되어, 블레이드의 동적 변형이 고려된 상태에서의 로터의 출력성능이 계산되는 반면, Matlab/Simulink 프로그램은 로터 평균풍속을 입력으로 하여, 블레이드의 변형이 고려되지 않은 정상상태 출력계수를 기반으로 한 로터의 출력성능이 계산되기 때문인 것으로 판단된다.

Table 2 Comparison of Matlab/Simulink Simulation and Bladed Simulation

HKPRAO_2024_v15n1_60_7_t0001.png 이미지

4.3 Matlab Simulation vs Matlab HILS 비교

본 연구의 목적인 Matlab/Simulink 기반 HILS 시스템이 Matlab/Simulink 시뮬레이션과 결과상의 차이가 발생되는지 확인하고자 기존의 Simulink 시뮬레이션의 결과와 Matlab/Simulink HILS 실험결과를 비교 분석하였다. 4.1 절의 시뮬레이션과 동일한 환경에서 진행된 Matlab/Simulink기반의 HILS의 결과는 Fig. 6와 같다. 그림에서 살펴보면, 기존의 PC에서 진행되는 시뮬레이션에서 아날로그 신호로 통신하는 HILS로 환경이 변화되었음에도 풍력터빈 성능값에서 노이즈 등의 문제가 발생되지 않은 것을 알 수 있다. 또한 그림에서 확인할 수 있듯이, Matlab/Simulink 결과와 Matlab/Simulink HILS 결과가 거의 일치하였다. 두 결과의 약간의 차이점은 블레이드 피치 제어에서 발전기 토크 제어로 변환되는 순간에 주로 발생하였다. 피치 제어에서 토크 제어로 변환되는 과정에서 토크 값이 감소하게 되는데, HILS에서의 토크값 감소가 시뮬레이션의 토크값 감소보다 0.01초에서 0.1초의 정도의 차이로 먼저 감소하며 1초 이내에 같은 값을 같게 된다. 정확한 수치적 비교를 위해 두 시뮬레이션의 결과값을 비교한 내용은 Table 3에 제시하였다. 표에서 살펴보면, 두 결과의 로터 회전속도와 발전기 출력의 평균과 표준편차 값에서의 차이가 모두 1 % 미만으로, 비록 발전기 토크 값이 미세하게 차이가 있었지만, 두 결과가 거의 유사하며, 이를 통해 Matlab/Simulink 시뮬레이션이 Matlab/Simulink HILS로 구축되었을 때 큰 변화가 없는 것을 확인하였다.

HKPRAO_2024_v15n1_60_7_f0001.png 이미지

Fig. 6 Result of Matlab/Simulink HILS and Simulation​​​​​​​

Table 3 Comparison of Matlab/Simulink Simulation and Bladed Simulation​​​​​​​

HKPRAO_2024_v15n1_60_7_t0001.png 이미지

4.4 Matlab HILS vs Bladed HILS 비교

앞서 4.2 과 4.3 에서의 시뮬레이션 및 HILS 실험을 통해 Matlab/Simulink의 터빈 모델이 Bladed의 모델과 유사하며, 구축한 Matlab/Simulink HILS 가 Matlab/Simulink 와 유사하게 동작하는 것을 확인하였다. 마지막으로 앞선 시뮬레이션/실험환경과 동일한 환경에서의 Matlab/Simulink HILS를 Bladed의 HILS와 비교하여 성능을 검증하였으며, 그 결과는 Fig. 7에 제시하였다. Fig. 7의 결과는 두 HILS 의 시뮬레이션간의 결과를 비교한 Fig. 5 와 비교하여 볼 때 두 소프트웨어의 시뮬레이션 결과와 HILS의 경향이 유사한 것을 확인할 수 있다. 정확한 비교를 위해 4.2 , 4.3과 마찬가지로, 로터 회전속도와, 발전기 출력에 대한 평균 및 표준편차를 서로 비교하여, Table 4 에 제시하였다. Table 4를 살펴보면, 로터 회전속도와 출력에서 두 HILS 결과의 평균값의 오차가 각각 0.44 % 와 3.30 % 인 것을 알 수 있으며, 이 값을 Table 2의 오차와 비교하면 오차의 값이 유사한 것을 알 수 있다. 또한, 로터회전속도와 출력은 표준편차는 Table 2 의 결과 대비 소폭 상승한 것을 확인할 수 있는데, 이는 Matlab/Simulink Simultion 과 Bladed Simulation에서 발생하는 차이와, Simulation 대비 HILS에서 발생하는 차이를 고려할 경우 그 값이 크게 다르지 않은 것을 알 수 있다. 따라서, Matlab/Simulink HILS를 이용하여 풍력터빈의 출력성능을 확인하는 용도로서 활용 가능하다는 것을 확인하였다.

HKPRAO_2024_v15n1_60_7_f0002.png 이미지

Fig. 7 Result of Matlab/Simlulink HILS and Bladed HILS​​​​​​​

Table 4 Comparison of Matlab/Simulink HILS and Bladed HILS​​​​​​​

HKPRAO_2024_v15n1_60_8_t0001.png 이미지

5. 결론

본 논문에서는 시뮬레이션 환경이 제한되어있는 상용프로그램 기반 HILS를 대체하기 위해, Matlab/Simulink를 활용한 HILS를 구축하고, HILS 동적 시뮬레이션을 통해 풍력터빈 제어기의 성능을 검증 하고자 하였다.

이를 위해 Matlab/Simulink 프로그램을 이용하여, PC에 NREL 5 MW 풍력터빈을 모델링 하였으며, 외부 Bachmann PLC와의 연동을 위해, DAQ 장비를 사용하였다. 또한, 풍력터빈 제어 알고리즘은 PLC에 C-code의 형태로 적용되었다.

구축된 HILS 환경을 검증하고 제어기의 성능을 검증할 수 있는지를 확인하기 위해 Matlab/Simulink와 상용화 프로그램인 Bladed를 이용하여 동적 시뮬레이션 및 HILS 실험을 진행하였으며 결과를 비교하였다.

실험 결과 Matlab/Simulink와 Bladed의 시뮬레이션을 비교하는 것으로 모델링된 풍력터빈의 정확도를 확인하였으며 Matlab/Simulink 시뮬레이션과 HILS 결과를 비교하여 구축된 HILS 가 Matlab/Simulink 시뮬레이션과 유사함을 확인하였다. 마지막으로 Matlab/Simulink HILS 와 Bladed HILS를 비교한 결과 Bladed 시뮬레이션과 Matlab/Simulink 시뮬레이션의 오차와 유사한 오차를 갖는 것을 확인하는 것으로, Matlab/Simulink HILS 의 성능을 검증하였다. 실험 결과에서 평균값의 차이는 작게 나타났지만, 표준편차 값의 차이는 상대적으로 큰 것을 확인하였다. 이러한 결과의 원인은 Bladed 모델은 3차원 바람장을 입력으로 하여, 블레이드의 변형이 고려된 상태로 로터의 출력이 계산되는 정확한 모델이지만, Matlab/Simulink 모델은 허브높이에서의 로터 평균 풍속(Rotor averaged wind speed)을 입력으로 하여 블레이드 변형이 고려되지 않은 상태에서의, 선단속도비와 블레이드 피치각에 따른 Cp, Ct의 값을 통해 출력 및 추력이 계산되는 단순 모델이기 때문인 것으로 판단된다. [17-19]. 본 연구에서 개발된 Matlab/Simulink HILS 는 현재 Bladed HILS 대비 풍력터빈의 출력성능을 유사하게 시뮬레이션해 줄 수 있는 결과를 보여주었으며, 향후 풍력터빈의 하중 계산 모델을 추가한다면, 다양한 시뮬레이션 환경에서 풍력터빈 제어기의 성능을 확인하는데 활용될 수 있을 것으로 판단된다.

후기

본 연구는 산업통상자원부(MOTIE)와 한국에너지기술평가원(KETEP)의 지원을 받아 수행한 연구 과제입니다. (No. 20218520020010)

References

  1. Bossanyi, Е, A., 2001, "The Design of closed loop controllers for wind turbines," Wind Energy, Vol. 3, No. 3, pp. 149~166. https://doi.org/10.1002/we.34.abs
  2. Кщ D., Jeon, T. , Paek, I., Roynarin, W, Hangklang, B. , Dugaijav, B., 2023, "A Study on the Improved Power Control Algorithm for a 100 kW Wind Turbine.," Energies, Vol. 16, No. 2, pp. 619.
  3. Kim, C., Kim, K., Song, W. and Paek, I., 2018, "Tower Load Reduction Control by Pitch Loop Individual Gain Scheduling," Journal of Wind Energy, Vol. 9, No. 3, pp. 25~32. https://doi.org/10.33519/kwea.2018.9.3.004
  4. Kim, K., Kim, H., and Paek, I., 2020, "Application and validation of peak shaving to improve performance of a 100 kW wind turbine," International Journal of Precision Engineering and Manufacturing-Green Technology, Vol. 7, No. 2, pp. 411~421 https://doi.org/10.1007/s40684-019-00168-4
  5. Nam, Y, La, Y, 2013, "Individual Pitch Control of NREL 5MW Wind Turbine in a Transition Region," Journal of The Korean Society for Aeronautical and Space Sciences Vol. 41, No. 3, pp 210~216 https://doi.org/10.5139/JKSAS.2013.41.3.210
  6. Bottaso, C. L., Campagnolo, F., and Petrovic, V., 2014, "Wind tunnel testing of scaled wind turbine models : beyond aerodynamics," Journal of wind engineering and industrial aerodynamics, Vol. 127, pp. 11~28. https://doi.org/10.1016/j.jweia.2014.01.009
  7. Campagnolo, F., Petrovic, V., Nanos, Е. M., Tan, C. W., Bottasso, C. L., Paek, I., Kim, H. and Kim, K., 2016, "Wind tunnel testing of power maximization control strategies applied to a multi-turbine floating wind power platform," In ISOPE International Ocean and Polar Engineering Conference, ISOPE, pp. ISOPE-I.
  8. Jeon, T. and Paek, I., 2021, "Design and Verification of the LQR Controller Based on Fuzzy Logic for Large Wind Turbine," Eneriges, Vol. 14, No. 1, pp. 230.
  9. Li, W, Xu, D, Zhang, W., and Ma, H., 2007, "Research on Wind Turbine Emulation based on DC Motor," 2007 2nd IEEE Conference on Industrial Electronics and Applications, Harbin, China, pp. 2589~2593
  10. Oh, S., Cha, M., Kim, J., Jeong, J., Han, B., and Chang, B., 2011, "Development of Hardware Simulator for DFIG Wind Power System Composed of Anemometer and Motor-Generator Set," The Transactions of the Korean Institute of Power Electronics, Vol. 16, pp. 11~19. https://doi.org/10.6113/TKPE.2011.16.1.11
  11. Won, B., Jeon, T. and Paek, I., 2021, "Development of a Motor-Generator Set-based Dynamic Simulator of a Wind Turbin," Journal of Wind Energy, Vol. 12, No. 4, pp. 26 ~34.
  12. Jeon, T., Kim, D. and Paek, I., 2022, "Improvements to and Experimental Validation of PI Controllers Using a Reference Dias Control Algorithm for Wind Turbines," Eneriges, Vol. 15, No. 21, pp. 8298.
  13. Makinen, A.S., Messo, T. and Tuusa, H., 2014, "Power hardware in-the-loop laboratory test environment for small scale wind turbine prototype, 2014 16th European Conference on Power Electronics and Applications, Lappeenranta, Finland, IEEE, pp. 1~10.
  14. Tian, J., Liu, J., Shu,, J., Tang, J. and Yang, J., 2018, "Engineering modelling of wind turbine applied in real-time simulation with hardware-in-loop and optimising control," The Institution of Engineering and Technology, Vol. 11, No. 15, pp 2490~2498. https://doi.org/10.1049/iet-pel.2018.5679
  15. Jonkman, J., Butterfield, S., Musial, W., Scott, G., 2009 "Definition of a 5-MW Reference Wind Turbine for Offshore System Development," National Renewable Energy Lab. (NREL): Golden, CO, USA.
  16. Garrad Hassan, 2018, "Bladed User Manual version 4.9," DNV GL, pp. 7
  17. Nam, Y., 2013, "Wind Turbine System Control, 1st ed." GS Intervision: Seoul, Korea
  18. Kim, K, Kim, H.., Song, Y. and Paek, I., 2019, "Design and Simulation of an LQR-PI Control Algorithm for Medium Wind Turbine," Energies, Vol. 12, No. 12, pp. 2248.
  19. Garrad Hassan, 2018, "Bladed Theory Manual version 4.9," DNV GL, pp. 75