Volver al inicio

Sensor de CO₂ con Manómetro Analógico en Tasmota

El Artículo Describe el Ensamblaje de Manómetro de CO₂ Analógico Basado en SenseAir S8, Motor Paso a Paso X27-168 y Tasmota. En Detalle: Selección de Componentes, Modificación de Biblioteca, Modelos 3D, Integración en Hogar Inteligente. Código y STL bajo GPLv3.

Sensor de CO₂ Analógico Personalizado para Hogar Inteligente
Advertisement 728x90

## Medidor Analógico de CO₂ con Motor Paso a Paso y Tasmota

Hemos desarrollado un dispositivo para monitorear los niveles de CO₂, mostrado en un medidor de aguja que imita los instrumentos automovilísticos o de aviación. Utiliza el sensor SenseAir S8, el motor paso a paso X27-168 con driver VID6608, y el firmware Tasmota. El dispositivo se integra con sistemas de hogar inteligente y soporta una interfaz web para configuración y actualizaciones OTA. Todos los componentes están disponibles globalmente, y el ensamblaje no requiere partes raras.

Requisitos del dispositivo: mediciones precisas de CO₂, temperatura, humedad y presión; indicador analógico con retroiluminación; opciones de estilo (aviación/retro) y retroiluminación (filamento/RGB); operación por el usuario final sin necesidad de programador.

Selección de Componentes y Mecánica

El motor paso a paso X27-168 es estándar en paneles de instrumentos automovilísticos (OPEL, VAZ-2110). La familia de motores incluye variantes sin sensor cero y modelos de doble aguja. El driver VID6608 implementa microstepping (división 1/12, ~0.028° por paso), reduciendo el ruido y mejorando la precisión según la hoja de datos.

Google AdInline article slot

Se rechazaron alternativas como servos por su ruido, baja precisión y ángulo de rotación limitado. Los voltímetros analógicos no sirven: ángulo pequeño (90°), fragilidad, partes exóticas. Los medidores listos de AliExpress están orientados a carreras callejeras y son incómodos para integrar.

Sensor de CO₂: SenseAir S8 (estándar de la industria). Sensores climáticos adicionales (temperatura, humedad, presión). Sin sensores, el dispositivo opera con comandos de hogar inteligente.

Prototipado del Driver:

Google AdInline article slot
  • Probado inicialmente vía H-Bridge: baja precisión, alto ruido.
  • Con VID6608: movimiento suave, dinámica natural de la aguja.

Integración con Tasmota

La librería SwitecX25 para ESP32 tiene errores: desbordamiento de char (unsigned en ESP32), falta de timeouts según la hoja de datos de VID6608. Se desarrolló una nueva librería basada en SwitecX25:

  • Soporte solo para drivers tipo VID6608 (el control directo es ineficiente).
  • Curvas de aceleración configurables.
  • Timeouts adecuados y microstepping.
  • Integración directa en Tasmota (sin submodules).

Se eligió Tasmota por su soporte integrado para hogar inteligente (MQTT, HTTP), interfaz web y OTA. Se añadió soporte para motores paso a paso de instrumentos.

Ejemplo de configuración básica de Tasmota (vía interfaz web):

Google AdInline article slot
SwitecX25:
  enable: true
  driver: VID6608
  steps: 28800  # Rotación completa
  acceleration: 500

Carcasa e Impresión 3D

Carcasa basada en cajas de relojes despertador donantes. Piezas impresas en Ender-3: escalas (aviación/retro), aguja, soportes. Ángulo de rotación ~300° asegura legibilidad.

Opciones de configuración:

  • Estilo: aviación (aspecto metálico) / retro (vintage).
  • Retroiluminación: ninguna / filamento (imitación incandescente) / RGB (tira addressable).
  • Sensores: CO₂ + clima / solo clima / solo CO₂ / sin sensores.

Ensamblaje: PCB con ESP32, driver, conectores. Disponibilidad global: motores ~2€, drivers ~1.5€, SenseAir S8 ~25€.

Funcionalidad y Calibración

La pantalla muestra el CO₂ actual (400-2000 ppm, escala con zonas: normal/ventilar/crítico). Actualizaciones cada 5-10 seg con suavizado para movimiento fluido.

Algoritmo de movimiento de la aguja:

  • Cálculo de pasos: target_pos = map(co2_ppm, 400, 2000, 0, max_steps).
  • Aceleración/desaceleración vía curva S para inercia realista.
  • Microstepping minimiza vibraciones.

Integración: temas MQTT para CO₂, temp, humedad. Interfaz web: gráficos, calibración cero, modo prueba.

Puntos Clave

  • Precisión: SenseAir S8 ±50 ppm ±3% a 30°C, respuesta <20 seg.
  • Compatibilidad: Tasmota + Home Assistant/MQTT sin firmware extra.
  • Reproducibilidad: todas las partes en DigiKey/AliExpress, Gerbers en el repo.
  • Licencia: GNU GPLv3, código/3D/STL de código abierto.
  • Extensibilidad: la aguja muestra cualquier métrica vía MQTT.

— Editorial Team

Advertisement 728x90

Leer después