IndustrialUpdated 2026-04-01

Predictive Maintenance 가이드

시계열 분석 기반 고장 예측 모델 연동 — CtrlFactory × FastAPI

ESP32-S3PlatformIOFreeRTOS

1. 개념 (Concept)

1.1 예지보전이란?

예지보전(Predictive Maintenance, PdM)은 설비의 실시간 상태 데이터를 분석하여 고장이 발생하기 전에 이상 징후를 감지하고 정비 시점을 예측하는 기법이다.

사후보전 (BM) : 고장 발생 후 수리 → 비계획 다운타임, 최대 비용 예방보전 (PM) : 일정 주기로 정기 교체 → 과잉 정비, 불필요한 부품 낭비 예지보전 (PdM): 상태 기반 + AI 예측 정비 → 최적 정비 시점, 비용 최소화

1.2 감지 → 진단 → 예측 3단계

1.3 핵심 용어

  • RMS (Root Mean Square): 진동 에너지 크기 — 전반적 이상 감지
  • FFT (Fast Fourier Transform): 시간 → 주파수 변환 — 결함 주파수 식별
  • BPFO/BPFI/BSF/FTF: 베어링 결함 특성 주파수 (외륜/내륜/볼/케이지)
  • Isolation Forest: 비지도 학습 이상 감지 — 정상 데이터만으로 학습
  • LSTM Autoencoder: 정상 패턴 재구성 오차로 이상 감지
  • RUL (Remaining Useful Life): 잔여 수명 — "앞으로 얼마나 버티는가"
  • Health Score: 0100 종합 건강도 (AF 등급)
  • CMMS: 전산화 유지보수 관리 시스템 (Work Order 자동 생성)

2. 상세 내용 (Details)

2.1 진동 신호 처리 파이프라인

2.2 베어링 결함 주파수 계산

베어링 모델별 결함 특성 주파수는 기하학적 공식으로 계산한다.

2.3 Isolation Forest 이상 감지 원리

정상 데이터는 분리하기 어렵고, 이상 데이터는 분리하기 쉽다는 원리 활용.

2.4 LSTM Autoencoder 구조

정상 패턴을 학습 → 재구성 오차(MSE)가 크면 이상.

2.5 RUL (잔여수명) 예측 모델

2.6 Health Score 종합 계산


3. 구조 설명 (Architecture)

3.1 CtrlFactory 전체 시스템 아키텍처

3.2 FastAPI AI Engine 내부 구조

3.3 이상 감지 데이터 플로우

3.4 CMMS Work Order 자동 생성 흐름

3.5 Edge AI (TFLite Micro) 처리 구조

3.6 FastAPI 모델 학습 스케줄러

3.7 TimescaleDB 스키마 구조


4. 응용 (Applications)

4.1 CtrlFactory 적용 전체 맵

4.2 Health Score 등급별 대응 전략

등급점수상태알람대응
A90~100정상없음정기 모니터링
B75~89양호정보다음 정기점검 시 확인
C60~74주의WARNING1주 내 점검 예약
D40~59경고HIGH48시간 내 긴급 점검
F0~39위험CRITICAL즉시 가동 중단 + 긴급 출동

4.3 센서 피처 × AI 모델 매핑

4.4 이상 감지 앙상블 전략

4.5 Next.js 실시간 대시보드 연동

4.6 모델 성능 지표 및 검증

4.7 배포 구조 (CtrlPlus VPS)


부록. 빠른 참조

FastAPI 핵심 엔드포인트

POST /api/v1/ctrlmind/ingest ← 실시간 센서 데이터 수신 GET /api/v1/ctrlmind/health/{id} ← Health Score 조회 GET /api/v1/ctrlmind/rul/{id} ← RUL 예측 결과 GET /api/v1/ctrlmind/alerts ← 이상 알람 목록 GET /api/v1/ctrlmind/stream/{id} ← SSE 실시간 스트림 POST /api/v1/ctrlmind/train ← 모델 재학습 트리거 GET /api/v1/ctrlmind/fft/{id}/history ← FFT 진단 이력

베어링 결함 주파수 요약

BPFO (외륜) = (n/2) × fs × (1 - Bd/Pd × cos α) BPFI (내륜) = (n/2) × fs × (1 + Bd/Pd × cos α) BSF (볼) = (Pd/2Bd) × fs × (1 - (Bd/Pd × cos α)²) FTF (케이지) = (fs/2) × (1 - Bd/Pd × cos α) n = 볼 수 fs = 축 회전 주파수 (Hz) Bd = 볼 직경 Pd = 피치 직경 α = 접촉각

AI 모델 하이퍼파라미터 요약

모델입력구조학습 주기
Isolation Forest피처 18차원n_est=100, contam=0.05매일 02:00
LSTM Autoencoder[50, 18] 시퀀스64→32→32→64매일 02:00
RUL LSTM[100, 12] 시퀀스128→64→32→1매일 02:00
TFLite Edge피처 18차원INT8 양자화 5클래스OTA 수동