Modul senzor calitate aer SGP41 I2C 1.6V
zoom_out_map
chevron_left chevron_right

Imaginile produselor au caracter informativ si pot prezenta diferente minore, in functie de lot si de furnizor. Este posibil ca specificatiile si pretul produselor sa fie modificate fara preaviz. Facem tot posibilul sa adaugam in pagina produselor specificatii cat mai exacte si corecte dar este posibil ca acestea sa nu fie in totalitate corecte. in cazul in care identificati un astfel de caz, va rugam sa ne semnalati acest lucru.

Produsele noastre sunt destinate in principal dezvoltarii, prototiparii si proiectelor tehnice. Informatiile privind specificatiile, instructiunile si conformitatea sunt furnizate conform datelor disponibile de la producatori sau furnizori. Pentru integrarea in produse finale sau aplicatii comerciale, recomandam verificarea compatibilitatii si conformitatii in functie de utilizarea dorita.

Specificatiile tehnice mentionate (curent, putere etc.) reprezinta valori maxime admise in conditii ideale de functionare. Pentru o utilizare sigura si o durata de viata optima, recomandam exploatarea produsului in regim continuu la cel mult 50% din valorile maxime specificate.

Modul senzor de calitate a aerului SGP41, VOC si NOx, I2C, 3.3V

Modul compact pentru monitorizarea calitatii aerului in timp real, detecteaza VOC si NOx cu tehnologia MOX Sensirion, comunicare I2C pentru integrare rapida cu Arduino, ESP32, Raspberry Pi sau STM32, functioneaza la tensiune joasa 3.3V ideala pentru dispozitive pe baterie, potrivit pentru smart home, HVAC, purificatoare si statii meteo portabile.

5.093,39 Ft Cu TVA

4.209,41 Ft Fara TVA

Nu exista recenzii
1-2 zile
check In Stoc

Expediere estimata: joi 22 octombrie

Ai gasit mai ieftin? Spune-ne! (autentifica-te pentru a trimite o solicitare)

Cumparand acest produs primesti 254,67 Ft in puncte de fidelitate.

Garantie: 24 luni pentru persoane fizice
LIVRARE GRATUITA
Adauga in cos produse in valoare de 130 Ron si ai livrare gratuita daca alegi sa platesti online
EXPEDIERE RAPIDA
Produsele sunt expediate din stoc propriu
PUNCTE FIDELITATE
Primesti puncte la fiecare comanda, in valoare de 5%

Modulul senzor de calitate a aerului este construit in jurul cipului SGP41 de la Sensirion si monitorizeaza in timp real compusii organici volatili (VOC) si oxizii de azot (NOx) din aerul interior. Este potrivit pentru aplicatii smart home, sisteme HVAC si de ventilatie, purificatoare de aer, statii meteo si alte dispozitive IoT de monitorizare a aerului din interior.

Senzorul SGP41 foloseste tehnologie MOX (oxid metalic), cu doua elemente de masurare distincte pe acelasi cip, fiecare avand propria micro-placa de incalzire controlata in temperatura, unul dedicat VOC si celalalt NOx. Semnalele brute SRAW_VOC si SRAW_NOX, pe 16 biti, sunt procesate de algoritmul Sensirion Gas Index, care furnizeaza un Index VOC si un Index NOx pe o scala de la 1 la 500 si se adapteaza automat la mediul in care este montat senzorul. Domeniul de masurare acopera 0 - 1000 ppm echivalent etanol pentru VOC si 0 - 10 ppm echivalent NO2 pentru NOx, cu timp de raspuns (tau 63%) sub 10 s pentru VOC si sub 250 s pentru NOx.

Printre caracteristicile principale se numara compensarea interna a umiditatii pe baza datelor primite de la un senzor extern de temperatura si umiditate, functia de autotest integrata, numarul de serie unic si stabilitatea buna pe termen lung. Modulul se alimenteaza in intervalul 1.7 - 3.6 VDC, tipic la 3.3 V, iar nivelurile logice ale interfetei I2C sunt egale cu tensiunea de alimentare.

Datorita interfetei I2C cu adresa fixa 0x59, modulul se conecteaza direct la placi de 3.3 V precum ESP32, ESP8266, STM32, Raspberry Pi, Raspberry Pi Pico sau placile Arduino de 3.3 V. Pentru placile Arduino de 5 V (UNO, Nano, Mega), senzorul se alimenteaza de la pinul 3.3V al placii, iar liniile I2C trec printr-un convertor de nivel logic bidirectional. Senzorul este suportat de bibliotecile oficiale Sensirion pentru Arduino si Raspberry Pi, iar in ESPHome este suportat de componenta sgp4x, pentru integrare in Home Assistant.

Denumirea produsului si marcajul de pe unele variante ale placii mentioneaza 1.6V sau 1.8V. Acest marcaj provine de la PCB-ul generic folosit si pentru seria anterioara SGPxx (valabil la 1.62 - 1.98 VDC) si nu se aplica senzorului SGP41 montat pe acest modul, care functioneaza corect in intervalul 1.7 - 3.6 VDC, tipic 3.3 V.

Modulul nu este un detector de gaze certificat si nu trebuie folosit ca dispozitiv de siguranta, de exemplu ca detector de gaz combustibil sau de monoxid de carbon.

 

Specificatii:

Senzor: SGP41 (Sensirion)

Tehnologie: MOX (oxid metalic), doua elemente de masurare (VOC si NOx)

Parametri masurati: VOC si NOx (gaze oxidante)

Iesire procesata: Index VOC 1 - 500, Index NOx 1 - 500 (prin algoritmul Sensirion Gas Index)

Iesire bruta: SRAW_VOC si SRAW_NOX, 16 biti

Domeniu de masurare: 0 - 1000 ppm etanol (VOC), 0 - 10 ppm NO2 (NOx)

Tensiune de alimentare: 1.7 - 3.6 VDC (tipic 3.3 V)

Nivel logic I2C: egal cu tensiunea de alimentare

Curent in masurare: 3.0 mA tipic la 3.3 V, 4.3 mA tipic la 1.8 V

Curent in conditionare: 4.2 mA tipic la 3.3 V, 6.5 mA tipic la 1.8 V

Curent in repaus: 34 µA tipic

Interfata: I2C, adresa 0x59, pana la 400 kHz

Interval de esantionare recomandat: 1 s

Timp de conditionare: 10 s (nu se depaseste)

Timp de raspuns: sub 10 s (VOC), sub 250 s (NOx)

Stabilizare dupa pornire: aprox. 1.5 h pentru Index VOC, aprox. 6 h pentru Index NOx

Temperatura de functionare: -10°C pana la +50°C

Umiditate de functionare: 0 - 90% RH, fara condens

Capsula senzor: DFN 2.44 x 2.44 x 0.85 mm

Dimensiune modul: 10 x 10 mm

Material placa: FR4, PCB negru

 

Pinout:

Conector Pin Functie
Header I2C SCL Ceas I2C, sincronizare comunicatie
Header I2C SDA Date I2C, linie bidirectionala
Header I2C GND Masa, referinta comuna
Header I2C VCC Alimentare 1.7 - 3.6 VDC (tipic 3.3 V)

 

Utilizare:

Alimentati modulul cu o tensiune din intervalul 1.7 - 3.6 VDC, tipic 3.3 V, de la placa de dezvoltare, si conectati GND la masa comuna.

Conectati SDA si SCL la pinii I2C ai microcontrolerului. Pe placile de 3.3 V (ESP32, STM32, Raspberry Pi) conexiunea este directa.

Pe placile Arduino de 5 V (UNO, Nano, Mega) alimentati modulul de la pinul 3.3V al placii si treceti liniile SDA si SCL printr-un convertor de nivel logic bidirectional compatibil I2C.

Verificati prezenta rezistentelor pull-up pe SDA si SCL, tipic 4.7 - 10 kOhm spre tensiunea de alimentare. Daca nici modulul, nici placa de dezvoltare nu le au, adaugati-le extern.

Instalati bibliotecile oficiale Sensirion I2C SGP41 (impreuna cu Sensirion Core) si Sensirion Gas Index Algorithm, pentru Arduino sau Raspberry Pi.

Initializati comunicatia I2C. Senzorul raspunde la adresa fixa 0x59.

Dupa fiecare pornire rulati conditionarea timp de 10 s. Nu depasiti aceasta durata, deoarece materialul sensibil se poate deteriora.

Cititi semnalele brute o data pe secunda si transmiteti-le algoritmului Gas Index pentru a obtine Index VOC si Index NOx.

Interpretati valorile. La Index VOC, valoarea 100 reprezinta media ultimelor 24 de ore. Valorile peste 100 indica degradarea calitatii aerului, iar cele sub 100 o imbunatatire. La Index NOx, valoarea 1 reprezinta conditiile normale, iar valorile intre 2 si 500 indica prezenta gazelor de tip NOx.

Asteptati stabilizarea completa a senzorului dupa pornire, aproximativ 1.5 ore pentru Index VOC si pana la 6 ore pentru Index NOx, si folositi senzorul in functionare continua pentru rezultate stabile.

Pentru o precizie mai buna, activati compensarea de umiditate si transmiteti in comanda de masurare temperatura si umiditatea citite de un senzor extern, de exemplu SHT40 sau SHT31.

Montati senzorul intr-o zona cu circulatie naturala a aerului, ferit de lumina puternica directa, de condens si de surse directe de caldura.

Nu alimentati modulul si nu aplicati pe liniile SDA sau SCL tensiuni peste 3.6V, iar pe placile de 5V folositi obligatoriu convertorul de nivel logic, pentru a evita defectarea ireversibila a senzorului.

88052
Tensiune Intrare
1.6 V
Tip Tensiune Intrare
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:

Acest produs este destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie, cercetare si aplicatii tehnice similare. Produsul trebuie utilizat doar conform specificatiilor tehnice mentionate in pagina produsului si/sau in documentatia disponibila.

Utilizarea incorecta, depasirea valorilor maxime admise de tensiune, curent, temperatura sau conectarea gresita pot duce la defectarea produsului, deteriorarea altor echipamente sau la riscuri de siguranta.

Produsul nu este jucarie si nu este destinat copiilor. Montajul, testarea si utilizarea trebuie realizate de persoane cu cunostinte minime in domeniul electric/electronic. Se recomanda utilizarea produsului in montaje protejate, carcase adecvate sau sisteme care respecta normele de siguranta aplicabile.

 

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]

/*
  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);
}

Modulul cu senzorul SGP41 de la Sensirion monitorizeaza calitatea aerului din interior prin doua semnale distincte, unul pentru compusii organici volatili (VOC) si unul pentru oxizii de azot (NOx). In acest tutorial punem modulul in functiune cu o placa ESP32, pentru ca interfata I2C a senzorului functioneaza nativ la 3.3 V, aceeasi tensiune logica folosita de ESP32, fara sa fie nevoie de un convertor de nivel.

Modul senzor de calitate a aerului SGP41, VOC si NOx, I2C, 1.6V

Cum functioneaza:

Senzorul SGP41 are doua elemente de masurare MOX, fiecare cu propria micro-placa de incalzire. Fiecare element produce un semnal brut pe 16 biti, SRAW_VOC si SRAW_NOX, proportional cu logaritmul rezistentei stratului sensibil la gaz. Aceste semnale brute nu sunt direct utile, de aceea se trimit prin algoritmul Sensirion Gas Index, rulat pe microcontroler, care le transforma intr-un Index VOC si un Index NOx pe o scala de la 1 la 500.

Inainte de prima masuratoare dupa fiecare pornire, senzorul trebuie conditionat timp de 10 s, perioada in care hotplate-ul elementului NOx este adus la temperatura de lucru. Dupa conditionare, se citesc semnalele brute o data pe secunda si fiecare valoare este trecuta prin algoritmul Gas Index, care compara noua citire cu media ultimelor ore de functionare si calculeaza indexul corespunzator. Un Index VOC de 100 inseamna ca aerul este in medie la fel ca in ultimele 24 h, iar un Index NOx de 1 inseamna absenta gazelor oxidante.

 

Ce ai nevoie:

 

Conectare:

Modulul se alimenteaza la 3.3 V, aceeasi tensiune ca interfata I2C a ESP32, asa ca legatura se face direct, fara convertor de nivel logic. Daca testati senzorul cu o placa Arduino UNO, alimentati modulul de la pinul 3.3V al placii si treceti liniile SDA si SCL printr-un convertor de nivel logic bidirectional, pentru ca pinii I2C ai UNO lucreaza la 5 V.

Pin produs Se conecteaza la Rol
VCC 3V3 Alimentare senzor
GND GND Masa comuna
SDA GPIO21 Date I2C
SCL GPIO22 Ceas I2C

Conectare modul SGP41 la ESP32

 

Biblioteci:

Sensirion I2C SGP41, de la Sensirion, pentru comunicatia cu senzorul.

Sensirion Gas Index Algorithm, de la Sensirion, pentru calculul Index VOC si Index NOx din semnalele brute.

Wire, biblioteca standard pentru comunicatia I2C, inclusa in placa de sistem ESP32.

 

Codul:

Programul conditioneaza senzorul la pornire, apoi citeste la fiecare secunda semnalele brute si le afiseaza impreuna cu Index VOC si Index NOx.

/*
  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);
}

 

Cum functioneaza codul:

In sectiunea de definitii se creeaza obiectul sgp41 din clasa SensirionI2CSgp41, pentru comunicatia cu senzorul, si obiectele vocAlgorithm si noxAlgorithm din bibliotecile VOCGasIndexAlgorithm si NOxGasIndexAlgorithm, care primesc pe rand semnalele brute si returneaza indexii. Constantele defaultRh si defaultT contin valorile implicite de umiditate si temperatura folosite cand nu exista un senzor extern de umiditate.

In setup se initializeaza portul serial, se porneste magistrala I2C cu Wire.begin pe pinii GPIO21 si GPIO22, se apeleaza sgp41.begin pentru legarea obiectului la magistrala, apoi se ruleaza o bucla care apeleaza executeConditioning timp de 10 iteratii, cate una pe secunda, asa cum cere senzorul inainte de prima masuratoare.

In loop se apeleaza measureRawSignals o data pe secunda, folosind delay de 1000 ms, se preiau srawVoc si srawNox, iar functia process a fiecarui algoritm transforma semnalul brut in indexul corespunzator. Rezultatele sunt afisate pe monitorul serial cu Serial.print, impreuna cu semnalele brute, pentru verificare.

 

Rezultat:

Deschideti monitorul serial la 115200 baud. Dupa cele 10 s de conditionare, pe ecran apare cate o linie pe secunda cu semnalele brute si cu Index VOC si Index NOx, acesta din urma avand nevoie de cateva ore de functionare continua pentru valori complet stabile.

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

 

Probleme frecvente:

Monitorul serial nu afiseaza nimic: verificati viteza seriala setata la 115200 baud in Serial.begin si in monitorul serial, si verificati ca ati selectat placa ESP32 corecta in Arduino IDE.

Senzorul nu raspunde la adresa 0x59: verificati firele SDA si SCL, nu le inversati intre ele, si verificati ca modulul este alimentat la 3.3 V, nu la 5 V.

Index VOC sau Index NOx raman blocate la aceeasi valoare mult timp: verificati ca apelati measureRawSignals la fiecare secunda fara intrerupere, deoarece algoritmul Gas Index are nevoie de un flux continuu de citiri pentru a se adapta.

Index NOx are valori mari care nu scad: lasati senzorul sa functioneze continuu cateva ore, pentru ca stabilizarea completa a Index NOx dupa pornire dureaza mai mult decat cea a Index VOC.

Valorile par aberante fata de mediul real: activati compensarea de umiditate, trimitand in measureRawSignals valori reale de temperatura si umiditate de la un senzor extern, in loc de valorile implicite.

 

Limitari si sfaturi:

Modulul SGP41 ofera o estimare relativa a calitatii aerului, nu o concentratie exacta de substante, si nu trebuie folosit ca detector de siguranta pentru gaze toxice sau combustibile. Pentru rezultate stabile tineti senzorul in functionare continua, fara opriri repetate, si evitati montarea langa surse directe de caldura sau curenti de aer puternici. Pentru precizie mai buna adaugati un senzor extern de temperatura si umiditate, de exemplu SHT40, ale carui citiri sa fie transmise senzorului SGP41 pentru compensare. Pe baza acestui montaj puteti construi un sistem de ventilatie controlata, care porneste automat un ventilator sau un purificator de aer cand Index VOC sau Index NOx depasesc un prag stabilit.