Zurück zur Startseite

CO₂-Sensor mit Analogmanometer auf Tasmota

Der Artikel beschreibt den Zusammenbau eines analogen CO₂-Manometers basierend auf SenseAir S8, Schrittmotor X27-168 und Tasmota. Im Detail: Komponentenauswahl, Bibliotheksmodifikation, 3D-Modelle, Smart-Home-Integration. Code und STL unter GPLv3.

Benutzerdefinierter analoger CO₂-Sensor für Smart Home
Advertisement 728x90

Analoger CO₂-Anzeiger mit Schrittmotor und Tasmota

Wir haben ein Gerät zur Überwachung von CO₂-Werten entwickelt, das auf einem Nadelanzeiger dargestellt wird, der Automobil- oder Flugzeuginstrumente nachahmt. Es verwendet den SenseAir S8 Sensor, den X27-168 Schrittmotor mit VID6608-Treiber und Tasmota-Firmware. Das Gerät lässt sich in Smart-Home-Systeme integrieren und bietet eine Weboberfläche für Konfiguration und OTA-Updates. Alle Komponenten sind weltweit erhältlich, und der Zusammenbau erfordert keine exotischen Teile.

Anforderungen an das Gerät: präzise Messung von CO₂, Temperatur, Feuchtigkeit und Druck; analoger Anzeiger mit Hintergrundbeleuchtung; Stiloptionen (Luftfahrt/Retro) sowie Beleuchtungsvarianten (Glühfaden/RGB); Bedienung durch Endnutzer ohne Programmierkenntnisse.

Auswahl der Komponenten und Mechanik

Der X27-168 Schrittmotor ist Standard in Automobil-Instrumentenblättern (OPEL, VAZ-2110). Die Motorfamilie umfasst Varianten ohne Nullstell-Sensor und Modelle mit Doppelzeiger. Der VID6608-Treiber realisiert Mikroschritte (1/12-Teilung, ~0,028° pro Schritt) und reduziert so Geräusche sowie verbessert die Genauigkeit gemäß Datenblatt.

Google AdInline article slot

Alternativen wie Servos scheiterten an Geräuschentwicklung, geringer Genauigkeit und begrenztem Drehbereich. Analoge Voltmeter eignen sich nicht: kleiner Winkel (90°), empfindlich, exotische Teile. Fertig-Anzeiger von AliExpress zielen auf Street-Racing ab und sind für Integration unpraktisch.

CO₂-Sensor: SenseAir S8 (Branchenstandard). Zusätzliche Klimasensoren (Temperatur, Feuchtigkeit, Druck). Ohne Sensoren arbeitet das Gerät auf Smart-Home-Befehle.

Treiber-Prototyping:

Google AdInline article slot
  • Zunächst getestet mit H-Brücke: geringe Genauigkeit, hoher Lärm.
  • Mit VID6608: flüssige Bewegung, natürliche Zeigerdynamik.

Tasmota-Integration

Die SwitecX25-Bibliothek für ESP32 hat Fehler: char-Überlauf (unsigned in ESP32), fehlende Timeouts gemäß VID6608-Datenblatt. Es wurde eine neue Bibliothek auf Basis von SwitecX25 entwickelt:

  • Unterstützung nur für VID6608-ähnliche Treiber (direkte Steuerung ineffizient).
  • Konfigurierbare Beschleunigungskurven.
  • Korrekte Timeouts und Mikroschritte.
  • Direkte Integration in Tasmota (keine Submodule).

Tasmota wurde wegen der integrierten Smart-Home-Unterstützung (MQTT, HTTP), Weboberfläche und OTA gewählt. Hinzugefügt wurde die Unterstützung für Instrumenten-Schrittmotoren.

Beispielhafte Basis-Tasmota-Konfiguration (über Weboberfläche):

Google AdInline article slot
SwitecX25:
  enable: true
  driver: VID6608
  steps: 28800  # Volle Drehung
  acceleration: 500

Gehäuse und 3D-Druck

Gehäuse basierend auf Gehäusen von Spender-Weckern. Gedruckte Teile auf Ender-3: Skalen (Luftfahrt/Retro), Zeiger, Halterungen. ~300° Drehbereich gewährleistet gute Ablesbarkeit.

Konfigurationsoptionen:

  • Stil: Luftfahrt (metallisch) / Retro (vintage).
  • Hintergrundbeleuchtung: keine / Glühfaden (Nachbildung von Glühlampe) / RGB (adressierbare Leiste).
  • Sensoren: CO₂ + Klima / nur Klima / nur CO₂ / keine Sensoren.

Zusammenbau: Platine mit ESP32, Treiber, Anschlüssen. Weltweite Verfügbarkeit: Motoren ~2 €, Treiber ~1,50 €, SenseAir S8 ~25 €.

Funktionalität und Kalibrierung

Der Anzeiger zeigt den aktuellen CO₂-Wert (400–2000 ppm, Skala mit Zonen: normal/belüften/kritisch). Updates alle 5–10 Sekunden mit Glättung für flüssige Bewegung.

Zeiger-Bewegungsalgorithmus:

  • Schrittberechnung: target_pos = map(co2_ppm, 400, 2000, 0, max_steps).
  • Beschleunigung/Verzögerung via S-Kurve für realistische Trägheit.
  • Mikroschritte minimieren Vibrationen.

Integration: MQTT-Topics für CO₂, Temperatur, Feuchtigkeit. Weboberfläche: Diagramme, Nullkalibrierung, Testmodus.

Wichtige Punkte

  • Genauigkeit: SenseAir S8 ±50 ppm ±3 % bei 30 °C, Reaktionszeit <20 Sekunden.
  • Kompatibilität: Tasmota + Home Assistant/MQTT ohne zusätzliche Firmware.
  • Reproduzierbarkeit: Alle Teile bei DigiKey/AliExpress, Gerber-Dateien im Repository.
  • Lizenz: GNU GPLv3, Code/3D/STL Open Source.
  • Erweiterbarkeit: Zeiger zeigt beliebige Metriken via MQTT an.

— Editorial Team

Advertisement 728x90

Weiterlesen