하드웨어 설계 고려사항#
앰비언트 라이트(Ambient Light) 시스템 개발을 위한 하드웨어 설계 시 고려해야 할 핵심 요소들을 다뤄보겠습니다. 프로젝트의 기능적 요구사항을 충족시키기 위해 MCU(Micro Controller Unit), LED 스트립, 그리고 전력 관리의 세 가지 주요 하드웨어 구성 요소에 대한 기술적 검토 및 결정 과정을 정리합니다.
배경 이미지 출처 - NeoPixel1
MCU (Micro Controller Unit)#
앰비언트 라이트의 두뇌 역할을 할 MCU는 Raspberry Pi Pico 시리즈로 선정했습니다. 기존 프로젝트에서 사용하던 Microchip PIC 계열을 사용했는데, 산업군에서는 여전히 많이 쓰이고 매력적인 솔루션이지만 Raspberry Pi Pico는 취미 및 메이커 커뮤니티에서 폭넓게 사용되는 ARM 기반의 MCU이기 때문에 아래와 같은 이유로 선정 하였습니다.
Pico 선정 이유#
높은 접근성
메이커들에게 널리 알려져 있고, 공식 모듈이 존재하여 쉽게 접할 수 있습니다.간편한 펌웨어 업로드
별도의 고가 장비(JTAG, ROM 라이터) 없이도 USB Mass Storage Device(MSD) 방식을 통해 펌웨어를 손쉽게 업로드할 수 있습니다.저렴한 디버깅 환경
추가 Raspberry Pi Pico 보드를 활용하여 저렴하게 디버깅 환경을 구축할 수 있습니다.다양한 모델과의 호환성
RP2040, RP2350 등 Pico 시리즈 보드들은 동일한 핀맵을 공유하므로, 성능 또는 통신방식 필요에 따라 상호 교체가 용이합니다.
이미지 출처2
LED 스트립#
앰비언트 라이트의 핵심 부품인 LED 스트립은 데이터 통신이 가능한 픽셀(Pixel) 형태로 연결된 제품을 사용합니다. 시장에 다양한 종류가 존재하지만, 기능적 특성에 따라 크게 WS2812B 계열과 APA102 계열로 분류하여 검토했습니다. (공식적인 분류 방법이 아닙니다)
LED 스트립 계열별 주요 특징 비교:
특징 | WS2812B 계열 | APA102 계열 |
---|---|---|
통신 라인 | 1 라인 - 데이터 | 2 라인 - 클럭, 데이터 |
클럭(Clock) | 내부 클럭 | 외부 클럭 |
데이터 속도 | 약 800Kbps | 수십 MHz 까지 가능 |
PWM 주사율 | 약 400Hz ~ 1.2kHz | 약 4.7kHz ~ 19.2kHz |
밝기 제어 | 8-bit (256 단계, 각 색상) | 8-bit (색상) + 5-bit (전체 밝기, 32 단계) |
전압 | 5V | 5V |
장점 | - 저렴하고 가장 대중적 - 배선이 간단함 | - 매우 높은 PWM 주사율 (카메라 촬영 시 깜빡임 없음) - 데이터 타이밍이 자유로워 제어가 안정적임 - 별도의 전체 밝기 제어 기능 |
단점 | - 데이터 타이밍이 매우 중요하여 제어가 까다로울 수 있음 - PWM 주사율이 낮아 고속 카메라 촬영 시 플리커(깜빡임) 현상 발생 가능 | - WS2812B보다 가격이 비쌈 - 배선이 1개 더 필요함 |
두 계열 모두 데이지 체인(Daisy-Chain) 방식으로 연결되어 첫 픽셀이 데이터를 받은 후 다음 픽셀로 전달하는 방식으로 동작합니다. 프로젝트의 범용성을 확보하기 위해 두 계열 모두 지원하도록 하드웨어를 설계하되, 우선적으로는 WS2812B 계열을 중심으로 개발을 진행할 예정입니다.
또한, 스트립 길이가 길어질수록 발생하는 전압 강하로 인한 밝기 저하를 하기 위해 다음과 같은 방법을 고려합니다.
고전압 스트립 사용
12V 동작 스트립(예: WS2815)을 사용하여 전압 강하 영향을 줄입니다.양 끝단 전원 공급
스트립의 양 끝에 전원을 공급하여 전압 균형을 맞춥니다.
MCU 동작 전압(3.3V)과 스트립 동작 전압(5 or 12V)이 다르므로 안정적 통신을 위해서 레벨 시프팅(Level Shifting)도 추가로 고려합니다.
전원 및 안전 고려사항#
LED 스트립은 픽셀당 약 0.3W의 전력을 소모하며, 34인치 모니터에 약 60개 픽셀을 적용할 경우 최대 18W의 전력이 필요합니다. 5V 전압 기준으로 약 3.6A에 달하는 높은 전류를 요구합니다. 피코를 통해 공급되는 USB VBUS로는 당연히 제공할 수 없는 전력이고, 외부 전원을 사용한다고 해도 일반적인 충전기 스펙인 5V 2A(10W)로도 부족하기 때문에 적절한 전원을 선택하지 않으면 과부하로 인한 과열, 시스템 불안정, 또는 고장과 같은 안전 문제가 발생할 수 있습니다.
안전한 전력 관리를 위한 고려사항#
물리적 퓨즈 적용
과전류 발생 시 회로를 보호하는 물리적 퓨즈를 스트립 전원에 직접 연결합니다.실시간 전력 모니터링
전류 측정 IC나 전원 스위치를 활용하여 실시간으로 소모 전력을 모니터링하고, 위험 수위에 도달하면 전원을 차단하는 기능을 구현합니다.
안전을 위해서 두가지 사항을 모두 고려해야겠지만, 실제로는 전력 모니터링 방식으로 위험 상황이 발생하기 전에 전력을 차단하는 것만 고려하기로 하였습니다.
전원 선택 고려사항#
5V가 기본 동작 전압이지만, 12V의 외부 전원이 공급되는 상황도 고려하여 양전원 호환성을 고려합니다.
마무리#
빛나리 하드웨어 설계와 관련된 필수적인 사항을 고려하였습니다. 포스팅 한 내용 외에 고려해야 할 사항이 더 존재하지만 관련 부분은 내용 공유가 필요할 때 정리하겠습니다.
Adafruit NeoPixel Digital RGB LED Strip https://www.adafruit.com/product/2541 ↩︎
Pico-series Microcontrollers https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html ↩︎