SGP41 Luftqualitätssensormodul, VOC und NOx, I2C, 1,6 V
zoom_out_map
chevron_left chevron_right

Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.

Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.

Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.

Luftqualitäts-Sensormodul SGP41, VOC und NOx, I2C, 3,3 V

Kompaktes Modul zur Überwachung der Luftqualität in Echtzeit, erkennt VOC und NOx mit MOX-Technologie von Sensirion, I2C-Kommunikation für die schnelle Integration mit Arduino, ESP32, Raspberry Pi oder STM32, arbeitet mit niedriger Spannung von 3,3 V, ideal für batteriebetriebene Geräte, geeignet für Smart Home, HVAC, Luftreiniger und tragbare Wetterstationen.

13,29 € Bruttopreis

10,98 € zzgl. MwSt.

No reviews yet

Shipping by Donnerstag 22 Oktober

Mit dem Kauf dieses Produkts erhalten Sie 0,66 € an Treuepunkten.

Garantie: 24 Monate für Privatpersonen
INTERNATIONAL DELIVERY
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
FAST DISPATCH 24H
We ship from our stock within 24H
TREUEPUNKTE
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.

Modul basierend auf dem SGP41-Sensor, entwickelt zur Messung der Luftqualität, kompatibel mit Arduino und anderen Entwicklungsplatinen, verwendet in Smart-Home-Anwendungen, HLK-Anlagen, Luftreinigern oder tragbaren Wetterstationen.

Der Sensor nutzt die integrierte MOX-Technologie (Metalloxid) von Sensirion, um VOC- (flüchtige organische Verbindungen) und NOx-Gase (Stickstoffoxide) zu erkennen und so eine genaue Bewertung der Luftqualität in Echtzeit zu ermöglichen.

Das Modul ist auf einer schwarzen Platine mit Standard-I2C-Schnittstelle montiert und lässt sich daher problemlos in Platinen wie Arduino, ESP32, Raspberry Pi oder STM32 integrieren. Es arbeitet mit niedrigen Spannungen zwischen 1,62 V und 1,98 V und eignet sich daher für tragbare Anwendungen und batteriebetriebene Geräte.

Achtung! Der Sensor ist nicht mit Logikpegeln und Spannungsversorgungen über 1,9 VDC kompatibel! Verwenden Sie einen Logikpegelkonverter und eine Spannungsversorgung von 1,8 VDC!

 

Spezifikationen:

Versorgungsspannung: 1,62 – 1,98 VDC

Sensortyp: SGP41 (Sensirion)

Gemessene Parameter: VOC und NOx

Schnittstelle: I2C (Standardadresse 0x59)

Typischer Strom: < 2 mA im aktiven Modus

Aufwärmzeit: < 10 s

Modulgröße: 10 × 10 mm

Platinenmaterial: FR4, schwarze Leiterplatte

 

Pinbelegung:

Kiefer Name Funktion Beschreibung
1 VCC Fütterung 1,62 V – 1,98 V
2 GND Masse Gemeinsame Referenz
3 SDA I²C-Daten Bidirektionale Datenleitung
4 SCL I²C-Takt Kommunikationssynchronisierung

 

Verwenden:

Verbinden Sie den Sensor über den I2C-Bus mit dem Mikrocontroller:

VCC → 1,8 V

GND → GND gemeinsam

SDA → I²C SDA-Pin

SCL → I²C SCL-Pin

 

Initialisiert die Kommunikation bei Adresse 0x59.

Starten Sie die Heiz- und VOC/NOx-Leseroutine gemäß der Sensirion-Bibliothek (verfügbar für Arduino und Raspberry Pi).

Interpretieren Sie die zurückgegebenen Werte:

VOC-Index (0–500)

NOx-Index (0–500)

Niedrige Werte weisen auf saubere Luft hin. Hohe Werte weisen auf verschmutzte Luft hin.

 

Achtung! Der Sensor ist nicht mit Logikpegeln und Spannungsversorgungen über 1,9 VDC kompatibel! Verwenden Sie einen Logikpegelkonverter und eine Spannungsversorgung von 1,8 VDC!

Anschlussbeispiel mit Arduino und Logikpegelwandler:

Arduino UNO Pegelumwandlungsmodus SGP41
5 V HV –
GND GND GND
SDA (A4) HV1 → LV1 SDA
SCL (A5) HV2 → LV2 SCL
LV (Niederspannungsseite) – 1,8 V
HV (Hochspannungsseite) – 5 V
1,8 V LDO-Ausgang – VCC
88052
Eingangsspannung
1.6 V
Eingangsspannungstyp
DC → **DC**

Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.

Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.

Avertismente generale de siguranta:

Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.

Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.

Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.

Nu lasati produsul alimentat nesupravegheat in timpul testelor.

Produsul nu este jucarie si nu este destinat copiilor.

Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.

Identificare produs:

Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.

Producator / Importator / Distribuitor:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Website: www.sigmanortec.ro

Persoana responsabila in UE:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Documentatie si siguranta:

Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].

/*
  Test code for SGP41 VOC and NOx Air Quality Sensor Module
  Board: ESP32 Dev Module
  Wiring:
    SGP41 VCC -> ESP32 3V3
    SGP41 GND -> ESP32 GND
    SGP41 SDA -> ESP32 GPIO21
    SGP41 SCL -> ESP32 GPIO22
  Libraries to install from Library Manager:
    Sensirion I2C SGP41 (Sensirion)
    Sensirion Gas Index Algorithm (Sensirion)
  Note: on a 5V board such as Arduino UNO, power the module from the 3.3V pin
  and use a bidirectional I2C logic level converter on SDA and SCL.
*/

#include <Wire.h>
#include <SensirionI2CSgp41.h>
#include <VOCGasIndexAlgorithm.h>
#include <NOxGasIndexAlgorithm.h>

// I2C pins used on the ESP32 dev board
#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 22

// Default humidity and temperature values used when no external RH/T sensor is connected
// 0x8000 corresponds to 50% RH, 0x6666 corresponds to 25 degC
const uint16_t defaultRh = 0x8000;
const uint16_t defaultT = 0x6666;

SensirionI2CSgp41 sgp41;
VOCGasIndexAlgorithm vocAlgorithm;
NOxGasIndexAlgorithm noxAlgorithm;

uint16_t error;

void setup() {
  Serial.begin(115200);
  delay(1000);

  Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);
  sgp41.begin(Wire);

  // Read and print the sensor serial number, to confirm the I2C link works
  uint16_t serialNumber[3];
  uint8_t serialNumberSize = 3;
  error = sgp41.getSerialNumber(serialNumber, serialNumberSize);
  if (error) {
    Serial.print("Error getting serial number: ");
    Serial.println(error);
  } else {
    Serial.print("SGP41 serial number: ");
    for (int i = 0; i < serialNumberSize; i++) {
      Serial.print(serialNumber[i], HEX);
      Serial.print(" ");
    }
    Serial.println();
  }

  Serial.println("Conditioning for 10 seconds, do not skip this step.");
  uint16_t srawVoc = 0;
  for (int i = 0; i < 10; i++) {
    error = sgp41.executeConditioning(defaultRh, defaultT, srawVoc);
    if (error) {
      Serial.print("Error during conditioning: ");
      Serial.println(error);
    }
    delay(1000);
  }

  Serial.println("Conditioning done, starting measurements.");
}

void loop() {
  uint16_t srawVoc = 0;
  uint16_t srawNox = 0;

  error = sgp41.measureRawSignals(defaultRh, defaultT, srawVoc, srawNox);

  if (error) {
    Serial.print("Error reading raw signals: ");
    Serial.println(error);
  } else {
    int32_t vocIndex = vocAlgorithm.process(srawVoc);
    int32_t noxIndex = noxAlgorithm.process(srawNox);

    Serial.print("SRAW_VOC: ");
    Serial.print(srawVoc);
    Serial.print("  SRAW_NOX: ");
    Serial.print(srawNox);
    Serial.print("  VOC Index: ");
    Serial.print(vocIndex);
    Serial.print("  NOx Index: ");
    Serial.println(noxIndex);
  }

  delay(1000);
}

Das Sensormodul SGP41 von Sensirion überwacht die Innenraumluftqualität über zwei unterschiedliche Signale, eines für die flüchtigen organischen Verbindungen (VOC) und eines für die Stickoxide (NOx). In diesem Tutorial nehmen wir das Modul zusammen mit einem ESP32-Board in Betrieb, da die I2C-Schnittstelle des Sensors nativ mit 3,3 V arbeitet, derselben Logikspannung, die auch der ESP32 verwendet, sodass kein Pegelwandler nötig ist.

Sensormodul für Luftqualität SGP41, VOC und NOx, I2C, 1.6V

Funktionsweise:

Der Sensor SGP41 besitzt zwei MOX-Messelemente, jedes mit seiner eigenen Mikro-Heizplatte. Jedes Element erzeugt ein 16-Bit-Rohsignal, SRAW_VOC und SRAW_NOX, proportional zum Logarithmus des Widerstands der gasempfindlichen Schicht. Diese Rohsignale sind nicht direkt nutzbar, deshalb werden sie durch den Sensirion Gas Index Algorithmus geschickt, der auf dem Mikrocontroller läuft und sie in einen VOC-Index und einen NOx-Index auf einer Skala von 1 bis 500 umwandelt.

Vor der ersten Messung nach jedem Einschalten muss der Sensor 10 s lang konditioniert werden, eine Zeitspanne, in der die Heizplatte des NOx-Elements auf Betriebstemperatur gebracht wird. Nach der Konditionierung werden die Rohsignale einmal pro Sekunde gelesen und jeder Wert wird durch den Gas Index Algorithmus geleitet, der den neuen Messwert mit dem Mittelwert der letzten Betriebsstunden vergleicht und den entsprechenden Index berechnet. Ein VOC-Index von 100 bedeutet, dass die Luft im Durchschnitt gleich wie in den letzten 24 h ist, während ein NOx-Index von 1 das Fehlen oxidierender Gase bedeutet.

Was Sie benötigen:

Anschluss:

Das Modul wird mit 3,3 V versorgt, derselben Spannung wie die I2C-Schnittstelle des ESP32, sodass die Verbindung direkt erfolgt, ohne Pegelwandler. Wenn Sie den Sensor mit einem Arduino UNO Board testen, versorgen Sie das Modul über den 3.3V-Pin des Boards und führen Sie die Leitungen SDA und SCL durch einen bidirektionalen Pegelwandler, da die I2C-Pins des UNO mit 5 V arbeiten.

Produkt-Pin Wird verbunden mit Funktion
VCC 3V3 Stromversorgung Sensor
GND GND Gemeinsame Masse
SDA GPIO21 I2C-Daten
SCL GPIO22 I2C-Takt

Anschluss Modul SGP41 an ESP32

Bibliotheken:

Sensirion I2C SGP41, von Sensirion, für die Kommunikation mit dem Sensor.

Sensirion Gas Index Algorithm, von Sensirion, für die Berechnung von VOC-Index und NOx-Index aus den Rohsignalen.

Wire, die Standardbibliothek für die I2C-Kommunikation, im ESP32-Board-Paket enthalten.

Der Code:

Das Programm konditioniert den Sensor beim Start, liest dann jede Sekunde die Rohsignale und zeigt sie zusammen mit VOC-Index und NOx-Index an.

/*
  SGP41 VOC and NOx Air Quality Sensor with ESP32
  Board: ESP32 Dev Module
  Wiring:
    SGP41 VCC -> ESP32 3V3
    SGP41 GND -> ESP32 GND
    SGP41 SDA -> ESP32 GPIO21
    SGP41 SCL -> ESP32 GPIO22
  Libraries to install from Library Manager:
    Sensirion I2C SGP41 (Sensirion)
    Sensirion Gas Index Algorithm (Sensirion)
*/
#include <Wire.h>
#include <SensirionI2CSgp41.h>
#include <VOCGasIndexAlgorithm.h>
#include <NOxGasIndexAlgorithm.h>
// I2C pins used on the ESP32 dev board
#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 22
// Default humidity and temperature values used when no external RH/T sensor is connected
// 0x8000 corresponds to 50% RH, 0x6666 corresponds to 25 degC, as defined by Sensirion
const uint16_t defaultRh = 0x8000;
const uint16_t defaultT = 0x6666;
SensirionI2CSgp41 sgp41;
VOCGasIndexAlgorithm vocAlgorithm;
NOxGasIndexAlgorithm noxAlgorithm;
uint16_t error;
char errorMessage[256];
void setup() {
  Serial.begin(115200);
  delay(1000);
  // Start I2C bus on the chosen SDA and SCL pins
  Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);
  sgp41.begin(Wire);
  Serial.println("SGP41 conditioning, please wait 10 seconds...");
  // Conditioning must run for 10 s before the first raw signal measurement
  uint16_t srawVoc = 0;
  for (int i = 0; i < 10; i++) {
    error = sgp41.executeConditioning(defaultRh, defaultT, srawVoc);
    if (error) {
      Serial.print("Error during conditioning: ");
      Serial.println(error);
    }
    delay(1000);
  }
  Serial.println("Conditioning done, starting measurements.");
}
void loop() {
  uint16_t srawVoc = 0;
  uint16_t srawNox = 0;
  // Read raw VOC and NOx signals once per second
  error = sgp41.measureRawSignals(defaultRh, defaultT, srawVoc, srawNox);
  if (error) {
    Serial.print("Error reading raw signals: ");
    Serial.println(error);
  } else {
    // Convert raw signals into VOC Index and NOx Index using the Gas Index Algorithm
    int32_t vocIndex = vocAlgorithm.process(srawVoc);
    int32_t noxIndex = noxAlgorithm.process(srawNox);
    Serial.print("SRAW_VOC: ");
    Serial.print(srawVoc);
    Serial.print("  SRAW_NOX: ");
    Serial.print(srawNox);
    Serial.print("  VOC Index: ");
    Serial.print(vocIndex);
    Serial.print("  NOx Index: ");
    Serial.println(noxIndex);
  }
  delay(1000);
}

Wie der Code funktioniert:

Im Abschnitt der Definitionen wird das Objekt sgp41 der Klasse SensirionI2CSgp41 erstellt, für die Kommunikation mit dem Sensor, sowie die Objekte vocAlgorithm und noxAlgorithm aus den Bibliotheken VOCGasIndexAlgorithm und NOxGasIndexAlgorithm, die nacheinander die Rohsignale empfangen und die Indizes zurückgeben. Die Konstanten defaultRh und defaultT enthalten die Standardwerte für Luftfeuchtigkeit und Temperatur, die verwendet werden, wenn kein externer Feuchtigkeitssensor vorhanden ist.

In setup wird die serielle Schnittstelle initialisiert, der I2C-Bus mit Wire.begin an den Pins GPIO21 und GPIO22 gestartet, sgp41.begin aufgerufen, um das Objekt mit dem Bus zu verbinden, dann läuft eine Schleife, die executeConditioning 10 Iterationen lang aufruft, jeweils eine pro Sekunde, so wie es der Sensor vor der ersten Messung verlangt.

In loop wird measureRawSignals einmal pro Sekunde aufgerufen, unter Verwendung eines delay von 1000 ms, srawVoc und srawNox werden abgerufen, und die Funktion process jedes Algorithmus wandelt das Rohsignal in den entsprechenden Index um. Die Ergebnisse werden auf dem seriellen Monitor mit Serial.print angezeigt, zusammen mit den Rohsignalen, zur Überprüfung.

Ergebnis:

Öffnen Sie den seriellen Monitor bei 115200 Baud. Nach den 10 s Konditionierung erscheint auf dem Bildschirm eine Zeile pro Sekunde mit den Rohsignalen sowie VOC-Index und NOx-Index, wobei letzterer einige Stunden kontinuierlichen Betriebs benötigt, um vollständig stabile Werte zu erreichen.

SGP41 conditioning, please wait 10 seconds...
Conditioning done, starting measurements.
SRAW_VOC: 24981  SRAW_NOX: 15234  VOC Index: 100  NOx Index: 1
SRAW_VOC: 24975  SRAW_NOX: 15231  VOC Index: 99  NOx Index: 1
SRAW_VOC: 24988  SRAW_NOX: 15229  VOC Index: 101  NOx Index: 1
SRAW_VOC: 25102  SRAW_NOX: 15240  VOC Index: 108  NOx Index: 1
SRAW_VOC: 25310  SRAW_NOX: 15255  VOC Index: 124  NOx Index: 1
SRAW_VOC: 25006  SRAW_NOX: 15233  VOC Index: 102  NOx Index: 1

Häufige Probleme:

Der serielle Monitor zeigt nichts an: Überprüfen Sie die eingestellte serielle Geschwindigkeit von 115200 Baud in Serial.begin und im seriellen Monitor, und prüfen Sie, ob Sie das richtige ESP32-Board in der Arduino IDE ausgewählt haben.

Der Sensor antwortet nicht auf der Adresse 0x59: Überprüfen Sie die Leitungen SDA und SCL, vertauschen Sie sie nicht, und prüfen Sie, ob das Modul mit 3,3 V versorgt wird, nicht mit 5 V.

VOC-Index oder NOx-Index bleiben lange auf demselben Wert hängen: Überprüfen Sie, ob Sie measureRawSignals jede Sekunde ohne Unterbrechung aufrufen, da der Gas Index Algorithmus einen kontinuierlichen Strom von Messwerten benötigt, um sich anzupassen.

Der NOx-Index zeigt hohe Werte, die nicht sinken: Lassen Sie den Sensor einige Stunden kontinuierlich laufen, da die vollständige Stabilisierung des NOx-Index nach dem Einschalten länger dauert als die des VOC-Index.

Die Werte wirken im Vergleich zur realen Umgebung unplausibel: Aktivieren Sie die Feuchtigkeitskompensation, indem Sie in measureRawSignals reale Temperatur- und Feuchtigkeitswerte von einem externen Sensor übermitteln, anstelle der Standardwerte.

Einschränkungen und Tipps:

Das Modul SGP41 bietet eine relative Einschätzung der Luftqualität, keine exakte Konzentration von Stoffen, und darf nicht als Sicherheitsdetektor für giftige oder brennbare Gase verwendet werden. Für stabile Ergebnisse lassen Sie den Sensor kontinuierlich laufen, ohne wiederholtes Ausschalten, und vermeiden Sie die Montage in der Nähe direkter Wärmequellen oder starker Luftströmungen. Für bessere Genauigkeit fügen Sie einen externen Temperatur- und Feuchtigkeitssensor hinzu, zum Beispiel SHT40, dessen Messwerte an den Sensor SGP41 zur Kompensation übermittelt werden. Auf Basis dieses Aufbaus können Sie ein gesteuertes Belüftungssystem bauen, das automatisch einen Ventilator oder Luftreiniger startet, wenn VOC-Index oder NOx-Index einen festgelegten Schwellenwert überschreiten.