머신러닝은 사람이 하기 어려운 작업을 대신 수행하는 기계를 학습을 통해 만드는 작업을 의미한다. 따라서 프로그래밍 없이 데이터를 통해 스스로 가중치를
조정하는 방식으로 학습을 진행하므로 양질의 고장데이터를 통해 지능형 알고리즘을 구현할 수 있다.
2.1 DC 계통 고장모의 및 주파수분석
본 연구에서는 시뮬레이션을 통한 고장모의 데이터를 통해 학습을 진행한다. 실제 고장데이터를 이용하는 것이 이상적이나, DC 계통 고장데이터가 충분하지
않아, 노이즈가 포함된 적은 수의 데이터는 과적합 문제가 발생할 우려가 있어 학습 결과가 좋지 않을 수 있다. Fig. 2는 DC RL circuit으로, 시뮬레이션을 통해 모의된 DC 계통고장상황은 Fig. 2와 같이 직류 RL 회로를 통해 과도상태가 해석될 수 있다[14].
전체 전압을 $V_{s}$, 저항에 걸리는 전압과 인덕터에 걸리는 전압을 각각 $v_{R}$, $v_{L}$, 그리고 초기전압을 E로 두고 키르히호프
전압법칙을 통해 다음과 같은 식을 세울 수 있다.
$f'(t)$는 라플라스 변환하면, $SF(S)-F(0)$이므로, 초기조건을 $I(0)$로 두고 라플라스변환을 하면,
$I(S)$로 정리하면, $(\beta =R/L)$
라플라스 역변환을 시켜주면,
인턱터 초기전류를 0이라고 한다면 식은 최종적으로 다음과 같이 정리된다.
이상적인 직류 회로에서 지락 고장이 발생한다면 고장전류는 식5와 같은 형태를 가진다. 하지만 실제 전력계통에서 다른 결과를 보여줄 수 있다. 기기
혹은 선로등이 파손되어 발생하는 아크로 인해 고조파가 발생한다[15]. 따라서 아크고장 검출은 주로 주파수분석을 통해 분석 및 진단된다[16-18]. 본 연구는 AC 계통에서 사용하는 주파수 기반 고장진단 방법을 DC 계통에도 적용하여 정상상태의 맥동성분과 고장상태의 신호를 구분하는 것을 목적으로
한다.
Fig. 3은 매트랩 시뮬링크를 이용한 DC system fault simulation이다. 본 연구에서 모의한 DC 계통은 DC 정전압원을 이용한 것이 아닌
LCC(Line Commutated Converter)방식이다. 따라서 AC전압원이 정류되는 과정에서 맥동형태의 DC가 생성된다. 모델링된 DC 계통은
154kV AC 두 계통이 100kV DC 선로를 통해 연계되어 있다. 싸이리스터를 통해 전력변환이 이루어지며 좌측이 Rectifier 우측이 Inverter이다.
DC 선로는 총 300km, 전류는 2000A 이고, 각 AC 계통에는 캐패시터 뱅크 및 고조파필터 총 600Mvar씩 설치되어 있다.
Fig. 4-6은 각각 DC 선로 지락고장에 따른 DC 고장전류를 고장지점, Rectifier, Inverter측에서 측정한 파형으로, 고장발생지점은 300km
선로의 가운데지점에서 고장이 발생한 경우의 전류신호를 시간 및 주파수도메인으로 도시하였다. 계조도로 표현된 주파수도메인은 스케일로그램(scalogram)으로,
시간-주파수 특징을 나타낸다. $x$축은 시간축, $y$축은 주파수를 나타낸다. 색을 통해 해당 영역의 주파수성분이 많음을 나타낸다. 그림을 통해
고장발생 직후 고장전류가 빠르게 증가하며, 고조파가 나타나는 것을 확인할 수 있다.
Fig. 4는 DC system line-ground fault analysis이다. DC 계통에서 고장점에서 전류를 측정한 값으로, 고장이 발생하기 전에는
지락전류가 없기 때문에 0의 값을 보이고 지락고장이 발생하자 고장전류 6000A를 확인할 수 있다. 시뮬레이션 샘플타임은 $5\times 10^{-5}$이며,
전류 측정은 2초 동안 20000번 측정$(1\times 10^{-4})$하였다. $y$축의 단위는 $rad/s$ 이므로 525Hz 정도의 주파수가
발생한 것을 확인할 수 있다.
Fig. 5는 DC system line-ground fault current analysis – rectifier side이다. rectifier 측에서 측정한
고장전류 파형으로, Fig. 4와 주파수성분의 크기만 다를 뿐, 전체적인 비율은 유사한 것을 확인할 수 있다.
Fig. 6은 DC system line-ground fault current analysis – inverter side이다. DC 계통의 맥동전류의 주파수
성분이 고장발생 직후부터 변화하며, 과도상태에 도달한 이후에도 주파수 성분이 상이함을 알 수 있다. 또한, 주파수 성분의 비율은 Fig 4, 5와
유사함을 알 수 있다. 따라서, Fig. 4-6을 통해 측정위치에 따라서, 주파수 성분의 크기만 다를 뿐 세 지점이 동일하다는 것을 확인할 수 있다.
Fig. 7은 fault current by distance – inverter side이다. 인버터 측에서 고장전류를 측정하고, 측정지점과의 거리에 따른 고장전류가
도시되어 있다. 과전류 기반 고장진단 방법은 거리에 따라 고장전류가 줄어드는 것을 이용하지만, 본 시뮬레이션에서는 정상상태 고장전류 값이 오히려 줄어든
것을 확인할 수 있어, 기존 방법으로 고장진단이 어려움을 알 수 있다. 더 가까운 곳에 위치한 고장일수록 주파수가 작고 고장전류 감쇄가 느린 것을
확인할 수 있다.
Fig. 8은 fault current by distance – rectifier side이다. rectifier 측에서 고장전류를 측정하고, 측정지점에 따라
고장전류가 도시되어 있다. 250km지점과 150km 지점의 고장전류 peak 값 및 정상상태 전류는 비슷한 값을 가지므로 Fig. 7과 마찬가지로 과전류 기반 고장진단 장치로 고장위치를 판단하는 것은 어려울 것으로 보인다.
Fig. 9는 fault current analysis by distance이다. Fig. 8에 도시된 전류신호를 주파수도메인에서 분석한 내용이 도시되어 있다. Fig. 9(a)는 1.501e+4에서 주 성분이 되는 정규화주파수는 0.05이고 (b)는 0.11, (c)는 0.07 이다. 크기 또한 각각 127.2, 270.5,
385.7의 값을 가진다. 이를 통해서 주파수 비율이 고장위치에 따라서 항상 비례함은 아님을 확인할 수 있으며 주파수임계값을 이용한 고장진단 방법이
아닌 고장의 패턴을 인식할 수 있는 방법이 요구됨을 확인할 수 있다.
Inverter, Rectifier 양측에서 측정한 값을 주파수분석하여 주파수기반 고장여부 판단 및 고장위치판단이 가능하다는 것을 확인하였다. 시뮬레이션상에서는
측정 개소가 하나로도 충분한 것으로 보이나, 고장발생 시 접지 임피던스는 날씨에 영향을 받기 때문에 측정개소를 2개로 하는 것이 더 정확할 것이다.
만약 측정개소를 하나만 사용해야 한다면, Rectifier 측에서 측정하는 것이 주파수 분포가 더 뚜렷하므로 Rectifier 측에 설치하는 것이
더 타당하다.
Fig. 3. DC system fault simulation
Fig. 4. DC system line-ground fault analysis
Fig. 5. DC system line-ground fault current analysis - rectifier side
Fig. 6. DC system line-ground fault current analysis - inverter side
Fig. 7. Fault current by distance – inverter side
Fig. 8. Fault current by distance – rectifier side
Fig. 9. Fault current analysis by distance
2.2 제안된 지능형 고장진단 알고리즘
2.1절에서 고장전류를 분석한 결과, 주파수 변화를 통해 고장 특징을 확인하였다. 따라서 본 논문에서는, 주파수성분을 입력으로 하는 지능형 고장진단
알고리즘을 제안한다. Fig. 10은 proposed algorithm flowchart로 본 연구에서 제안하는 지능형 고장진단 알고리즘의 논리 순서를 도시한다.
Rectifier, Inverter 측에서 측정한 고장전류를 웨이블릿 변환하여 특징량을 추출한다. 이후, 1차원 형태로 데이터를 변환하기 위해 Flatten
과정을 거친다. 데이터는 고장 여부를 판단하는 이진분류기와 고장 위치를 판단하는 분류기를 거쳐 최종적으로 고장정보를 차단기 측에 송부하여 차단동작을
수행하도록 한다.
Fig. 11은 웨이블릿 변환이 시간 해상도와 주파수 해상도를 동시에 높일수 있다는 장점을 보여준다. 웨이블릿 변환은 푸리에변환의 단점을 보완하기 위해 등장한
방법으로 유한한 기저함수를 사용하므로 전력계통에서 고장이 발생하는 경우와 같이 과도신호를 분석할 때 용이하다. Fig. 4-9에서, 고장전류 과도상태에 발생하는 고조파는 sine wave형태를 가지므로 본 연구에서는 삼각함수와 유사한 형태를 가진 Gabor 함수를 모함수로
사용하였다. Gabor 함수는 복소지수 (Complex Exponential)로 표현되며 Gaussian Kernel과 Complex Sinusoid의
곱으로 표현할 수 있으며 실수부를 gabor sine, 허수부를 gabor cosine으로 구분하면 다음과 같이 표현할 수 있다.
시계열 데이터를 웨이블릿 변환한 후, DNN(Deep Neural Network)의 입력으로 하여 모델을 학습시켰다. 인공신경망(ANN)은 뉴런이라는
뇌의 신경세포망 동작원리에 기초한다. ANN은 입력층, 은닉층, 출력층으로 구성되어 있으며 DNN(Deep Neural Network)는 은닉층이
2개 이상인 경우이다. 뉴런은 입력을 출력을 다음 뉴런에 전달하게 되며 이는 식 10으로 표현할 수 있다. b는 bias를, x는 뉴런의 입력, w는
weights, n은 레이어에서 들어오는 입력의 수를 나타낸다.
본 연구에서는 활성화함수 f로 ReLu(Rectified Linear unit) 함수를 사용하였으며 역전파(back propagation)을 이용하여
가중치를 조정하였다. 또한, 학습 과정에서 에측된 값과 실측된 값의 차이를 최소화하는 방향으로 학습이 진행될 때 필요한 손실함수로는 CEE(Cross
Entropy Error)를 사용하였다. 손실함수 식은 식 11로 정의된다.
Fig. 10. Proposed algorithm flowchart
Fig. 11. Fourier, wavelet comparison diagram
2.2.1 입력 데이터
본 연구에서는 Fig. 3의 matlab simulink model을 통해 DC 계통 고장진단을 모의하여 데이터를 수집하였다. 고장상황 시뮬레이션 108번, 정상상황 시뮬레이션
108으로 총 216번의 시뮬레이션을 진행하였다.
Fig. 12는 rectifier side fault current mesh plot이다. mesh plot은 3차원 데이터를 표현하는 그래프로 heatmap과
유사하게 색상으로 데이터의 크기를 표현한다. 108번의 고장 시뮬레이션은 세 구역에서 위상을 10도씩 바꿔가며 36번씩 진행하였다. Fig. 12의 A, B, C는 각각 50km, 150km, 250km 거리에서 고장이 발생한 경우의 고장전류 시계열 데이터로 거리에 따라 고장전류의 크기가 달라짐을
알 수 있다. 고장전류 크기를 통해 Fig. 8의 거리별 고장전류 크기가 A, B, C를 대표함을 알 수 있다. 사용한 샘플의 수는 2500으로 고장발생 직후 0.25초 동안의 시계열데이터를 수집하였다.
Fig. 13은 DNN input data mesh plot으로 고장전류 시계열데이터는 주파수변환된 후, 배열화되어 Fig. 13과 같이 정리된다. 108번씩 시뮬레이션을 진행하였으므로 instances(사례)는 108이며 feature는 2980이다. Fig. 13은 Fig. 9에 표현된 Rectifier 측의 주파수영역과 Inverter측의 주파수영역을 1차원 형태로 배열화한 것이다. Fig. 13을 통해 각 고장위치가 가지는 패턴을 확인할 수 있다.
Fig. 12. Rectifier side fault current mesh plot
2.2.2 학습 결과
Fig. 10에 도시된 것처럼, 본 연구에서는 DNN을 통해 고장여부를 판단하는 모델과 고장위치를 판단하는 모델을 학습시켰다. Fig. 14는 Learning result confusion chart이다.
confusion matrix는 기계 학습 등 통계적 분류 알고리즘의 학습 결과 및 성능을 행렬의 형태로 나타낸 표이다. 행렬의 열은 에측된 클래스,
행은 실제 클래스를 나타낸다. Fig. 14(a) 에서 1행1열 값은 fault 클래스를 fault로 잘 판단한 경우로 TN(True Negative)으로 표현한다. normal 클래스를 normal클래스로
판단한 경우는 TP(True Positive), normal을 fault로 판단하면 FN(False Negative) fault를 normal로 판단한다면
FP(False Positive)이다. 위 4개 값을 통해 정확도(Accuracy), 정밀도(Procision), 재현도(Recall), F1 Score를
계산하여 성능을 수치화할 수 있다. Fig. 14는 오분류가 없어, FP, FN이 0이므로 4개 값은 각각 식12-15와 같다.
Fig. 14(a)는 고장 여부를 판단하도록 108개의 정상 데이터와 108개의 고장데이터를 사용하여 이진 분류(Binary Classification) 학습을 진행한
결과를 나타낸다. Fig. 14(b)는 고장 위치를 판단할 수 있도록 108개의 고장데이터를 사용하여 학습을 진행하였고, 알고리즘은 3개의 클래스를 분류하도록 학습되었다. 데이터가 불균형할
때 데이터가 많은 클래스로 치우쳐져 학습이 진행될 수 있으므로 두 알고리즘 모두 각 클래스의 데이터가 같은 수를 가지도록 하여 학습을 진행하였으며
두 모델의 정확도는 100%를 보였다.
Fig. 14. Learning result confusion chart
2.2.3 알고리즘 검증
본 연구에서 제안하는 고장위치 및 고장여부를 판단하는 알고리즘은 사용한 사례 수보다 Feature가 많으므로 과적합 상황이 우려되어, 추가적인 데이터를
통한 검증이 요구된다. 지락고장 및 접지임피던스를 증가시킨 HIF 고장데이터로 검증을 실시하였다.
AC 전압원 측의 위상을 고정하고, 고장지점의 접지저항을 고정하여 고장 위치를 50km 거리부터 250km 까지 바꿔가며 21번의 지락고장 시뮬레이션을
진행하여 검증 데이터를 획득하였다. Table 1 verification result은 고장진단 알고리즘의 진단결과를 나타내는 표이다. 검증시에도 100% 결과를 보였다.
Fig. 16은 HIF data for verification이다. DC 고장점에 접지저항을 추가하여 HIF 고장을 모의한 Rectifier 측에서 측정한 고장전류를
도시하였다. 접지임피던스가 커질수록 고장전류가 상대적으로 작은 것을 확인할 수 있다. Table 2. HIF verification은 접지저항에 따른 알고리즘 검증 결과이다. 고장진단 알고리즘이 주파수성분의 변화를 인지하고 고장을 진단하는 것을
확인하였다.
Fig. 15. Fault data for verification
Fig. 16. HIF data for verification
Table 1. Verification result
Validation No.
|
Fault diagnosis algorithm
|
Fault location algorithm
|
1
|
fault
|
location 1
|
2
|
fault
|
location 1
|
3
|
fault
|
location 1
|
4
|
fault
|
location 1
|
5
|
fault
|
location 1
|
6
|
fault
|
location 2
|
7
|
fault
|
location 2
|
8
|
fault
|
location 2
|
9
|
fault
|
location 2
|
10
|
fault
|
location 2
|
11
|
fault
|
location 2
|
12
|
fault
|
location 2
|
13
|
fault
|
location 2
|
14
|
fault
|
location 2
|
15
|
fault
|
location 2
|
16
|
fault
|
location 3
|
17
|
fault
|
location 3
|
18
|
fault
|
location 3
|
19
|
fault
|
location 3
|
20
|
fault
|
location 3
|
21
|
fault
|
location 3
|
Table 2. HIF verification
Validation No.
|
Fault resistance Ron($\Omega$ )
|
Fault diagnosis algorithm
|
1
|
100
|
fault
|
2
|
200
|
fault
|
3
|
300
|
fault
|
4
|
400
|
fault
|
5
|
500
|
fault
|
6
|
600
|
fault
|
7
|
700
|
fault
|
8
|
800
|
fault
|
9
|
900
|
fault
|
10
|
1000
|
fault
|