"5조-와쏘베쏘"의 두 판 사이의 차이

MIE capstone
이동: 둘러보기, 검색
(특허 조사)
246번째 줄: 246번째 줄:
 
====하드웨어 배치 설계====
 
====하드웨어 배치 설계====
 
<div><ul class = "center">
 
<div><ul class = "center">
<li style="display: inline-block;">[[파일:와쏘베쏘_배치도.png|300픽셀|섬네일|왼쪽|figure 4. 펠티어 및 제어부 배치도]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_배치도.png|300픽셀|섬네일|왼쪽|figure 7. 펠티어 및 제어부 배치도]]</li>
<li style="display: inline-block;">[[파일:와쏘베쏘_조립도.png|300픽셀|섬네일|오른쪽|figure 5. 펠티어 모듈 조립도]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_조립도.png|300픽셀|섬네일|오른쪽|figure 8. 펠티어 모듈 조립도]]</li>
 
</ul></div>
 
</ul></div>
  
259번째 줄: 259번째 줄:
  
 
<div><ul class = "center">
 
<div><ul class = "center">
<li style="display: inline-block;">[[파일:Peltier_Principle.png|300픽셀|섬네일|왼쪽|figure. 펠티어 효과 및 열 이동 원리]]</li>
+
<li style="display: inline-block;">[[파일:Peltier_Principle.png|300픽셀|섬네일|왼쪽|figure 9. 펠티어 효과 및 열 이동 원리]]</li>
<li style="display: inline-block;">[[파일:Graph_COP.png|300픽셀|섬네일|오른쪽|figure. 전류(I)에 따른 냉각 용량(Qc)과 효율(COP) 곡선]]</li>
+
<li style="display: inline-block;">[[파일:Graph_COP.png|300픽셀|섬네일|오른쪽|figure 10. 전류(I)에 따른 냉각 용량(Qc)과 효율(COP) 곡선]]</li>
 
</ul></div>
 
</ul></div>
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
292번째 줄: 292번째 줄:
  
 
<div><ul class = "center">
 
<div><ul class = "center">
<li style="display: inline-block;">[[파일:CFD_result.png|300픽셀|섬네일|왼쪽|figure. 시뮬레이션 결과]]</li>
+
<li style="display: inline-block;">[[파일:CFD_result.png|300픽셀|섬네일|왼쪽|figure 11. 시뮬레이션 결과]]</li>
 
</ul></div>
 
</ul></div>
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
312번째 줄: 312번째 줄:
 
===상세설계 내용===
 
===상세설계 내용===
 
====하드웨어 구현 (회로 및 부품)====
 
====하드웨어 구현 (회로 및 부품)====
[[파일:와쏘베쏘_회로도.png|600픽셀|섬네일|가운데|figure 6. 전체 회로 구성도]]
+
[[파일:와쏘베쏘_회로도.png|600픽셀|섬네일|가운데|figure 12. 전체 회로 구성도]]
  
 
* '''제어부 (MCU & Computer)'''
 
* '''제어부 (MCU & Computer)'''
329번째 줄: 329번째 줄:
 
* '''전체 소스 코드''': [https://github.com/MeiLL3r/CapstoneDesign/ GitHub - MeiLL3r/CapstoneDesign]
 
* '''전체 소스 코드''': [https://github.com/MeiLL3r/CapstoneDesign/ GitHub - MeiLL3r/CapstoneDesign]
 
=====3계층 제어 아키텍처 (3-Layer Architecture)=====
 
=====3계층 제어 아키텍처 (3-Layer Architecture)=====
[[파일:와쏘베쏘_아키텍처.png|600픽셀|섬네일|가운데|figure 7. 3-Layer Software Architecture]]
+
[[파일:와쏘베쏘_아키텍처.png|600픽셀|섬네일|가운데|figure 13. 3-Layer Software Architecture]]
 
본 시스템은 '''Android App (UI) ↔ Firebase (DB) ↔ Embedded (Control)'''의 3계층 구조로 설계되었다. 각 계층은 독립적으로 동작하며, 네트워크 연결이 끊기더라도 안전 모드로 진입하는 Fail-safe 로직을 포함한다.
 
본 시스템은 '''Android App (UI) ↔ Firebase (DB) ↔ Embedded (Control)'''의 3계층 구조로 설계되었다. 각 계층은 독립적으로 동작하며, 네트워크 연결이 끊기더라도 안전 모드로 진입하는 Fail-safe 로직을 포함한다.
 
=====1. 안드로이드 어플리케이션 (Presentation Layer)=====
 
=====1. 안드로이드 어플리케이션 (Presentation Layer)=====
338번째 줄: 338번째 줄:
 
** '''직관적 UI''': RecyclerView를 사용하여 등록된 기기 목록을 관리하며, 스와이프 제스처로 삭제/수정이 가능하다.
 
** '''직관적 UI''': RecyclerView를 사용하여 등록된 기기 목록을 관리하며, 스와이프 제스처로 삭제/수정이 가능하다.
 
<div><ul class = "center">
 
<div><ul class = "center">
<li style="display: inline-block;">[[파일:와쏘베쏘_앱화면.png|250픽셀|섬네일|왼쪽|figure 8. 기기 제어 및 모니터링 화면]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_앱화면.png|250픽셀|섬네일|왼쪽|figure 14. 기기 제어 및 모니터링 화면]]</li>
<li style="display: inline-block;">[[파일:와쏘베쏘_그래프.png|250픽셀|섬네일|오른쪽|figure 9. 실시간 온도 그래프]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_그래프.png|250픽셀|섬네일|오른쪽|figure 15. 실시간 온도 그래프]]</li>
 
</ul></div>
 
</ul></div>
 
'''핵심 코드 (Kotlin): 실시간 데이터 수신 및 오프라인 감지'''
 
'''핵심 코드 (Kotlin): 실시간 데이터 수신 및 오프라인 감지'''
429번째 줄: 429번째 줄:
 
====프로토타입 사진 및 UI====
 
====프로토타입 사진 및 UI====
 
<div><ul class = "center">
 
<div><ul class = "center">
<li style="display: inline-block;">[[파일:와쏘베쏘_프로토타입.png|400픽셀|섬네일|왼쪽|figure 10. 최종 프로토타입 착용 모습]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_프로토타입.png|400픽셀|섬네일|왼쪽|figure 16. 최종 프로토타입 착용 모습]]</li>
<li style="display: inline-block;">[[파일:와쏘베쏘_앱화면.png|250픽셀|섬네일|오른쪽|figure 11. 안드로이드 제어 앱 UI]]</li>
+
<li style="display: inline-block;">[[파일:와쏘베쏘_앱화면.png|250픽셀|섬네일|오른쪽|figure 17. 안드로이드 제어 앱 UI]]</li>
 
</ul></div>
 
</ul></div>
  
437번째 줄: 437번째 줄:
  
 
====포스터====
 
====포스터====
[[파일:와쏘베쏘_포스터.jpg|섬네일|가운데|600픽셀|figure 12. 최종 결과 포스터]]
+
[[파일:와쏘베쏘_포스터.jpg|섬네일|가운데|600픽셀|figure 18. 최종 결과 포스터]]
 
<br clear="all">
 
<br clear="all">
  

2025년 12월 14일 (일) 04:46 판

목차

프로젝트 개요

기술개발 과제

국문 : 펠티어 소자를 이용한 냉/난방 슈트

영문 : Cooling and Heating Suit Using Peltier Module

과제 팀명

와쏘베쏘

지도교수

이동찬 교수님

개발기간

2025년 9월 ~ 2025년 12월 (총 4개월)

구성원 소개

서울시립대학교 기계정보공학과 20224300** 김**(팀장)

서울시립대학교 기계정보공학과 20194300** 이**

서울시립대학교 기계정보공학과 20204300** 전**

서울시립대학교 기계정보공학과 20224300** 박**

서론

개발 과제의 개요

개발 과제 요약

  • figure 1. 개발 과제 요약

본 과제는 산업 현장과 일상생활에서 모두 활용 가능한 웨어러블 냉난방 슈트를 개발하는 것을 목표로 한다. 본 슈트는 작업복 원단에 펠티어 기반 모듈형 열전 패치를 부착하고, 제어보드, 교체형 배터리 팩 등을 통합한 구조로 설계된다. 착용자의 등·허리·복부 등에 분산 배치하여 압박감과 활동 제약을 최소화하며, 전자부와 섬유부를 분리 가능한 방수 커넥터로 연결해 세탁과 유지관리가 용이하다. 프로토타입 개발은 부품 단위 벤치 시험에서 시작해 부분 패치, 부분 슈트, 완성 시제품 단계로 점진적으로 고도화되며, 열 쾌적성 확보 및 소음 최소화를 목표 성능으로 한다.

개발 과제의 배경

기후 변화로 인한 폭염과 한파가 빈번해지면서 야외 작업자와 일상 생활에서의 열적 스트레스가 증가하고 있다. 기존의 공랭식(팬) 조끼는 외부 공기가 뜨거울 경우 냉각 효과가 저하되는 '열풍 순환' 문제가 있으며, 발열 조끼는 난방 기능만 제공한다는 한계가 있다. 또한, 상변화 물질(PCM) 방식은 지속 시간이 짧고 무게가 무겁다. 이에 따라 사계절 내내 사용 가능하며, 능동적인 체온 조절이 가능한 통합형 냉난방 솔루션의 필요성이 대두되었다.

개발 과제의 목표 및 내용

  • 양방향 온도 제어: 펠티어 소자의 전류 방향 제어를 통해 단일 기기로 냉각과 난방을 모두 수행 (목표 온도 도달 시간 단축).
  • 스마트 제어 및 모니터링: 3계층 제어 구조(App-Cloud-Embedded)를 통해 실시간으로 시스템을 모니터링하고, PID 제어를 통해 에너지 효율을 최적화.
  • 인체 공학적 열 배치: 척추 라인을 따른 냉각 모듈 배치와 Warm Preference 연구에 기반한 복부 난방 모듈 배치로 적은 에너지로 최대의 쾌적감 제공.
  • 안전성 및 편의성: 저온 화상 방지 로직(45도 제한), 방수 커넥터 적용, 2kg 이하 경량화 실현.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

기존 웨어러블 온도 조절 기술 유형

1. 공랭식 (Air Cooling)

  • 원리: 소형 팬을 이용해 의류 내부로 공기를 순환시켜 땀 증발을 촉진하고 대류 열전달을 유도.
  • 한계: 외기 온도가 체온보다 높을 경우 냉각 효과가 급격히 저하되며, 습도가 높은 환경에서는 증발 냉각 효율이 떨어짐.

2. 상변화 물질 (PCM)

  • 원리: 고체에서 액체로 변할 때 주위 열을 흡수하는 잠열(Latent Heat)을 이용.
  • 한계: 냉각 지속 시간이 짧고(1~2시간), 다시 얼리기 위한 냉동 과정이 필요하며, 결로 현상으로 인해 의류가 젖을 수 있음.

3. 펠티어 (Thermoelectric) 기술

  • 원리: 서로 다른 두 반도체(P형, N형) 접합부에 전류를 흘리면 한쪽은 흡열(냉각), 반대쪽은 발열하는 펠티어 효과 이용.
  • 장점: 소음과 진동이 적고, 전류의 방향만 바꾸면 냉/난방 전환이 가능하며, PID 제어를 통해 정밀한 온도 유지가 가능함.
  • 과제: 발열부(Hot side)의 효율적인 방열 설계가 냉각 성능의 핵심이며, 전력 소모가 상대적으로 큼.

특허 조사

관련 특허 분석 및 회피 전략

  • 특허 1: 전자 열전모듈에 의한 지능형 항온의복 (KR20060078063A)
    • 특징: 펠티어 모듈을 의복에 적용하여 체온 유지.
    • 한계: 제어 로직이 단순(On/Off)하여 세밀한 온도 조절 불가, 방열 구조 미흡.
  • figure 2. 특허 1 도면 1
  • figure 3. 특허 1 도면 2
  • 특허 2: 펠티어 냉난방 조끼 (KR20100007295U)
    • 특징: 조끼 형태의 직접 냉난방 구현.
    • 한계: 배터리 교체 및 세탁 편의성 고려 부족, 온도 피드백 제어 부재.
  • figure 4. 특허 2 도면 1
  • figure 5. 특허 2 도면 2
  • 본 프로젝트의 차별화 전략
    • 분산 배치 및 모듈화: 펠티어 소자를 등과 복부에 분산 배치하고, 유지보수가 쉬운 교체형 배터리 시스템 적용.
    • 지능형 제어: 단순 On/Off가 아닌 PID 제어 및 모바일 앱 연동을 통한 사용자 맞춤형 제어 구현.
    • 복합 냉각 구조: 펠티어 소자와 능동 송풍 팬(Active Cooling)을 결합한 하이브리드 방열 구조 설계.

시장상황에 대한 분석

경쟁제품 조사 비교

항목 Sony REON POCKET 5 Makita Fan Jacket 본 프로젝트 (와쏘베쏘)
제품 외형 Sony Reon Pocket
(예시 이미지)
Makita Fan Jacket
(예시 이미지)
와쏘베쏘 프로토타입
핵심 기술 펠티어(열전) 냉·난방 + 센서 제어 송풍 팬 기반 강제 대류 냉각 펠티어 냉·난방 + 송풍 대류 복합 구조
냉·난방 기능 O (양방향 가능) X (냉각만 가능) O (양방향 가능)
적용 부위 목 뒤 국소 부위 상체 전반 (공기 순환) 상체 전반 (등/복부 분산 배치)
앱 연동 O (전용 앱, 자동 모드) △ (일부 모델 수동 제어) O (전용 앱, 실시간 모니터링)
특징/한계 정밀 제어 우수하나 국소 부위에 한정됨 냉각 범위는 넓으나 난방 불가 및 고온 환경 취약 냉난방 양방향 + 대류 + 스마트 제어 통합으로 전신 쾌적감 제공

개발과제의 기대효과 및 파급효과

가. 기술적 기대효과

  • 양방향 온도 제어 기술 확보: 펠티어 소자의 극성 제어를 통해 단일 하드웨어로 냉각과 가열을 동시에 구현하는 메커니즘 확보. (예상 성능: 외기 대비 ±5℃ 조절)
  • 에너지 효율 최적화: CFD 해석(STAR-CCM+)을 통한 방열 구조 최적화와 PID 기반 PWM 제어로 배터리 효율 20% 향상 및 연속 사용 시간(2~3시간) 확보.
  • 스마트 제어 시스템: 하드웨어(Arduino/RPi)-서버(Firebase)-사용자(App) 간의 유기적인 데이터 통신 및 제어 아키텍처 구현.

나. 경제적 및 사회적 파급효과

  • 산업 안전 및 생산성 향상: 건설, 물류 등 고온/한랭 작업 환경 종사자의 열 스트레스를 줄여 온열 질환 및 안전 사고 예방.
  • 시장 확장성: 산업용 보호구 시장뿐만 아니라 레저, 스포츠, 군용 장비 등 다양한 웨어러블 분야로 기술 적용 확대 가능.
  • 친환경성: 프레온 가스 등 냉매를 사용하지 않는 친환경 반도체 냉각 방식으로 ESG 가치 실현.

기술개발 일정 및 추진체계

개발 일정

  • 2025.09: 아이디어 구체화, 관련 기술 및 특허 조사, 개념 설계
  • 2025.10: 상세 설계, 부품 선정 및 발주, UI/UX 설계, 제어 알고리즘 구현
  • 2025.11: 하드웨어 제작(3D 프린팅, 회로 구성), 소프트웨어 연동, 통합 테스트
  • 2025.12: 성능 최적화, 최종 보고서 작성 및 발표

구성원 및 추진체계

  • 김** (팀장): 열 해석 및 하드웨어 설계/구현
  • 이**: 제어 시스템 및 사용자 인터페이스 개발
  • 전**: 열 해석 및 하드웨어 구현
  • 박**: 하드웨어 설계 및 구현

설계

설계사양

제품의 요구사항

가. 제품 요구사항 및 목적계통도

번호 요 구 사 항 D or W 비고
1 굴곡, 팔꿈치 등 곡면에도 작동할 것 D
2 착용 시 피부, 의류 손상을 방지할 것 D
3 착용 후 사용할 때 불편함을 방지할 것 D
4 온도 조절이 용이할 것 D
5 실시간 상태를 화면에 모니터링으로 표시하는지 D
6 전체 중량이 2kg 이하일 것 W
7 소음, 진동이 최소화될 것 (40dB 이하) W
8 어플리케이션 조작이 용이할 것 W

목적계통도 요약

figure 6. 목적 계통도
  • 안전성: 전기적 절연 구조, 과열 시 자동 차단(PID 제어 및 전류 제한), 저온 화상 방지(45도 제한).
  • 기능성: 펠티어 소자 전류 방향 제어로 냉/난방 겸용, 에너지 효율 20% 향상.
  • 편의성: 무게 분산 배치(2kg 이하), 덕트형 유로 설계, 앱을 통한 3계층 제어 구조.

개념설계안

하드웨어 배치 설계

  • figure 7. 펠티어 및 제어부 배치도
  • figure 8. 펠티어 모듈 조립도
  • 냉방 배치 (등): 선행 연구에 따르면 등 부위는 냉각 시 전체 열 쾌적성에 가장 큰 영향을 미치는 부위임. 척추 축을 따라 열 전달이 용이하도록 등 상부에 2개, 등 하부 중앙에 1개의 펠티어 모듈을 배치함.
  • 난방 배치 (복부): 인체 부위 중 온열감 선호도(Warm Preference)가 가장 높은 복부에 2개의 난방용 모듈을 배치함.
  • 모듈 구조: 3D 프린팅으로 제작된 케이스 내부에 펠티어 소자, 히트싱크(방열판), 마이크로 팬을 적층 구조로 조립. 펠티어의 발열면에서 발생하는 열을 팬을 통해 강제로 외부로 배출시키는 구조.

이론적 계산 및 시뮬레이션

펠티어 효과 및 열전달 모델링

본 시스템의 핵심 구동체인 펠티어 소자(Thermoelectric Cooler, TEC)는 전류의 흐름에 따라 열을 이동시키는 반도체 소자이다. 시스템의 최적 제어를 위해 다음과 같은 열역학적 수식을 기반으로 냉각 용량(Qc)과 소비 전력 간의 상관관계를 모델링하였다.

  • figure 9. 펠티어 효과 및 열 이동 원리
  • figure 10. 전류(I)에 따른 냉각 용량(Qc)과 효율(COP) 곡선
  • 1. 펠티어 효과 (Peltier Effect) - 흡열 메커니즘
    • Qp = π · I
      • (π: 펠티어 계수 [V], I: 전류 [A])
        서로 다른 두 반도체(P형, N형) 접합부에 전류가 흐를 때 발생하는 열 이동 현상이다.
        이 항은 전류에 정비례(Linear)하여 증가하므로, 전류를 많이 흘릴수록 냉각 측에서 더 많은 열을 빼앗아 올 수 있음을 의미한다.
  • 2. 줄 발열 (Joule Heating) - 내부 손실
    • Qj = I² · R
      • (R: 소자 내부의 전기 저항 [Ω])
        소자에 전류가 흐를 때 내부 저항에 의해 비가역적으로 발생하는 열이다.
        이 항은 전류의 제곱(Square)에 비례하여 증가한다. 즉, 전류가 증가하면 냉각 효과보다 발열 효과가 훨씬 가파르게 상승하게 된다.
        따라서 무조건 높은 전류를 공급하는 것이 능사가 아니며, 줄 발열이 펠티어 효과를 압도하지 않는 **최적 전류 지점(Optimal Current)**을 찾는 것이 제어의 핵심이다.
  • 3. 열 전도 (Heat Conduction) - 열 역류 현상
    • Qcond = K · ΔT
      • (K: 열전도율 [W/K], ΔT: 고온부와 저온부의 온도 차)
        펠티어 소자의 고온부(발열면)에서 저온부(흡열면)로 열이 다시 흘러 들어오는 현상이다.
        방열 설계가 미흡하여 고온부 온도가 높아지면($\Delta T$ 증가), 냉각 효율이 급격히 저하된다.
  • 4. 종합 냉각 능력 (Net Cooling Capacity)
    • Q_total = (π · I) - (0.5 · I² · R) - (K · ΔT)
      • 실제 냉각 능력은 펠티어 효과에서 '줄 발열의 절반'과 '열 전도 손실'을 뺀 값으로 결정된다.
        본 프로젝트에서는 이 수식을 바탕으로 PID 제어 알고리즘을 설계하였으며, 줄 발열을 최소화하기 위해 PWM(Pulse Width Modulation) 방식으로 평균 전류를 제어하여 에너지 효율을 최적화하였다.

CFD 열유동 해석 (STAR-CCM+)

펠티어 소자의 성능은 '고온부의 열을 얼마나 빨리 배출하느냐'에 달려 있다. 이를 위해 상용 해석 툴인 STAR-CCM+를 활용하여 방열판(Heat Sink)과 송풍 팬의 조합에 대한 전산유체역학(CFD) 해석을 수행하였다.

  • figure 11. 시뮬레이션 결과
  • 1. 해석 조건 및 모델링
    • 목표: 펠티어 고온부 온도를 외기 온도 +10℃ 이내로 유지하며, 소음을 40dB 이하로 억제.
      변수: 방열판의 핀(Fin) 간격, 높이, 팬의 회전수(RPM), 유로 형상.
      경계 조건: 펠티어 발열량 30W 가정, 외기 온도 30℃, 자연 대류 및 강제 대류 조건 적용.
  • 2. 해석 결과 및 최적화
    • 유동 박리 개선: 초기 모델에서 팬 날개 끝단에서 발생하는 와류(Vortex)로 인해 소음이 발생하는 것을 확인하였다. 이를 개선하기 위해 덕트 형상을 유선형으로 변경하여 공기 저항을 줄였다.
      방열 효율 20% 향상: 방열판의 핀 간격을 조밀하게 할수록 표면적은 넓어지나 유속이 저하되는 트레이드오프 관계를 분석하였다. 해석 결과 최적의 핀 간격을 도출하여, 기존 대비 열 저항(Rth)을 낮추고 에너지 효율을 20% 향상시켰다.
      저소음 설계 검증: 4000 RPM 이하의 저속 회전에서도 충분한 풍량이 확보되는 팬-방열판 조합을 선정하여, 목표 소음치인 40dB 이하를 달성할 수 있음을 시뮬레이션으로 검증하였다.
  • 3. 슈트 내부 유로 설계
    • 국소적인 냉각에 그치지 않고 냉기가 등과 허리 전체로 퍼질 수 있도록 **덕트형 유로(Duct-type Flow path)**를 설계하였다.
      해석 결과를 통해 냉기가 척추 라인을 따라 하강하며 등 전체의 온도를 균일하게 낮추는 열 분포를 확인하였다.

상세설계 내용

하드웨어 구현 (회로 및 부품)

figure 12. 전체 회로 구성도
  • 제어부 (MCU & Computer)
    • Raspberry Pi 5: 메인 컨트롤러로서 Wi-Fi 통신, 고수준 연산, Firebase 데이터 동기화를 담당. Python 기반 멀티스레딩 환경에서 동작.
    • Arduino Mega 2560: 라즈베리파이로부터 명령을 받아 하드웨어(모터 드라이버, 센서)를 직접 제어하는 저수준 컨트롤러.
  • 구동부 (Actuator)
    • 펠티어 소자 (TEC1-12704): 12V 동작 전압, 최대 4A 소모. 5개를 배치.
    • 모터 드라이버 (BTS7960): 고전류(최대 43A)를 제어할 수 있는 H-Bridge 드라이버. PWM 신호를 통해 펠티어 소자의 출력(전압/전류)을 조절하고 극성을 반전시켜 냉/난방 모드를 전환함.
  • 센서 및 전원
    • 온도 센서: 의복 내부 및 펠티어 표면 온도를 측정하여 PID 제어의 피드백 입력값으로 사용.
    • 배터리 팩: 12V 고출력 리튬이온 배터리를 사용하여 전체 시스템에 전력을 공급. SMPS 역할을 하는 전원 분배 보드를 통해 5V(제어부)와 12V(구동부)로 분기.

소프트웨어 구현

3계층 제어 아키텍처 (3-Layer Architecture)
figure 13. 3-Layer Software Architecture

본 시스템은 Android App (UI) ↔ Firebase (DB) ↔ Embedded (Control)의 3계층 구조로 설계되었다. 각 계층은 독립적으로 동작하며, 네트워크 연결이 끊기더라도 안전 모드로 진입하는 Fail-safe 로직을 포함한다.

1. 안드로이드 어플리케이션 (Presentation Layer)

사용자는 앱을 통해 5개의 펠티어 모듈 온도와 기기 상태를 실시간으로 확인하고 제어할 수 있다.

  • 주요 기능
    • 실시간 모니터링: Firebase의 ValueEventListener를 사용하여 데이터 변경 즉시 UI를 갱신한다.
    • 오프라인 감지: 시스템 시간을 기준으로 마지막 하트비트 수신 시간(lastSeen)과 현재 시간(currentTime)을 비교하여 2분 이상 응답이 없으면 '오프라인'으로 표시한다.
    • 직관적 UI: RecyclerView를 사용하여 등록된 기기 목록을 관리하며, 스와이프 제스처로 삭제/수정이 가능하다.

핵심 코드 (Kotlin): 실시간 데이터 수신 및 오프라인 감지

// Firebase 데이터 변경 감지 리스너
database.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
deviceList.clear()
for (deviceSnapshot in snapshot.children) {
val lastSeen = deviceSnapshot.child("connection/last_seen").getValue(Long::class.java) ?: 0L
val currentTime = System.currentTimeMillis()
// 2분(120,000ms) 이상 신호가 없으면 오프라인으로 간주
        val timeDifference = currentTime - lastSeen
        val effectiveStatus = if (timeDifference > 120000L) "offline" else "online"

        val device = Device(
            id = deviceSnapshot.key,
            status = effectiveStatus,
            // ... 기타 데이터 매핑
        )
        deviceList.add(device)
    }
    deviceAdapter.notifyDataSetChanged() // UI 갱신
}
})
2. 임베디드 컨트롤러 (Control Layer - Python)

Raspberry Pi 5에서 구동되는 Python 컨트롤러는 클라우드와 아두이노 사이의 브리지 역할을 수행한다. 통신 지연을 최소화하기 위해 멀티스레딩 구조를 채택했다.

  • 구조적 특징
    • 멀티스레딩: firebase_thread(클라우드 통신)와 arduino_thread(시리얼 통신)가 병렬로 동작하여, 한쪽의 지연이 전체 시스템에 영향을 주지 않도록 설계함.
    • 설정 동기화: 부팅 시 config.json 파일과 Firebase 데이터를 대조하여(sync_config_with_firebase), 인터넷 연결이 끊겼다 재접속되더라도 이전 설정을 자동으로 복구함.

핵심 코드 (Python): 제어 명령 수신 및 아두이노 전송

def control_listener(event):
if not event.data: return
# Firebase에서 제어 데이터(모드, 목표온도) 변경 감지
try:
    # 아두이노 프로토콜 포맷팅 (CMD:그룹:모드:온도)
    # 예: CMD:A:COOLING:24
    cmd_a = f"CMD:A:{mode}:{temp_g1}\n"
    cmd_b = f"CMD:B:{mode}:{temp_g2}\n"
    
    if arduino and arduino.is_open:
        arduino.write(cmd_a.encode()) # 시리얼 전송
        time.sleep(0.05)
        arduino.write(cmd_b.encode())
        
except Exception as e:
    print(f"명령 처리 중 오류: {e}")
3. 펌웨어 및 제어 알고리즘 (Control Layer - Arduino)

Arduino Mega는 모터 드라이버를 통해 실제 펠티어 소자와 팬을 제어한다. 안정적인 온도 유지를 위해 P-제어(비례 제어) 알고리즘과 가상 온도 시뮬레이션 로직이 탑재되었다.

  • 그룹 기반 제어 (Group Control)
    • 5개의 센서를 신체 부위별 특성에 맞춰 2개의 그룹으로 분할 제어한다.
      Group A (전면/복부): Sensor 1, 2 (빠른 난방 응답성 필요)
      Group B (후면/등): Sensor 3, 4, 5 (넓은 면적 냉각 필요)
  • P-제어 알고리즘 (Proportional Control)
    • 목표 온도와 현재 온도의 차이에 비례하여 PWM 출력을 조절한다.
      제어 수식: TargetPWM = Kp * (TargetTemp - CurrentTemp)
      급격한 전류 변화를 막기 위해 목표 PWM까지 점진적으로 출력을 높이는 Soft-Start 로직을 적용하였다.
  • 가상 온도 시뮬레이션 (Virtual Sensor Simulation)
    • 센서 노이즈를 필터링하고 알고리즘을 검증하기 위해, 펌웨어 내부에서 열역학 모델을 기반으로 온도를 추정한다. 급격한 변화를 막기 위해 LPF(Low Pass Filter)를 적용했다.
      LPF 수식: CurrentSimTemp = (CurrentSimTemp * 0.9) + (TheoreticalTemp * 0.1)

핵심 코드 (C++): 그룹 로직 및 시뮬레이션

// 그룹별 PWM 계산 및 온도 업데이트 로직
void updateGroupLogic(int idx) {
double target = groups[idx].targetTemp;
double current = groups[idx].currentSimTemp;
// 1. P-제어: 오차에 비례하여 PWM 계산 (Kp = 10.0)
int targetPWM = 0;
double error = abs(current - target);
if (error > 0) targetPWM = (int)(error * Kp * 5);
targetPWM = constrain(targetPWM, 0, 255); // PWM 범위 제한
// 2. Soft-Start: 현재 PWM을 목표값까지 부드럽게 이동
if (groups[idx].currentPWM < targetPWM) groups[idx].currentPWM++;
else if (groups[idx].currentPWM > targetPWM) groups[idx].currentPWM--;
// 3. 온도 시뮬레이션 (Low Pass Filter 적용)
// PWM이 높을수록 온도가 변하는 물리 모델 반영
double theoreticalTemp = AMBIENT_TEMP + (groups[idx].currentPWM * TEMP_FACTOR);
groups[idx].currentSimTemp = (groups[idx].currentSimTemp * 0.9) + (theoreticalTemp * 0.1);
}

결과 및 평가

완료 작품의 소개

프로토타입 사진 및 UI

  • figure 16. 최종 프로토타입 착용 모습
  • figure 17. 안드로이드 제어 앱 UI
  • 하드웨어: 작업복(조끼 및 바람막이) 내부에 3D 프린팅된 펠티어 모듈 5개가 견고하게 부착되었으며, 배선은 의류 내부로 매립되어 착용 시 불편함을 최소화함.
  • 소프트웨어: 안드로이드 앱을 통해 사용자가 직관적으로 냉방/난방 모드를 선택하고 온도를 조절할 수 있으며, 배터리 상태와 현재 온도가 실시간으로 시각화됨.

포스터

figure 18. 최종 결과 포스터


관련사업비 내역서

내용

완료작품의 평가

성능 평가 결과

내용

향후계획

내용

특허 출원 내용

내용