Skip to Content
EV Motor Reliability์†Œ๊ฐœ

EV Motor Reliability

์ „๊ธฐ์ฐจ ๊ตฌ๋™๋ชจํ„ฐ/์ธ๋ฒ„ํ„ฐ ์‹ ๋ขฐ์„ฑ ์‹œํ—˜ ์ž๋™ํ™” ํ”Œ๋žซํผ v0.40.0

๊ฐœ์š”

ํ•ญ๋ชฉ๋‚ด์šฉ
ํŽŒ์›จ์–ดC (TMS320F2838x DSP, Code Composer Studio)
๋ถ„์„Python 3.12 (numpy, scipy, matplotlib, reliability)
ํ•˜๋“œ์›จ์–ดSMC300 ๋ชจํ„ฐ์ œ์–ด ํŒจํ‚ค์ง€, PMSM, BLDC
๋„๊ตฌCCS, UniFlash, JTAG (SDS200i)

์›น ๋Œ€์‹œ๋ณด๋“œ

์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰, ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง, ์‹ ๋ขฐ์„ฑ ๋ถ„์„์„ ํ†ตํ•ฉ ์ œ๊ณตํ•˜๋Š” ์›น ๊ธฐ๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ์ด๋‹ค. ์ธ์ฆ(Google OAuth) ํ›„ 5๊ฐœ ๋ฉ”์ธ ๋ผ์šฐํŠธ์™€ ํ”Œ๋กœํŒ… AI ์ฑ„ํŒ… ์œ„์ ฏ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

ํ•ญ๋ชฉ๋‚ด์šฉ
ํ”„๋ก ํŠธ์—”๋“œNext.js 15 (App Router) + React 19 + TypeScript
UI ํ”„๋ ˆ์ž„์›ŒํฌMantine 7
API ์„œ๋ฒ„FastAPI + Uvicorn (ํฌํŠธ 8100)
์ƒํƒœ ๊ด€๋ฆฌZustand (UI ์ƒํƒœ) + TanStack Query v5 (์„œ๋ฒ„ ์ƒํƒœ)
์ฐจํŠธRecharts
DBNeon PostgreSQL (์„œ๋ฒ„๋ฆฌ์Šค, @neondatabase/serverless)
์ธ์ฆNeon Auth (Google OAuth, Better Auth)
ํ˜ธ์ŠคํŒ…Vercel (๋Œ€์‹œ๋ณด๋“œ) + ๋กœ์ปฌ ์—์ด์ „ํŠธ (์‹œ๋ฎฌ๋ ˆ์ด์…˜/ํ•˜๋“œ์›จ์–ด)

๋Œ€์‹œ๋ณด๋“œ๋Š” Vercel์— ๋ฐฐํฌ๋˜์–ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์†ํ•˜๊ณ , ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰๊ณผ ํ•˜๋“œ์›จ์–ด ํ†ต์‹ ์€ ์‚ฌ์šฉ์ž PC์—์„œ ๊ตฌ๋™๋˜๋Š” ๋กœ์ปฌ ์—์ด์ „ํŠธ(FastAPI)๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์™€ ์—์ด์ „ํŠธ ๊ฐ„ ํ†ต์‹ ์€ WebSocket์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๋ชจํ„ฐ/์ธ๋ฒ„ํ„ฐ ์‹ ๋ขฐ์„ฑ ์‹œํ—˜ ์ž๋™ํ™”
  • Weibull ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™”
  • ๊ณ ์žฅ ์˜ˆ์ธก ๋ชจ๋ธ (MTTF, ๊ณ ์žฅ๋ฅ )
  • ์‹œ๋ฆฌ์–ผ/JTAG ํ†ต์‹  ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํŒŒ์ดํ”„๋ผ์ธ (runner.py, pipeline.py)
  • Motor x Control x Mode 3์ถ• ์กฐํ•ฉ ํ†ตํ•ฉ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (๋‹จ์ผ/๋ฐฐ์น˜/์Šค์œ•)
  • Monaco Editor ๊ธฐ๋ฐ˜ ํŽŒ์›จ์–ด/์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๋ทฐ์–ด + Git ์—ฐ๋™
  • FMEA (Failure Mode and Effects Analysis) ์ž๋™ ์ƒ์„ฑ ๋ฐ RPN ์‚ฐ์ถœ
  • HTML ์ข…ํ•ฉ ๋ณด๊ณ ์„œ ์ž๋™ ์ƒ์„ฑ (Weibull + FMEA + ๋น„๊ต ๋ถ„์„ ํ†ตํ•ฉ)

์™ธ๋ถ€ ์—ฐ๋™

Claude API (AI ์ฑ„ํŒ…)

๋ชจ๋“  ํŽ˜์ด์ง€ ์šฐํ•˜๋‹จ์— ํ”Œ๋กœํŒ… AI ์ฑ„ํŒ… ์œ„์ ฏ์„ ์ œ๊ณตํ•œ๋‹ค. Anthropic Claude API๋ฅผ ํ†ตํ•ด ์‹œํ—˜ ๊ฒฐ๊ณผ ๋ถ„์„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”์ฒœ, ๊ธฐ์ˆ  ๋ฌธ์„œ ์งˆ์˜๋ฅผ ์ž์—ฐ์–ด๋กœ ์ง€์›ํ•œ๋‹ค.

๊ธฐ๋Šฅ์„ค๋ช…
์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰์ฑ„ํŒ…์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰ ์š”์ฒญ
๊ฒฐ๊ณผ ํ•ด์„Weibull ๋ถ„์„, FMEA ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ž์—ฐ์–ด ์งˆ์˜ ์‘๋‹ต
๋ฌธ์„œ ์ฐธ์กฐํ”„๋กœ์ ํŠธ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ  ์งˆ์˜
์‘๋‹ต ๋ฐฉ์‹SSE (Server-Sent Events) ์ŠคํŠธ๋ฆฌ๋ฐ

์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ API ํ‚ค๋ฅผ ์—์ด์ „ํŠธ์— ์„ค์ •ํ•˜๋Š” BYOK (Bring Your Own Key) ๋ฐฉ์‹์œผ๋กœ ์šด์˜๋œ๋‹ค.

WebSocket (์‹ค์‹œ๊ฐ„ ๋ชจํ„ฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ)

๋กœ์ปฌ ์—์ด์ „ํŠธ์™€ ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ WebSocket ์—ฐ๊ฒฐ๋กœ ์‹ค์‹œ๊ฐ„ ๋ชจํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ 10Hz ์ฃผ๊ธฐ๋กœ ์ŠคํŠธ๋ฆฌ๋ฐํ•œ๋‹ค. ์†๋„(RPM), ์ „๋ฅ˜(A), ์˜จ๋„(degC), ํ† ํฌ(N-m) 4์ฑ„๋„์„ ๋™์‹œ์— ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ, ๊ฐ ์ธก์ •๊ฐ’์ด ์ž„๊ณ„์น˜(80% ๊ฒฝ๊ณ , 100% ์œ„ํ—˜)๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์ž๋™ ์•Œ๋ฆผ๊ณผ ๋น„์ƒ ์ •์ง€๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

pyserial (์‹œ๋ฆฌ์–ผ UART ํ†ต์‹ )

SMC300 ๋ชจํ„ฐ์ œ์–ด ๋ณด๋“œ์™€ PC ๊ฐ„ UART/SCI ์‹œ๋ฆฌ์–ผ ํ†ต์‹ ์œผ๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค. 24์‹œ๊ฐ„ ๋ฌด์ธ ์šด์ „ ๋ชจ๋“œ์—์„œ ์ž๋™ ๋กœ๊น…ํ•˜๋ฉฐ, ํ†ต์‹  ํƒ€์ž„์•„์›ƒ ๋ฐœ์ƒ ์‹œ ๊ณ ์žฅ ์ด๋ฒคํŠธ๋กœ ๊ธฐ๋กํ•œ๋‹ค.

JTAG/SWD (ํŽŒ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ)

SDS200i ์ ˆ์—ฐ JTAG ์—๋ฎฌ๋ ˆ์ดํ„ฐ(XDS200-ISO)๋ฅผ ํ†ตํ•ด TMS320F2838x DSP์— ํŽŒ์›จ์–ด๋ฅผ ์—…๋กœ๋“œํ•œ๋‹ค. UniFlash CLI(dslite.sh)๋กœ ์ž๋™ ํ”Œ๋ž˜์‹ฑํ•˜๋ฉฐ, Code Composer Studio(CCS)์—์„œ ์‹ค์‹œ๊ฐ„ ๋””๋ฒ„๊น…์„ ์ง€์›ํ•œ๋‹ค.

๋ฐฐํฌ

Docker + docker-compose๋กœ ํ”„๋ก ํŠธ์—”๋“œ(SPA)์™€ API ์„œ๋ฒ„๋ฅผ ๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ์— ํŒจํ‚ค์ง•ํ•œ๋‹ค.

ํ•ญ๋ชฉ๋‚ด์šฉ
๋ฒ ์ด์Šค ์ด๋ฏธ์ง€Python 3.12-slim
๋นŒ๋“œ ๋ฐฉ์‹๋ฉ€ํ‹ฐ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ (Node.js๋กœ SPA ๋นŒ๋“œ โ†’ Python ์ด๋ฏธ์ง€์— ์ •์  ํŒŒ์ผ ํฌํ•จ)
์ปจํ…Œ์ด๋„ˆ ๊ตฌ์„ฑFastAPI๊ฐ€ SPA ์ •์  ํŒŒ์ผ ์„œ๋น™ + API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค๋กœ ์ œ๊ณต
๋Œ€์‹œ๋ณด๋“œ (Vercel)Next.js App Router ๊ธฐ๋ฐ˜, Vercel์— ์ž๋™ ๋ฐฐํฌ
๋กœ์ปฌ ์—์ด์ „ํŠธ์‚ฌ์šฉ์ž PC์—์„œ python agent.py๋กœ ์‹คํ–‰, ํ•˜๋“œ์›จ์–ด ํ†ต์‹  ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋‹ด๋‹น

Vercel์— ๋ฐฐํฌ๋œ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ์ธก UI๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ํ•˜๋“œ์›จ์–ด ์ œ์–ด๋Š” ์‚ฌ์šฉ์ž PC์˜ ๋กœ์ปฌ ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜์ด๋‹ค.

๋‹จ์œ„ ๊ทœ์น™

SI ๋‹จ์œ„๊ณ„ ์‚ฌ์šฉ: rad/s (์†๋„), A (์ „๋ฅ˜), V (์ „์••), Nยทm (ํ† ํฌ), degC (์˜จ๋„)

๋งค๋‰ด์–ผ

Last updated on