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: 0
100 종합 건강도 (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 등급별 대응 전략
| 등급 | 점수 | 상태 | 알람 | 대응 |
|---|---|---|---|---|
| A | 90~100 | 정상 | 없음 | 정기 모니터링 |
| B | 75~89 | 양호 | 정보 | 다음 정기점검 시 확인 |
| C | 60~74 | 주의 | WARNING | 1주 내 점검 예약 |
| D | 40~59 | 경고 | HIGH | 48시간 내 긴급 점검 |
| F | 0~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 수동 |