홈으로 돌아가기

Tasmota의 아날로그 만노미터가 있는 CO₂ 센서

이 기사는 SenseAir S8, Stepper Motor X27-168 및 Tasmota 기반 아날로그 CO₂ 만노미터 조립을 설명합니다. 상세 내용: 부품 선택, 라이브러리 수정, 3D 모델, 스마트 홈 통합. 코드와 STL은 GPLv3 하에.

스마트 홈용 커스텀 아날로그 CO₂ 센서
Advertisement 728x90

스테퍼 모터와 Tasmota를 사용한 아날로그 CO₂ 게이지

자동차나 항공기 계기판을 본뜬 바늘 게이지로 CO₂ 수준을 표시하는 장치를 개발했습니다. SenseAir S8 센서, VID6608 드라이버가 탑재된 X27-168 스테퍼 모터, Tasmota 펌웨어를 사용합니다. 이 장치는 스마트 홈 시스템과 연동되며 구성 및 OTA 업데이트를 위한 웹 인터페이스를 지원합니다. 모든 부품은 전 세계 어디서나 구입할 수 있으며 조립에 희귀 부품이 필요 없습니다.

장치 요구사항: 정확한 CO₂, 온도, 습도, 압력 측정; 백라이트 내장 아날로그 표시기; 스타일 옵션(항공/레트로) 및 백라이팅(필라멘트/RGB); 프로그래머 없이 최종 사용자가 쉽게 조작 가능.

부품 선택과 메커니즘

X27-168 스테퍼 모터는 자동차 계기판(OPEL, VAZ-2110)의 표준 모터입니다. 이 모터 계열에는 제로 센서 변형과 듀얼 바늘 모델이 포함됩니다. VID6608 드라이버는 마이크로스테핑(1/12 분할, 스텝당 ~0.028°)을 구현하여 데이터시트에 따라 소음을 줄이고 정확도를 높입니다.

Google AdInline article slot

서보 같은 대안은 소음, 낮은 정확도, 제한된 회전 각도로 인해 채택되지 않았습니다. 아날로그 전압계는 작은 각도(90°), 취약성, 특수 부품 때문에 부적합합니다. AliExpress의 기성품 게이지는 스트리트 레이싱용으로 제작되어 통합에 불편합니다.

CO₂ 센서: SenseAir S8(산업 표준). 추가 기후 센서(온도, 습도, 압력). 센서가 없어도 스마트 홈 명령으로 작동합니다.

드라이버 프로토타이핑:

Google AdInline article slot
  • 처음 H-Bridge로 테스트: 낮은 정확도, 높은 소음.
  • VID6608 사용 시: 부드러운 움직임, 자연스러운 바늘 동역학.

Tasmota 연동

ESP32용 SwitecX25 라이브러리에는 버그가 있습니다: char 오버플로(ESP32에서 unsigned), VID6608 데이터시트에 따른 타임아웃 누락. SwitecX25를 기반으로 새 라이브러리를 개발했습니다:

  • VID6608 계열 드라이버만 지원(직접 제어는 비효율적).
  • 가속 곡선 사용자 설정 가능.
  • 적절한 타임아웃과 마이크로스테핑.
  • Tasmota에 직접 통합(서브모듈 없음).

Tasmota는 내장 스마트 홈 지원(MQTT, HTTP), 웹 인터페이스, OTA 때문에 선택했습니다. 계기판 스테퍼 모터 지원을 추가했습니다.

웹 인터페이스를 통한 기본 Tasmota 구성 예시:

Google AdInline article slot
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

Advertisement 728x90

다음 읽기