스테퍼 모터와 Tasmota를 사용한 아날로그 CO₂ 게이지
자동차나 항공기 계기판을 본뜬 바늘 게이지로 CO₂ 수준을 표시하는 장치를 개발했습니다. SenseAir S8 센서, VID6608 드라이버가 탑재된 X27-168 스테퍼 모터, Tasmota 펌웨어를 사용합니다. 이 장치는 스마트 홈 시스템과 연동되며 구성 및 OTA 업데이트를 위한 웹 인터페이스를 지원합니다. 모든 부품은 전 세계 어디서나 구입할 수 있으며 조립에 희귀 부품이 필요 없습니다.
장치 요구사항: 정확한 CO₂, 온도, 습도, 압력 측정; 백라이트 내장 아날로그 표시기; 스타일 옵션(항공/레트로) 및 백라이팅(필라멘트/RGB); 프로그래머 없이 최종 사용자가 쉽게 조작 가능.
부품 선택과 메커니즘
X27-168 스테퍼 모터는 자동차 계기판(OPEL, VAZ-2110)의 표준 모터입니다. 이 모터 계열에는 제로 센서 변형과 듀얼 바늘 모델이 포함됩니다. VID6608 드라이버는 마이크로스테핑(1/12 분할, 스텝당 ~0.028°)을 구현하여 데이터시트에 따라 소음을 줄이고 정확도를 높입니다.
서보 같은 대안은 소음, 낮은 정확도, 제한된 회전 각도로 인해 채택되지 않았습니다. 아날로그 전압계는 작은 각도(90°), 취약성, 특수 부품 때문에 부적합합니다. AliExpress의 기성품 게이지는 스트리트 레이싱용으로 제작되어 통합에 불편합니다.
CO₂ 센서: SenseAir S8(산업 표준). 추가 기후 센서(온도, 습도, 압력). 센서가 없어도 스마트 홈 명령으로 작동합니다.
드라이버 프로토타이핑:
- 처음 H-Bridge로 테스트: 낮은 정확도, 높은 소음.
- VID6608 사용 시: 부드러운 움직임, 자연스러운 바늘 동역학.
Tasmota 연동
ESP32용 SwitecX25 라이브러리에는 버그가 있습니다: char 오버플로(ESP32에서 unsigned), VID6608 데이터시트에 따른 타임아웃 누락. SwitecX25를 기반으로 새 라이브러리를 개발했습니다:
- VID6608 계열 드라이버만 지원(직접 제어는 비효율적).
- 가속 곡선 사용자 설정 가능.
- 적절한 타임아웃과 마이크로스테핑.
- Tasmota에 직접 통합(서브모듈 없음).
Tasmota는 내장 스마트 홈 지원(MQTT, HTTP), 웹 인터페이스, OTA 때문에 선택했습니다. 계기판 스테퍼 모터 지원을 추가했습니다.
웹 인터페이스를 통한 기본 Tasmota 구성 예시:
SwitecX25:
enable: true
driver: VID6608
steps: 28800 # Full rotation
acceleration: 500
인클로저와 3D 프린팅
기증 알람 시계 케이스를 기반으로 한 인클로저. Ender-3에서 인쇄한 부품: 스케일(항공/레트로), 바늘, 홀더. ~300° 회전 각도로 가독성 확보.
구성 옵션:
- 스타일: 항공(메탈릭 룩) / 레트로(빈티지).
- 백라이팅: 없음 / 필라멘트(백열등 모방) / RGB(어드레서블 스트립).
- 센서: CO₂ + 기후 / 기후만 / CO₂만 / 센서 없음.
조립: ESP32, 드라이버, 커넥터가 포함된 PCB. 글로벌 구입 가능: 모터 ~2€, 드라이버 ~1.5€, SenseAir S8 ~25€.
기능과 캘리브레이션
디스플레이는 현재 CO₂(400-2000 ppm, 구역 표시: 정상/환기/위험)를 보여줍니다. 5-10초마다 부드러운 움직임을 위한 스무딩 적용하여 업데이트.
바늘 움직임 알고리즘:
- 스텝 계산:
target_pos = map(co2_ppm, 400, 2000, 0, max_steps). - 현실적인 관성을 위한 S-커브 가속/감속.
- 마이크로스테핑으로 진동 최소화.
연동: CO₂, 온도, 습도용 MQTT 토픽. 웹 인터페이스: 그래프, 제로 캘리브레이션, 테스트 모드.
주요 특징
- 정확도: SenseAir S8 ±50 ppm ±3% (30°C 기준), 응답 시간 <20초.
- 호환성: Tasmota + Home Assistant/MQTT, 별도 펌웨어 불필요.
- 재현성: 모든 부품 DigiKey/AliExpress 구입 가능, Gerbers 리포지토리 제공.
- 라이선스: GNU GPLv3, 코드/3D/STL 오픈 소스.
- 확장성: MQTT로 바늘이 임의 메트릭 표시 가능.
— Editorial Team
아직 댓글이 없습니다.