1. 들어가며: “내 프로젝트, 전기를 얼마나 먹을까?”
임베디드 프로젝트를 진행하다 보면 단순히 동작 여부를 넘어, 실제 소모 전력이 얼마나 되는지 궁금할 때가 많습니다. 특히 배터리로 구동되는 기기라면 ‘mA’ 단위의 미세한 차이가 기기의 수명을 결정짓죠. 오늘은 16비트 ADC의 강력한 성능을 가진 INA226 센서를 이용해, 단순한 전압 측정을 넘어 전력 소모의 흐름을 눈으로 직접 확인하는 초정밀 디지털 전력계를 만들어 보았습니다.
2. 하드웨어 구성의 핵심: “데이터의 길목을 찾아라”
이번 프로젝트에서 가장 중요한 부분은 INA226의 배선이었습니다. 시중의 모듈은 터미널 구멍이 여러 개라 헷갈리기 쉽지만, 테스터기를 이용해 직접 확인해 본 결과 2번(IN+)과 3번(IN-) 구멍이 션트 저항에 직접 연결된 핵심 경로임을 확인했습니다.
- 제어기: ESP32-C3 (I2C 통신: SDA GPIO 0, SCL GPIO 1)
- 센서: INA226 (High-side 측정 방식)
- 디스플레이: SSD1306 OLED (128×64)
- 부하(Load): LED 2개, 소형 DC 모터 (스위치로 개별 제어)
3. 소프트웨어 구현
단순히 숫자만 띄우는 것이 아니라, MicroPython을 이용해 데이터의 시인성을 극대화했습니다. OLED 화면에는 전압(V), 전류(mA), 전력(mW)을 소수점 자리까지 정밀하게 표기하고, 하단에는 현재 전력 소모량을 직관적으로 알 수 있는 **바 그래프(Bar Gauge)**를 구현했습니다.
또한, PC의 **시리얼 플로터(Serial Plotter)**를 연동하여 스위치를 켤 때마다 전류가 계단식으로 상승하거나 모터에 부하가 걸릴 때 그래프가 요동치는 모습을 실시간으로 관찰할 수 있도록 설계했습니다.
4. 프로젝트의 하이라이트: LED vs 모터
실제 테스트 결과는 흥미로웠습니다.
- LED 1개 점등: 안정적인 저전력 소모를 보여주며 그래프가 정지해 있는 느낌입니다.
- 모터 가동: LED보다 훨씬 높은 전류를 소모하며, 특히 모터 축에 물리적인 부하를 주면 전류값이 즉각적으로 솟구치는 ‘피크 전류’ 현상을 INA226이 아주 예민하게 잡아냈습니다. 이는 가변저항 수치를 단순히 뿌려주는 것이 아니라, 진짜 흐르는 전기를 실시간으로 계측하고 있다는 증거입니다.
5. 마치며: 정밀 측정의 즐거움
INA226은 단순한 센서 그 이상이었습니다. 0.1mA의 미세한 변화까지 잡아내는 이 장치는 이제 제 책상 위에서 모든 프로젝트의 에너지 효율을 감시하는 ‘보디가드’ 역할을 하게 될 것입니다. 여러분도 직접 만든 장치로 보이지 않는 전기의 흐름을 제어해 보세요!

Python ina226.py
Python wattmeter.py



답글 남기기
댓글을 달기 위해서는 로그인해야합니다.