산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 기반 생일 알림기: 코인 셀로 50년 동작하는 초저전력 장치

부품 및 소모품

부품 수량 비고
아두이노 나노 R3 (ATmega168P-AU 중국산 클론) 1 ATmega168P 필수 (피코파워 기능)
Intersil ISL1208 RTC (I2C 인터페이스) 1 월-일 알람 기능, 400nA 대기전류
Renata CR2450N 코인 셀 (540mAh) 1 자가방전 <1%/년
CP2102 USB-시리얼 모듈 1 시간 설정용
USBasp 프로그래머 1 퓨즈 비트 변경 및 펌웨어 업로드용
32.768kHz 크리스탈 1 RTC용
SPST 스위치 1 시간 설정 모드 진입용
SMD LED 1 생일 알림 표시용
투명 LED 돔 1 LED 커버용
4"x4" 스위치 박스 (또는 3D프린트 케이스) 1 인클로저
퍼프보드 1 회로 구성용
버그 커넥터 (수/암) 1 배터리, 스위치, LED 연결용
저항 4.75kΩ 3 I2C 풀업, 인터럽트 풀업
저항 10kΩ 2 풀업 저항

필요 도구

소프트웨어

프로젝트 개요

단일 CR2450 코인 셀로 50년 이상 동작하는 생일 알림 장치입니다. ATmega168P의 딥 슬립 모드(SLEEP_MODE_PWR_DOWN)와 ISL1208 RTC의 초저전력 대기 모드(400nA)를 결합하여 평균 전류 소모 1.22µAh(자가방전 포함) 또는 608nA(자가방전 제외)를 달성했습니다. 생일이 되면 LED가 깜빡이며 시리얼 모니터에 축하 메시지를 출력합니다.

주요 특징

제작 단계

1단계: 아두이노 나노 개조

나노 보드에서 다음 부품 제거:

핀 13 LED는 디버깅/알림용으로 유지. 크리스탈은 퓨즈 변경 전까지 유지.

2단계: ATmega168P 퓨즈 비트 변경

USBasp + ProgISP 사용. 다음 설정 적용:

※ ATmega168P/328P "P" 버전만 피코파워 지원. 일반 버전은 미지원.

3단계: 아두이노 IDE 보드 정의 추가 및 컴파일

boards.txt에 커스텀 보드 정의 추가:

pro.menu.cpu.1MHzatmega168=ATmega168 (3.3V, 1 MHz)
pro.menu.cpu.1MHzatmega168.upload.maximum_size=14336
pro.menu.cpu.1MHzatmega168.upload.maximum_data_size=1024
pro.menu.cpu.1MHzatmega168.upload.speed=19200
pro.menu.cpu.1MHzatmega168.bootloader.low_fuses=0x62
pro.menu.cpu.1MHzatmega168.bootloader.high_fuses=0xDF
pro.menu.cpu.1MHzatmega168.bootloader.extended_fuses=0xF9
pro.menu.cpu.1MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
pro.menu.cpu.1MHzatmega168.build.mcu=atmega168
pro.menu.cpu.1MHzatmega168.build.f_cpu=1000000L

IDE 재시작 후 "Arduino Pro or Pro Mini (3.3V, 1 MHz) w/ ATmega168" 선택. Ctrl+Alt+S로 헥스 파일 생성 후 ProgISP로 플래싱.

4단계: ISL1208 RTC 모듈 준비

SMD 타입 ISL1208용 브레이크아웃 보드 제작. 32.768kHz 크리스탈, 코인 셀 홀더, I2C 풀업 저항(4.7kΩ) 장착. INT 핀은 250ms 액티브 로우 펄스 출력으로 MCU 웨이크업용.

5-6단계: 회로도대로 퍼프보드에 납땜

동작 원리

  1. 시간 설정 스위치 ON (핀3→GND) → 시리얼 통신 활성화
  2. 시리얼 모니터에서 명령 입력:
    • 't': 현재 시간 출력
    • 'a': 알람 시간 출력
    • 'c': 취소 후 슬립
    • 시간 설정: TYYMMDDhhmmssp# (예: T1801050835120# = 2018-01-05 08:35:12 AM)
    • 알람 설정: AMMDDhhmmssp# (예: A08240800000# = 8월 24일 08:00:00 AM)
  3. 스위치 OFF → 6초 후 딥 슬립 진입
  4. 매년 생일(알람 일치 시) RTC가 250ms 인터럽트 발생 → MCU 웨이크업
  5. LED 플래시 + 시리얼 메시지 출력 → 6초 후 다시 슬립

전력 소모 분석 및 최적화

모드 전류
ATmega168P 파워다운 @1MHz, 3V ~0.2µA
ISL1208 VBAT 모드 (LPMOD=0, VDD=0) 400nA
LED 점등 (1개, 3mA, 연간 85초) 평균 ~8nA 기여
CR2450N 자가방전 (1%/년) 616nA 상당
총 평균 (자가방전 포함) 1.22µAh

→ 540mAh / 1.22µA ≈ 50.4년 동작 예상

장기 동작을 위한 고려사항

개선 아이디어

소스 코드 및 자료

GitHub: github.com/vishnumaiea/Birthday-Alarm/ (MIT 라이선스)

상세 문서: 개인 프로젝트 웹사이트

제조공정

  1. 인더스트리 4.0 & IoT: 향후 2년을 형성할 핵심 시장 트렌드
  2. 애플리케이션에 최적 스위치 선택 위한 10가지 핵심 요소 (1부)
  3. NVIDIA Jetson Nano: 메이커와 기업을 지원하는 5W, 472 GFLOPS AI 컴퓨터
  4. Kontron CP6940 출시: 극한 환경을 위한 러기드 40GbE 스위치
  5. 베어링 콜드 마운팅: 안전하고 정밀한 설치를 위한 전문가 팁
  6. 코로나19가 부추기는 사이버 범죄: 원격 근무, 백신 공급망, 스파이 활동
  7. 발전기 교체 시기 알리는 7가지 핵심 신호
  8. 모터 리와인딩이 필요한 3가지 위험 신호
  9. 완벽한 PCB 조립 마스터하기: 핵심 실무 가이드
  10. 공장에서 실험실까지: 산업용 로봇의 다재다능한 힘