Skocz do zawartości

[ESP8266] pomiar jakości powietrza przy pomocy MQ135


bryla

Pomocna odpowiedź

Cześć,

Szukałem podobnych tematów jednak nie znalazłem rozwiązania. Do swojego projektu chcę dorzucić pomiar jakości powietrza za pomocą MQ135. Czujnik ten jest zasilany 5V, aby nie uszkodzić ESP8266 zbudowałem dzielnik napięcia, który na wyjściu daje ok 2.97 V (schemat w załączniku). Problem w tym, że MQ135 zwraca bardzo niskie wartości. Z góry dzięki za pomoc.

#include "MQ135.h"

const int analogInPin = A0;  // ESP8266 Analog Pin ADC0 = A0
MQ135 gasSensor = MQ135(A0);
void setup() {
  // initialize serial communication at 115200
  Serial.begin(115200);
}

void loop() {
  float airQuality = gasSensor.getPPM();
  Serial.print("Air quality: ");
  Serial.print(airQuality);
  Serial.println(" PPM");
  Serial.println();
  delay(1000);
}

 

schemat.png

2020-10-31 10_56_27-montion-detecion _ Arduino 1.8.13.png

Link do komentarza
Share on other sites

Cześć @Treker,

Korzystam z tej biblioteki, obecnie wprowadziłem następujące zmiany w poniższej funkcji.
 

float MQ135::getResistance() {
  int val = analogRead(_pin);
  return ((1023./(float)val) * 3. - 1.)*RLOAD; // wcześniej było return ((1023./(float)val) * 5. - 1.)*RLOAD;
}

 MQ135 zwraca nadal bardzo niskie wartości, nie rozumiem skąd tak wysoka wartość rzero...
RZero=3965.71
PPM=0.01
PPM Corrected=0.01

Wartości są zwracane przy pomocy tego kodu.

void getAirQuality(){
  float airHumidity = hum;
  float airTemperature = temp;

  rzero = gasSensor.getRZero(); 
  Serial.print("RZero=");
  Serial.println(rzero); 
   
  ppm = gasSensor.getPPM(); 
  Serial.print("PPM=");
  Serial.println(ppm); 
  
  ppmbalanced = gasSensor.getCorrectedPPM(airTemperature, airHumidity); 
  Serial.print("PPM Corrected=");
  Serial.println(ppmbalanced);
}

Myślałem, że problem leży w źle zdefiniowanej wartości RZERO, zgodnie z tym poradnikiem, zdefiniowałem w pliku mq135.h zwracaną wartość RZERO (3659). Otrzymałem poniższe wyniki. Na początku ESP8266 był podłączony do USB w laptopie, przez ten czas rejestrował wartości na poziomie ok 300 PPM. Następnie odłączyłem ESP od laptopa i podłączyłem do ładowarki (5V/1A), MQ135 cały czas jest zasilany przez moduł zasilania płytek stykowych, która jest zasilana przez osobą ładowarkę 5V/1A i wyszedłem z mieszkania. Po chwili wartość PPM skoczył na ponad 1K 🤨. Zauważyłem jeszcze jeden problem, gdy chcę zasilać ESP i MQ135 z płytki stykowej, MQ135 nie zwraca żadnej wartości. Dioda zasilania świeci się ale jak widać po wykresie między 12 a 14, MQ135 zwraca 0. Czyżby za duży pobór prądu?

Z góry dziękuję

bryla

comment_1604241590SN0mP0F92dgTnpeKHUaLS3,w400.jpg

Link do komentarza
Share on other sites

Zajmowałem się podobnymi czujnikami dawno temu.Czujnik tego typu jest elementem wykorzystującym zjawisko adsorpcji w temperaturze ok 350oC kiedyś a teraz jak widzę 250oC.Grzałka podgrzewa półprzewodnik.Przez grzałkę płynie dość duży prąd bo ok. 200mA.Jak jest czyste powietrze to przy powierzchni półprzewodnika gromadzi się tlen,który powoduje,że oporność półprzewodnika jest stosunkowo duża.W chwili pojawienia się węglowodorów,tlenku węgla następuje katalityczne utlenianie powszechnie zwane spalaniem.Pozbawienie tlenu przy powierzchni powoduje spadek oporności półprzewodnika.Posłużenie się płytką stykową to nie jest najlepszy pomysł.  Połączenia powinny być pewne czyli najlepiej lutowane.Zasilacz powinien być dobrej jakości z dobrze filtrowanym napięciem.Napięcie zgodnie z notą katalogową 5V + -0,1V.Jak to zrobisz odpadnie Ci problem z połączeniami i zasilaniem .W nocie katalogowej znajdziesz tabelkę

obraz.thumb.png.4033d8a6169fca006ad644b2fdbe43a0.png

Producent sugeruje by przed użyciem  czujnik wygrzać.To wygrzewanie powinno trwać od 48 h  do 168h w zależności od czasu nieużywania.W Twoim przypadku powinno być to 168 godzin.

Rezystor RL o tolerancji 1%  i mniejszej jeśli jest dostępny.Dobrze by się stało gdybyś do czujnika podłączył wzmacniacz operacyjny  w układzie wtórnika napięciowego i dopiero do wyjścia podłącz  dzielnik napięcia ale to opcja.Zamiast jednego rezystora 4,7k zastosuj dwa np 2,2k i 2,5k o tolerancji jak wcześniej pisałem.Rezystory nie takie zwykłe ale metalizowane i dobrze by było je postarzyć wkładając do zamrażarki a następnie do piekarnika i tak kilkadziesiąt razy.Kiedyś producenci udostępniali wykresy obrazujące  zmianę rezystancji w czasie.Chodzi o to by pomiar był wiarygodny.Pamiętaj taki czujnik jest na tyle czuły,że wykrywa to co się z Ciebie wydobywa i  w szczególności może służyć jako alkomat.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dziękuję za obszerną odpowiedź @szymonw. Obecnie czujnik jakby się ustabilizował. Wychodzi na to, że za krótko go wygrzewałem. Czy proces wygrzewania można jakoś powtórzyć, np schładzając czujnik i podpinając go do stabilnego zasilania ponownie? 

Link do komentarza
Share on other sites

Proces wygrzewania ma na celu usunięcie wszelkich związków chemicznych,które osadziły się na aktywnej części czujnika.Producent to opisał.Podłącz do stabilnego zasilania i niech się wygrzewa. 168 godzin to tydzień -7 dób( wiesz z czym nie mylić😄). Jeśli musisz zrobić dzielnik napięcia to kup porządne  metalizowane rezystory i je zastosuj. Niestety "świeże "  rezystory mogą "pływać" to znaczy ich rezystancja się zmienia w czasie.Te zmiany są quasi-statyczne co powoduje ,że z  upływem czasu pomiar może być niewiarygodny.Powodzenia

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.