송승민
(Seung-Min Song)
1iD
한지훈
(Ji-Hoon Han)
1iD
최의진
(Eui-Jin Choi)
1iD
박종훈
(Jong-Hoon Park)
1iD
홍선기
(Sun-Ki Hong)
†iD
-
(Dept. of Information Control Engineering, Hoseo University.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Motor fault diagnosis, Motor controller, Deep learning, Mechanical fault, Auto-encoder, DSP
1. 서 론
전동기 노후화 및 고장에 의한 사고 및 재산 피해 방지는 산업계의 오래된 연구 분야 중 하나이며 (1)-(3), 최근 수준 높은 진단을 위해 딥 러닝 알고리즘을 추가하는 방법 또한 활발히 연구되고 있다 (4)-(5). 고전적인 전동기 고장 진단에서는 전류의 진폭을 측정하는 방법이 사용되었다 (6). 이 방법은 인버터 동작을 위한 컨트롤러에 직접 적용 가능한 장점이 있지만, 베어링과 같은 기계적인 고장을 진단하기 어렵다는 단점이 있다 (7).
베어링 파손, 기어 마모와 같은 기계적 고장의 진단에는 일반적으로 진동 신호가 사용된다 (8). 진동 신호의 계측에는 전동기 구동 회로와 접점이 없는 센서가 사용된다 (9). 이러한 시스템의 단점은 구축비용이 고가라는 것이다. 즉, 전류를 이용한 진단 시스템은 기계적인 고장 진단 성능이 낮으며 진동 신호를 활용한 진단
시스템은 많은 비용을 요구하는 한계를 갖는다. 딥 러닝 알고리즘을 이용하면 전류 신호를 통해 상대적으로 높은 기계적 고장 진단 성능을 확보 가능하나
전류 측정을 위한 별도의 계측 회로를 포함하는 문제점이 남아있다 (10)-(12).
고장 진단을 요구하는 산업 현장의 전동기는 일반적으로 제어기에 의해 동작된다. 고전적인 전류 기반 고장 진단 시스템 또한 제어를 위해 계측된 전류의
진폭을 사용한다 (6). 그러나 단순한 진폭 비교에 의한 진단이 아닌 딥 러닝 알고리즘에 의한 진단은 기존 시스템에 비해 우수한 진단 성능을 보일 수 있다. 이를 위해
기존의 제어 소프트웨어에 진단 소프트웨어를 탑재시키는 방법이 제안되며 이는 기존의 하드웨어를 그대로 사용 가능하다는 장점이 있다.
제안된 방법은 전동기 제어에 널리 사용되는 DSP에 적용된다. 본 논문에서는 제안된 방법을 DSP에 적용할 때 성능을 증가시키기 위한 방법이 연구된다.
DSP에 적용되는 진단 알고리즘은 PC 환경에 비해 적은 메모리를 요구해야 한다. 이 특성을 고려해 선정된 고장 진단 알고리즘은 오토 인코더이다.
오토 인코더는 비지도 학습 방법으로 분류할 데이터의 정확한 라벨을 요구하지 않기 때문에 지도 학습에 비해 상대적으로 가벼운 모델로 우수한 성능을 보일
수 있다 (13). 추가적인 하드웨어를 요구하지 않고 내부 메모리 안에서 높은 성능을 보일 수 있는 오토 인코더 알고리즘의 구조를 찾기 위해 고장 진단 데이터의 샘플링
주파수가 조절되며 오토 인코더의 은닉층 뉴런수가 조절된다. 오토 인코더 진단 알고리즘은 전동기 제어에 영향을 주지 않게 제어를 위한 인터럽트 루틴을
설정하고 메인 루프에 고장 진단 모델을 추가하는 방법이 사용된다. 적용된 오토 인코더 모델의 성능을 평가하기 위해 제어, 진단 동작 시간 및 고장
진단 정확도가 측정된다. 제어와 진단을 하나의 MCU로 처리하는 최종시스템의 동작을 통해 제안된 방법의 타당성을 보인다.
2. 이 론
2.1 오토 인코더 알고리즘
오토 인코더 알고리즘은 학습 데이터로 정상 상태 데이터만을 사용 가능한 장점이 있어 이상 감지 분야에 주로 사용되고 있다 (13). 오토 인코더 알고리즘 모델은 입력 데이터의 차원을 줄여 부호화 데이터로 변경하는 인코더 파트와 인코더 파트의 데이터를 받아 입력 데이터와 같은
차원으로 데이터를 재구성하는 디코더 파트로 이루어져있다 (14). 이에 따른 모델 구조는 그림 1과 같다.
그림. 1. 오토 인코더 알고리즘 모델 구조
Fig. 1. Architecture of Auto-Encoder algorithm
입력 데이터를 $\left\{x_{1},\:x_{2},\:...,\:x_{n}\right\}$, 복원된 출력 데이터를 $\left\{x_{1}^{'},\:x_{2}^{'},\:...,\:x_{n}^{'}\right\}$라고
할 때, 입력 벡터 ($x_{i}\in R^{d}$)는 $m(m>d)$ 개의 뉴런 수로 압축되어 은닉층을 구성하며 은닉층은
(1)과 같다. 여기서 $d$는 입력층 데이터 공간을 의미한다.
(1)에서 $x$는 입력 벡터, $\theta$는 파라미터 $\left\{W^{i nput},\:b^{i nput}\right\}$ 이다. $i nput$은
입력층 뉴런을 의미한다. $W$는 인코더 파트의 가중치 행렬을 나타내며 크기는 $m\times d$이다. 따라서 입력 벡터는 더 낮은 차원의 벡터로
인코딩된다. 그 후 은닉층 $h_{i}$는 입력 차원 $R^{d}$로 다시 디코딩되며 이는
(2)로 표현된다.
디코더 파트의 파라미터는 $\theta =\left\{W^{hidden},\:b^{hidden}\right\}$이다. $hidden$은 은닉층 뉴런을
의미한다. 이 구조에 의한 판단은 입력 데이터와 출력 데이터 사이의 오차인 복원률이다. 오토 인코더의 학습은 $\theta$의 조절을 통한 복원률을
높이는 방향으로 진행된다.
(1)의 $i$는 층수를 의미하며 이 값의 증가는 모델의 성능과 메모리에 영향을 준다. 제안된 시스템에 적합한 모델은 우수한 복원률과 적은 메모리를 요구하기
때문에 3장에서 이를 만족하는 모델 구조를 찾는 방법이 연구된다.
2.2 DSP
본 절에서는 제안된 방법의 성능 검증을 위해 선정된 DSP의 구조를 분석해 적절한 메모리 배치 및 주변 회로의 적합성이 설명된다. MCU의 한 종류인
프로그램이 가능한 DSP는 실시간 작업을 수행함으로써 시간 지연이 허용되지 않는 분야에서 뛰어난 성능을 발휘하고 있다. DSP는 실수 연산, 고속
연산 등 연산 처리에 있어 뛰어난 성능을 보여 산업 현장에서 모터 제어용 MCU로 많이 사용되고 있다.
MCU에 탑재되는 딥 러닝 알고리즘은 PC 환경과 달리 메모리 대비 분류 성능이 중요시된다. 실험에 사용된 DSP의 내장된 메모리는 RAM, ROM,
FLASH로 구분된다. RAM의 용량은 68KB이며, FLASH의 용량은 512KB이다 (15). RAM은 휘발성 메모리이기에 데이터 접근 속도가 빠르다. 이러한 특성에 의해 RAM 메모리 영역에는 일반적으로 변수가 배치된다. FLASH 메모리
영역은 반영구적인 데이터 저장 기능을 가지고 있기에 제어 게인 등의 상수가 배치된다.
따라서 상수인 (1)에서의 $\theta$는 FLASH 메모리에 배치하며, 출력 $h_{i}$는 RAM 메모리에 배치하는 것이 타당하다. 하지만 RAM의 용량은 비교적
작기 때문에 일부 $h_{i}$는 FLASH 영역에 배치한다. Stand-alone 동작을 위해 코드 및 변수들의 초기값 또한 FLASH에 배치한다.
제안된 방법에서의 DSP는 제어기의 역할을 수행한다. 정확한 제어를 위해서는 속도 및 전류를 계측해야 한다. 사용한 DSP의 ADC는 16채널을 지원하며
12 Bit의 분해능을 갖는다. 변환 시간 또한 80[ns]로 ADC에 의한 제어 지연이 거의 없는 고성능을 가지고 있다. ADC를 위한 인터럽트를
가지고 있지만 코드의 경량화를 위해 제어 루틴 내부에 샘플 홀더부터 시퀀서 출력까지의 과정을 풀링 구조로 구현하는 것이 타당하다 (16).
DSP는 150MHz의 CPU 클럭을 가지고 있기에 상용 MCU 중에서 우수한 연산 속도를 갖는다. 또한, 행렬 사이의 실수 연산으로 구성된 딥 러닝
알고리즘을 구현하기 적합한 FPU(Floating- point Unit)이 있어 연산 성능이 크게 개선된다. 실수 연산 속도를 높이기 위해 개발된
IQmath와 동일한 연산을 수행할 때 평균 15% 실행 시간만을 요구한다 (17). 이는 고장 진단 루틴뿐만 아니라 제어 루틴의 속도까지 증가시켜주는 요소로 제안된 방법의 실시예로서 DSP의 적합성을 보여준다.
3. 고장 진단 시스템
3.1 기존 진단 시스템과 비교
기존의 고장 진단 연구에서는 신호를 계측하기 위해 PXI와 같은 계측 장비가 사용되었다. 이러한 계측 장비의 사용은 고품질의 데이터를 취득 가능한
장점이 있지만, 계측 장비의 초기 구축비용이 많이 요구되는 단점이 있어 보편적으로 사용되지는 못했다 (4). 계측 장비의 비용, 크기의 문제를 해결하기 위해 라즈베리파이와 같은 초소형 PC를 계측 장비로써 활용하는 방법이 연구되고 있다 (17). 또한, 시스템을 더욱 경량화시켜 하나의 모듈로서 진동, 누설 자속 등을 계측하는 센서가 개발되고 있다. 그림 2는 기존 시스템의 모습들을 보여준다.
그림. 2. 기존 고장진단 시스템
Fig. 2. Exist Fault diagnosis system
그림 2를 통해서 확인 가능한 시스템들의 특징은 전동기 운전 회로에 접촉하지 않고 계측 가능한 데이터를 사용하는 것이다. 이 시스템들은 여러 현장에서 쉽게
사용될 수 있도록 구성되었다. 더 나아가 센서의 정밀도가 높아지며 MCU 등에 정보를 전달하는 등 스마트한 장비로 발전되고 있다. 하지만 발전된 시스템
또한 여전히 추가 장비를 사용하는 근본적인 한계를 보완하지는 못하였다.
회로와 접점이 없는 스마트화 된 센서 장비는 다양한 환경에서의 적용을 고려해 개발되었기에 상대적으로 구축비용이 저렴한 전류 신호를 이용한 진단이 어렵다.
전류 신호를 사용하지 못하는 점은 시스템의 비용을 증가시키며 단락과 같은 즉각적인 대응이 필요한 고장 상황에 대해서는 추가적인 장비를 요구하게 만든다.
일반적으로 과전류 진단은 전동기의 보호 회로를 통해서 관리된다.
그림. 3. 기존 시스템 구성
Fig. 3. Configuration of exist system
그림. 4. 고장진단 S/W가 내장된 제안된 방법
Fig. 4. Suggested method with built-in fault diagnosis S/W
즉, 기계적인 고장 진단을 위해 추가되는
그림 3의 시스템들은 단락과 같은 전기적인 고장 진단과 기계적인 고장 진단을 독립적으로 시행하는 시스템이다. 기존 시스템의 한계를 개선하기 위해 제안된 방법은
전동기 컨트롤러의 고장 진단 성능을 증가시키기 위해 딥 러닝 알고리즘을 탑재시키는 것이다. 이는
그림 4와 같이 표현된다. 제안된 방법은 프로그래밍이 가능한 제어기가 부착되어 있는 대다수의 전동기 시스템에 적용 가능하다. 본 논문에서 연구된 내용은 제안된
방법의 성능을 높이기 위한 모델 구조 탐색, 메모리 관리이다. 제안된 방법의 성능을 확인하기 위해 선택된 제어기는 DSP이다.
그림. 5. 모터 제어 컨트롤러 블록도
Fig. 5. Motor Control Controller Block Diagram
그림 5는 DSP를 이용해 BLDC 모터를 구동하기 위한 모터 제어 컨트롤러의 블록도에 제안된 방법이 추가된 모습을 보여준다.
그림 5는 제어를 위해 취득되는 전류를 딥 러닝 고장 진단 알고리즘에 입력시켜 수준 높은 기계적 진단이 가능하게 한다. 또한, 전류의 진폭은 하드웨어적인
보호 회로와 진폭 감지 기반 알고리즘을 통해 진단되어 즉각적인 대처가 요구되는 고장에 기민하게 대처 가능하게 구성되었다. 딥 러닝 알고리즘은 실수
배열 연산으로 구성되어 있어 수 십 마이크로 초 단위의 대처가 요구되는 진단에는 적합하지 않다. 이를 개선하기 위해 단락 사고와 같은 고장에 대한
대처는 기존 전동기 컨트롤러의 기능을 사용한다.
3.2 오토 인코더 알고리즘 기반 고장 진단 시스템
제안된 방법의 진단 알고리즘은 오토 인코더이다. 오토 인코더의 입력 데이터는 BLDC 모터의 전류이다. 제안된 방법이 요구하는 딥 러닝 모델은 빠르게
처리되어야 하고 높은 진단 성공률을 가져야 한다. 고속의 진단을 위해 선정된 활성화 함수는 ReLU(Rectified Linear Unit)이며 (3)으로
표현된다.
(3)을 통해 FPU의 접근 없이 활성화 계층을 구성할 수 있다.
(3)은 양수값에 대해 일정한 기울기를 가지므로 기울기 소실로 인한 성능 감소를 방지할 수 있다
(18).
고장 진단에는 입력 데이터를 복원시키는 오토 인코더의 특징이 사용된다. 고장 진단은 학습 시킨 데이터의 평균 복원률에 10%의 마진을 주어 설정된
임계값을 기준으로 동작된다. 복원률은 출력데이터와 입력데이터의 오차인 (4)에 의거한 평균 제곱 오차(MSE:Mean Square Error)로 계산된다.
(4)를 통해 계산된 MSE 값을 통해 설정한 임계값에 따라 정상과 고장을 분류할 수 있으며 MSE 값이 임계값보다 작다면 정상으로 분류하고 크다면 고장으로
분류한다. 이에 따른 식은
(5)와 같다.
오토 인코더 알고리즘 모델 구성에 있어 정상과 고장간의 MSE 값 차이가 크면 클수록 임계값 설정은 보다 수월해지므로 모델의 성능은 증가된 것 이다.
복원률에 10% 마진을 준 것은 학습 과정에서 고장 데이터가 없는 상황을 가정한 것이며 진단 대상이 고장이라고 판단되는 수준의 상태에서 수집된 데이터가
있다면 이 임계값은 수집된 고장 데이터의 복원률을 기준으로 설정된다.
3.3 제어 및 진단 알고리즘
본 논문에 사용된 컨트롤러인 DSP는 전동기 제어와 고장 진단 알고리즘 동작을 모두 수행한다. 제어 인터럽트 루틴은 적분 제어를 포함하기 때문에 엄격한
제어 주기를 가져야 한다. 또한, 전동기 운전에 이상을 만들지 않게 상위 우선순위를 배정받는다. 반면에 딥 러닝 고장 진단 루틴은 상대적으로 낮은
우선순위를 배정받는다. 그 이유는 본 논문에서 딥 러닝 알고리즘을 통해 진단하고자 하는 고장은 전동기 운전에 즉각적 대처를 요구하지 않는 없는 기계적
고장을 다루기 때문이다. 반면에 즉각적인 시스템 전원 차단을 요구하는 전기적 고장 진단은 가장 높은 우선순위를 배정받는다. 우선순위를 기반으로 하여
제안되는 알고리즘 구조는 그림 6과 같다.
그림. 6. 알고리즘 진단 루틴 순서도
Fig. 6. Flowchart of Algorithm diagnosis routines
딥 러닝 고장 진단을 위해 제어 루틴에서 수집되는 전류 신호는 버퍼에 저장된다. 버퍼에 일정 수 이상의 전류 신호가 입력되면 제어 루틴 내부에서 버퍼에
전류를 저장하는 구문을 차단시키고 메인 루프에서 진단을 실시한다. 이 구조는 제어 루틴에 간섭하지 않고 인터럽트 호출 사이의 공백 시간에 진단을 처리하는
것으로 시스템의 제어 동작에 큰 영향을 주지 않는다. 고장 진단을 위해 추가되는 것은 버퍼에 전류 신호를 저장하는 것이며 이에 의한 한 루틴 동작
시간의 변화는
표 1과 같다.
표 1. 제안된 알고리즘에 의한 연산 속도 변화
Table 1. The variation of computation speed by proposed method
Method
|
Interrupt computation time
|
Previous
|
5.25 [us]
|
Proposed
|
6.12 [us]
|
일반적으로 속도 제어기의 주파수는 1[kHz]이며, 전류 제어기의 주파수는 10[kHz] 수준이다. 제안된 방법에 의해 인터럽트 처리에 소모되는 시간은
6.12[us]으로 인터럽트 호출 대기 시간 중 6% 수준의 시간만을 차지한다. 베어링 고장과 같은 기계적 고장 진단에 요구되는 진단 주기는 평균적으로
1 [s] 이하이다
(19). 제어기 주파수에 따라 달라지지만 전류 제어기의 주파수가 10k [Hz]일 때 고장 진단 루틴은 940 [ms] 미만일 경우 1초에 1회 진단이
가능하다.
3.4 알고리즘 성능 개선 방법
진단 알고리즘의 목표 수치 중 하나인 진단 성공률은 범용 적으로 설정 가능한 수치이다. 제안된 방법에 의한 진단은 기존 진동 신호 기반의 고장 진단
알고리즘을 대체하기 위함이기 때문에 기존 연구들에서 제시되었던 99%이상의 정확도를 목표로 한다 (4)-(5).
알고리즘의 성능 개선은 정확도를 유지하는 수준에서 연산 속도를 향상 시키는 방법이 사용된다. 첫 번째 개선 방법은 입력 데이터 수를 변경시키는 것이다.
진단 알고리즘인 오토 인코더의 입력 데이터는 전류 신호이다. 그림 8은 전동기의 부하를 변경시키며 측정한 전류 신호를 보여준다.
그림 7은 전동기 속도가 1500 [RPM]에서 계측된 신호이다. 이 때 4극 BLDC 모터의 전류 주파수는 100 [Hz]이다.
그림. 7. 취득한 전류 신호 데이터
Fig. 7. Acquired current signal data
전류 신호의 계측은 제어 인터럽트 루틴에서 시행되기 때문에 샘플링 주파수는 1k [Hz]이다. 샘플링 주파수가 계측하는 신호의 주파수보다 10배 이상
큰 계측 시스템에서 데이터에 의한 성능 하향은 없을 것으로 예상된다. 하지만 입력 데이터의 길이가 길어지는 것은 모델의 연산 시간을 증가시킨다. 데이터의
길이를 줄이는 방법은 샘플링 주파수를 낮추는 것과 샘플 개수를 줄이는 방법이 있다. 딥 러닝 알고리즘은 데이터의 값보다 패턴에 더욱 큰 영향을 받는다.
이를 고려해 전류 파형의 3주기를 보장하는 샘플 개수에서 샘플링 주파수를 낮추어 데이터 길이를 낮추는 방법이 제안된다.
모델의 연산 속도를 개선시키는 두 번째 방법은 모델의 구조를 단순화시키는 것이다. 오토 인코더는 그림 1과 같은 신경망 구조를 가질 수 있다. 이때 신경망은 행렬로 표현되며 이에 대한 코드는 외적으로 구현된다. PC 환경의 GPU는 각 행렬 사이의 외적을
병렬로 처리 가능하게 하지만 MCU의 계산 구조는 병렬 연산에 적합하지 않다. 이는 MCU에 탑재되는 딥 러닝 알고리즘은 정확도를 유지하는 선에서
적은 용량을 가지는 것이 바람직하다는 것을 의미한다. 모델의 성능은 입력층과 은닉층의 수를 조절하는 것으로 개선할 수 있다. 모델의 파라미터가 적을수록
메모리는 작아지며 성능은 낮아지는 경향이 있다. 입력층의 뉴런수는 샘플링 주파수에 따른 전류 신호 데이터의 길이로 조절 가능하며 샘플링 주파수가 높을수록
뉴런수는 증가한다. 은닉층 뉴런수는 모델의 분류 성능에 직접적인 영향을 주기 때문에 메모리와 분류 성능 사이의 트레이드 오프를 고려하며 선정해야 한다.
다음 장에서는 실험을 통해 그 결과를 보인다.
4. 실 험
4.1 실험 환경 구성
제안된 방법은 제어기인 DSP에 딥 러닝 알고리즘을 탑재하는 방법이다. 딥 러닝 알고리즘이 동작되는 DSP는 PC 환경에 비해 현저히 작은 메모리
크기로 인해 메모리 관리 및 처리에 어려움이 있다. 따라서 모델을 구성하는 가중치는 PC 환경에서 학습된다. 학습에 사용할 데이터는 BLDC 모터의
전류 신호 데이터이다.
실험에 사용된 BLDC모터의 정격은 24 [V], 20 [W]이다. 상용 컨트롤러를 모사하기 위해 DSP가 부착된 SMC150 보드를 사용해 환경을
구성했다. 구성된 환경은 그림 8과 같다. 오토 인코더는 고장 상태를 정확히 분류하는 지도 학습 모델이 아닌 전동기의 이상 상태를 감지하는 진단 모델이다. 성능 검증 실험에서 구현된
전동기의 고장 상태는 베어링 고장이다. 베어링 고장은 전동기의 볼 베어링의 볼에 크랙을 주어 구현했다. 그 모습은 그림 9와 같다. 제안된 방법의 진단 알고리즘은 오토 인코더에 의한 패턴 검출과 과전류 방지를 위한 진폭 검출을 포함한다. 산업 현장에서 사용되는 전동기의
부하는 변경될 수 있다. 즉, 오토 인코더를 이용해 개발자가 설정한 과전류 미만의 전류에서는 부하 변동에 의한 패턴 변화와 과전류를 구분할 수 있어야
한다. 또한, 부하 증가와 고장 상태를 분류 가능해야 한다. 이에 대한 해결 방법으로 정상 상태에서 개발자가 설정한 부하 미만에서 측정된 전류 데이터들을
모두 학습 데이터로 사용한다. 제안된 방법의 진단 구조는 그림 10과 같다.
그림. 8. 실험 환경
Fig. 8. Experiments environment
그림. 9. 베어링 고장 전동기
Fig. 9. Bearing fault motor
그림. 10. 전동기 고장 진단 구조
Fig. 10. Structure of motor fault diagnosis
실험을 위해 설정된 허용 전류의 최대치는 0.7 [A]이며 이 이상의 전류는 진폭 기반의 고장 진단 알고리즘에 의해 감지되게 설정했다. 0.7 [A]
미만의 1500 [RPM]에서 전류 신호를 측정했으며 총 데이터 수는 2,000개이다. 무부하 상태에서의 정격 전류인 0.2 [A]를 기본 동작으로
설정했기에 총 2,000개의 데이터 중 1,000개를 0.2 [A]에서 취득한 신호를 사용했다. 전동기 상태에 따른 데이터는
그림 11과 같다. 베어링 고장 상태에서의 전류는
그림 12와 같다.
오토 인코더 모델은 연산 속도 향상을 위해 컨볼루션 등의 네트워크를 제외한 고전적인 신경망 구조가 채택되었다. 인코더와 디코더 층을 최소 개수인 2개로
설정해 모델을 간소화시켰으며 편향을 제거해 메모리를 축소시켰다. 모델은 그림 13과 같이 구성된다.
그림. 11. 부하에 따른 전류 신호(학습 데이터)
Fig. 11. Current signal depending on load(Training data)
그림. 12. 베어링 고장에 따른 전류 신호
Fig. 12. Current signal depending on fault
그림. 13. 사용된 오토 인코더 구조
Fig. 13. Used Auto-Encoder structure
알고리즘의 성능을 높이는 방법 중 하나는 데이터의 전처리 과정이다. 실험에 사용한 전처리 방법은 범용적인 성능이 높은 Min-Max 정규화이다. Min-Max
정규화는 출력값을 일정 범위로 정규화 해주는 방식으로 본 실험에서는 최댓값은 1, 최솟값은 0으로 적용하였고 정규화 식은
(6)과 같다.
4.2 샘플링 주파수에 따른 성능 분석
학습을 위해 측정되는 전류 신호는 모두 전류 3주기를 포함하는 67 [ms] 동안의 신호이다. 샘플링 주파수를 조절해 67 [ms] 동안 수집되는
데이터 수를 조절해 각 데이터 길이에 따른 성능을 분석했다. 그림 13과 같이 입력 데이터의 길이는 입력층, 출력층의 뉴런 수와 같다. 그림 13의 $W_{2}$와 $W_{3}$의 크기를 모든 모델에서 동일하게 설정한 뒤 데이터 길이를 100, 200, 400, 500, 1000, 2000으로
변경하며 그 성능을 분석했다. 그 결과는 표 2와 그림 14과 같다.
표 2. 샘플링 속도에 따른 성능
Table 2. Performance through data sampling rate
Sampling
|
Input Data
|
MSE
|
Memory[KB]
|
2000
|
Rated State
|
0.0006
|
9,438
|
Allowed Load
|
0.0018
|
Fault
|
0.0019
|
1000
|
Rated State
|
0.0015
|
1,574
|
Allowed Load
|
0.0027
|
Fault
|
0.0020
|
500
|
Rated State
|
0.0021
|
487
|
Allowed Load
|
0.0032
|
Fault
|
0.0040
|
400
|
Rated State
|
0.0016
|
397
|
Allowed Load
|
0.0031
|
Fault
|
0.0021
|
200
|
Rated State
|
0.0018
|
217
|
Allowed Load
|
0.0033
|
Fault
|
0.0026
|
100
|
Rated State
|
0.0039
|
127
|
Allowed Load
|
0.0095
|
Fault
|
0.0036
|
제안된 방법에서의 진단 구조는
그림 10과 같다. 허용 전류 이하의 전류 파형은 부하 변동에 의한 것이기 때문에 정상 상태로 분류된다. 오토 인코더의 진단 기준은 복원률인
(4)를 통해 선정된 임계값이다.
표 2의 진단 정확도를 위해 설정되는 임계값은 정상 상태인 허용 전류 이하의 데이터들의 복원률 평균값에 10% 마진을 준 것으로 모든 모델은 실험에 사용된
고장 상태를 100% 정확도로 분류할 수 있다. 상세한 모델 성능 분석법은 다음과 같다. 정상 상태의 복원률과 고장 상태의 복원률의 차이가 클수록
우수한 모델이며 정상 상태와 허용 전류 상태에서의 복원률의 차이가 작을수록 우수한 모델이다.
표 2를 통해 샘플 수가 많아질수록 성능이 우수해짐을 알 수 있다. 하지만 샘플 수 증가에 따라 메모리 수가 급격하게 상승함을 알 수 있다. 샘플링 수
1,000 일 때의 성능이 500일 때 보다 떨어지는 것은 모델 결정 경계 구축에서의 비선형성에 의한 것으로 추측된다.
표 2를 통해 복원률의 차이는 샘플 길이가 길어짐에 따라 우수해지지만, 그 메모리가 커지는 것을 알 수 있고 실험군 중에서는 트레이드 오프 관계를 고려해
500을 선정하는 것이 가장 적절함을 알 수 있다. 만약 600 샘플 이상의 입력 데이터를 사용할 경우 가중치의 메모리는 DSP의 FLASH 총 용량인
512KB 보다 커지게 된다.
그림. 14. 샘플 길이에 따른 모델 성능
Fig. 14. Model performance through sample length
4.3 모델 구조에 따른 성능 분석
4.2절에서의 실험 결과는 입력 데이터의 길이를 변경하고 그 외의 뉴런 수를 모두 동일하게 설정했을 때의 결과이다. 정확도와 연산 속도 및 메모리를
포함하는 모델의 성능에 영향을 주는 다른 요소는 모델을 구성하는 은닉층 뉴런 수이다. 모델 구조에 가장 직접적인 영향을 주는 은닉층 뉴런 수를 표 2에서 가장 우수한 성능을 보인 샘플 길이 500개의 입력 데이터를 갖는 모델에서 조정하는 실험이 진행되었다. 학습 데이터의 수는 표 2의 실험과 동일하게 총 2,000개로 설정했고, 은닉층 뉴런 수를 제외한 모든 하이퍼 파라미터는 동일하게 설정했다. 그 결과는 표 3과 같다.
표 3. 모델 구조에 따른 성능
Table 3. Performance through model structure
표 3은 은닉층 뉴런 수를 늘려 모델의 복잡성을 증가시켰을 때 모델의 성능이 개선되는 것을 보여준다. 하지만 우수한 성능의 모델을 만들기 위해 은닉층 뉴런
수를 크게 늘릴 경우 제어기에 모델을 탑재시키지 못하는 문제점이 생긴다.
표 2의 실험에서와 같이 메모리와 모델 성능의 관계를 고려해 시스템 구현에는 샘플 길이 500, 은닉층 뉴런 수 60, 40이 선정되었다.
4.4 전체 시스템 성능 분석
전체 시스템 구성에 사용된 딥 러닝 진단 모델은 오토 인코더이며 입력 데이터의 길이는 500, 은닉층 뉴런 수는 60, 40이다. 그림 15, 그림 16, 그림 17, 정격, 허용 전류, 고장 상태에서의 오토 인코더를 통해 복원된 데이터를 보여준다.
그림. 15. 정격 상태 오토 인코더 출력
Fig. 15. Auto-Encoder output in rated state
그림. 16. 허용 전류 상태 오토 인코더 출력
Fig. 16. Auto-Encoder output in allowed state
그림. 17. 고장 상태 오토 인코더 출력
Fig. 17. Auto-Encoder output in fault state
표 3의 결과와 같이
그림 15,
16,
17은 오토 인코더에 의한 복원률을 가시적으로 표현한다. 선정된 모델 구조의 동작 시간은 50 [ms]로 1초 이내의 진단을 충분히 만족한다.
그림 6의 프로그램 구조에 의해 제어 루틴에 영향을 미치지 않는다는 것을 확인하기 위해 1,500 [RPM]의 속도를 2,400 [RPM]으로 변경할 때까지의
프로파일을 측정했다. 그 결과는
그림 18과 같으며 메인 루프의 진단 프로그램은 제어 인터럽트 루틴에 영향을 주지 않음을 알 수 있다.
그림. 18. 프로그램 별 속도 프로파일
Fig. 18. Speed profile each program
5. 결 론
본 논문에서는 기존 전동기 고장 진단 장치들이 외장 설치를 해야 하는 한계를 극복하기 위해 전동기 제어기에 딥 러닝 알고리즘을 탑재하는 방법과 성능을
개선하는 방법이 제안되었다. 현장에 구성되어 있는 시스템으로의 적용을 고려해 장치 추가 없이 MCU의 내장 메모리에 맞추어 모델을 설계하는 방법으로
입력 데이터의 샘플링 길이 조정과 모델 은닉층수 조절이 사용되었다.
현장의 데이터 부족을 고려하고 MCU의 메모리 문제에 대응하기 위해 비지도 학습 방식 중 오토 인코더 알고리즘이 사용되었다. 허용 전류 미만의 정상
상태 전동기의 전류 신호를 진폭 기반의 고장 진단 알고리즘과 구분하기 위해 허용 전류 미만의 데이터를 학습 데이터로 일부 추가하는 방식이 사용되었다.
메모리 크기, 진단 속도 및 진단 정확도를 고려해 모델을 선정했으며 선정된 모델은 제어기에 탑재 가능하며, 1초 이내의 진단 속도를 보였고 실험에
사용된 베어링 고장을 100% 정확도로 분류 가능했다.
제어기 개발 단계부터 EEPROM과 같은 외부 장치를 추가해 메모리 용량을 증가시킨다면, 단일 고장뿐만 아니라 기어 고장 등 다중 고장 진단 모델로
성능을 확장시킬 수 있을 것이며, 딥 러닝 알고리즘 기반의 고장 진단 시스템을 현장에 적용하기 위한 더욱 실용적인 고장 진단이 가능할 것으로 기대된다.
Acknowledgements
This research was supported by Korea Electric Power Corporation. [Grant number : R21XO01-14].
References
Y. E. Zhongming, W. U. Bin, 2000, A Review on Induction Motor Online Fault Diagnosis,
Proceedings IPEMC 2000. Third International Power Electronics and Motion Control Conference
(IEEE Cat. No. 00EX435)., Vol. 3
Subhasis Nandi, Hamid A. Toliyat, 1999, Fault Diagnosis of Electrical Machines - A
Review, IEEE International Electric Machines and Drives Conference. IEMDC'99. Proceedings
(Cat. no. 99EX272)
B. Michael Aucoin, Robert H. Jones, 1996, High Impedance Fault Detection Implementation
Issues, IEEE Transactions on Power Delivery, Vol. 11, No. 1, pp. 139-148
Yadong Xu, 2022, Global Contextual Residual Convolutional Neural Networks for Motor
Fault Diagnosis under Variable-Speed Conditions, Reliability Engineering & System
Safety, Vol. 225, pp. 108618
Abdelelah Almounajjed, 2022, Fault Diagnosis and Investigation Techniques for Induction
Motor, International Journal of Ambient Energy, Vol. 43.1, pp. 6341-6361
S. Ruzza, 2008, Fast-responding Over Current Detector Circuit in High Voltage Technology
for Motor Drive Applications, 2008 34th Annual Conference of IEEE Industrial Electronics
Ji-Hoon Han, Sang-Uk Park, Sun-Ki Hong, 2022, A Study on the Effectiveness of Current
Data in Motor Mechanical Fault Diagnosis Using XAI, Journal of Electrical Engineering
& Technology, Vol. 17.6, pp. 3329-3335
Bo Li, 2000, Neural-Network-Based Motor Rolling Bearing Fault Diagnosis, IEEE Transactions
on Industrial Electronics, Vol. 47, No. 5, pp. 1060-1069
R. C. Turner, 1994, Materials for High Temperature Acoustic and Vibration Sensors:
A Review, Applied Acoustics, Vol. 41, No. 4, pp. 299-324
Subhasis Nandi, Hamid A. Toliyat, Xiaodong Li, 2005, Condition Monitoring and Fault
Diagnosis of Electrical Motors—A Review, IEEE Transactions on Energy Conversion, Vol.
20, No. 4, pp. 719-729
K. Yahia, 2014, Induction Motors Airgap-Eccentricity Detection Through the Discrete
Wavelet Transform of the Apparent Power Signal Under Non-Stationary Operating Conditions,
ISA Transactions, Vol. 53, No. 2, pp. 603-611
Long Wen, Liang Gao, Xinyu Li, 2017, A New Deep Transfer Learning Based on Sparse
Auto-encoder for Fault Diagnosis, IEEE Transactions on Systems, Man, and Cybernetics:
Systems, Vol. 49, No. 1, pp. 136-144
Junhai Zhai, 2018, Autoencoder and its Various Variants, 2018 IEEE International Conference
on Systems, Man, and Cybernetics (SMC)
Changqing Zhang, Yeqing Liu, Huazhu Fu, 2019, Ae2-nets: Autoencoder in Autoencoder
Networks, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition
2007, TMS320F2833x, TMS320F2823x Digital Signal Controllers (DSCs), Standard
Juan Dixon, Matias Rodriguez, Rodrigo Huerta, 2002, Position Estimator and Simplified
Current Control Strategy for Brushless-DC Motors, Using DSP Technology, IEEE 2002
28th Annual Conference of the Industrial Electronics Society. IECON 02., Vol. 1
M. Reidla, O. Martens, R. Land, 2012, TMS320F28335-Based High-Accuracy Complex Network
Analyzer Instrument, 2012 5th European DSP Education and Research Conference (EDERC)
Yinpeng Chen, 2020, Dynamic Relu, European Conference on Computer Vision
Ji-Hoon Han, 2019, Motor Fault Diagnosis Using CNN Based Deep Learning Algorithm Considering
Motor Rotating Speed, 2019 IEEE 6th International Conference on Industrial Engineering
and Applications (ICIEA)
저자소개
He obtained his B.S in Digital Control Engineering from Hoseo University, Korea
in 2024.
Currently, he is pursuing the M.S in Information Control Engineering from Hoseo
University, Korea, His research interests include MCU and deep learning.
He obtained his B.S and M.S in Digital Control Engineering from Hoseo University,
Korea in 2019 and 2021.
Currently, he is pursuing the Ph.D in Information Control Engineering from Hoseo
University, Korea, His research interests include deep learning and motor control.
He obtained his B.S in Digital Control Engineering from Hoseo University, Korea
in 2023.
Currently, he is pursuing the M.S in Information Control Engineering from Hoseo
University, Korea, His research interests include deep learning and IoT system.
He obtained his B.S in Digital Control Engineering from Hoseo University, Korea
in 2024.
Currently, he is pursuing the M.S in Information Control Engineering from Hoseo
University, Korea, His research interests include motor analysis.
He received the B.S., M.S. and Ph. D degrees in Electric Engineering from Seoul
University, Korea in 1987, 1989 and 1993, respectively.
He joined Hoseo University, in 1995, where he is currently a Full Professor with
the Department of System and Control Engineering.
His research interests include hysteresis motor analysis, electric motor analysis
and design, motor fault diagnosis, servo motor control, converter and inverter design,
deep learning and IoT.