pyłu

Z okazji występującego w okolicy smogu i braku wiarygodnych pomiarów stężenia pyłu w powietrzu, kupiłem na ebay-u za 4$ czujnik pyłu SHARP GP2Y1010AU0F. Mierzy według dokumentacji stężenia do 500 mikrogramów na metr sześcienny. Niestety nie pokrywa to spodziewanych stężeń (w okolicy spodziewam się około 2000 mikrogramów), ale innego czujnika za 4$ nie było.

Poskładałem z tego i z Arduino Uno miernik - według znalezionych opisów. Okazało się, że właściwie wszystkie opisy zawierały błędy: zamienione zasilanie całości i diody LED, błędny wzór wyznaczający stężenie pyłu, odwrotne włączanie/wyłączanie diody itp. Zrobiłem to "od zera" i działa jak powinno.

Dla zainteresowanych:

formatting link
- kilka obrazków

Kod dla Arduino Uno poniżej.

W mieszkaniu wychodzi 75 ug/m3, za oknem 110 ug/m3. Według pobliskiej stacji pomiarowej (Gliwice, ul. Mewy

- odległość 200 metrów), stężenie PM10 wynosi 197 ug/m3. Jest to pomiar na osiedlu, na którym nie ma ogrzewania węglowego ani dużych ulic, a osiedle graniczy z polami. W centrum miasta stężenia są prawdopodobnie wielokrotnie większe. Być może z tego powodu stację pomiarową przeniesiono z centrum na takie osiedle - wyniki pomiarów w centrum były nie do przyjęcia.

P.

/*******************************************************

Obsługa czujnika pyłu SHARP GP2Y1010AU0F

Program wyświetla stężenie pyłu w mikrogramach na metr sześcienny.

Program dla Arduino Uno z nakładką LCD + klawiaturka (2 linijki * 16 znaków, pod spodem 5 klawiszy i dodatkowo klawisz RST).

Podłączenie czujnika pyłu: piny złącza 6-stykowego numerowane 1 do 6, 1 przy brzegu czujnika, 6 przy otworze na powietrze:

1: przez rezystor 150 Ohm do +5V 2: GND 3: LEDpin (wybrane wyjście cyfrowe, np. 3) 4: GND 5: ADCin (wejście analogowe inne niż 0 (już zajęte przez klawiaturę)) 6: +5V

Dodatkowo między 1 a GND: kondensator 220 uF.

Program włącza diodę i po 280 mikrosekundach mierzy napięcie na wyjściu 5 podłączonym do ADCin. Potem wyłącza diodę. Przelicza napięcie na stężenie pyłu wg wykresu w dokumentacji czujnika. Czujnik ma zakres do 500 ug/m3, co odpowiada napięciu 3.5 V. Powyżej tej wartości następuje nasycenie, a program wyświetla wynik "999".

Program uśrednia 10 kolejnych pomiarów. Dlatego po włączeniu przez kilka sekund wynikiem jest 0, dopiero później pojawiają się właściwe wartości.

W drugiej linijce wyświetlana jest wartość z przetwornika A/C oraz wyliczone na tej podstawie napięcie.

Piotr Fabian, 2017-02-17

Obsługa LCD: wg Mark Bramwell Fragment obsługi czujnika: wg WaveShare (czas 280 us)

********************************************************/

#include <LiquidCrystal.h>

// Wyjścia używane przez wyświetlacz 16*2 "LCD shield" LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

#define REF_VOLTAGE 5.0 /* V */

/* Porty I/O */ const int LEDpin = 3; // Sterowanie LED czujnika const int ADCin = 2; // Wejście analogowe

float density, voltage; int adcval;

// wartości do obsługi klawiatury int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5

// odczyt klawiatury int read_LCD_buttons() { adc_key_in = analogRead(0); // czytamy wejście analogowe if (adc_key_in > 1000) return btnNONE; // brak klawisza /* // For V1.1 us this threshold

if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT;

*/ // For V1.0 comment the other threshold and use the one below:

if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT;

return btnNONE; }

/* Filtrowanie: średnia krocząca */ int filterpf(int m) { #define bfsize 10 static int buf[bfsize]; static int flag_first=1; static int idx=0; static int sum=0; int i; if (flag_first==1) { for(i=0;i<bfsize;i++) buf[i]=0; sum=0; flag_first=0; } sum-=buf[idx]; buf[idx]=m; sum+=m; idx++; if (idx>=bfsize) idx=0; return sum / bfsize; }

void setup(void) { pinMode(LEDpin, OUTPUT); digitalWrite(LEDpin, HIGH); // LEDpin: wyłączamy diodę

lcd.begin(16, 2); // włączamy obsługę LCD lcd.setCursor(0,0); }

int key;

void loop(void) {

#if 0

/* Fragment testujący diodę czujnika */ /* (dioda widoczna przez kamery i aparaty */ /* cyfrowe ze słabym filtrem IR) */ /* Dioda włączana jest klawiszem SELECT */

key = read_LCD_buttons(); lcd.setCursor(0,0); if (key==btnSELECT) { lcd.print("ON "); digitalWrite(LEDpin, LOW); } else { lcd.print("OFF"); digitalWrite(LEDpin, HIGH); }

#else digitalWrite(LEDpin, LOW); // ??? odwrotnie niż w przykładach?

delayMicroseconds(280); adcval = analogRead(ADCin); digitalWrite(LEDpin, HIGH);

lcd.setCursor(0,1); lcd.print(" "); lcd.print(adcval); lcd.print(" "); voltage = (REF_VOLTAGE / 1024.0) * adcval; lcd.print(voltage); lcd.print("V ");

adcval = filterpf(adcval); voltage = (REF_VOLTAGE / 1024.0) * adcval;

// Wg dokumentacji stężenie pyłu w ug/m3 // jest równe w przybliżeniu // 175*voltage-114 // Powyżej voltage>3.5V nasycenie, ze stężeniem pyłu powyżej 500 ug/m3 // PF, 2017-02-16 density = 175*voltage-114; if (density<0) density=0; if (voltage>3.5) density=999; // poza zakresem czujnika

/* wyświetlamy wyniki */ lcd.setCursor(0,0); lcd.print((int)density); lcd.print(" ug/m3"); lcd.print(" "); delay(500);

#endif }

Reply to
Piotrne
Loading thread data ...

W dniu 2017-02-17 o 01:12, Piotrne pisze:

Tu jest opisany ten czujnik:

formatting link
Natomiast co do sensowności pomiarów za jego pomocą to już sprawa dyskusyjna. Coś mierzy, ale co? Stacje podają dla PM2.5 oraz PM10 bo cząstki tej wielkości potrafią już przeniknąć do krwiobiegu. A z tego czujnika masz informację, że dymi i tyle. Mgłę pewnie też wykrywa ;-)

Pozdrawiam

Reply to
Krzysiek

W dniu 2017-02-17 o 08:13, Krzysiek pisze:

Widziałem to. To jest opis sprzedawanego w sklepie Elty.pl modułu, który względem kupionego na ebay-y czujnika z dostarczanymi luzem rezystorem i kondensatorem jest wzbogacony o płytkę drukowaną, na której wszystkie te elementy (czujnik, rezystor, kondensator) są zainstalowane. Ale kosztuje 53 złote zamiast 4$, więc jednak te dwa elementy sam przylutowałem.

Być może ten moduł coś jeszcze ma, bo program na stronie

formatting link
włącza diodę stanem wysokim, a wyłącza niskim. A normalnie jest odwrotnie. Piszą też coś o dzielniku napięcia w tym module, przez który trzeba wynik mnożyć przez 11 - ale zmniejsza to rozdzielczość pomiaru. Pokazane wyniki pomiarów wyglądają chaotycznie - kolejne pomiary różnią się nawet o 50%. Czujnik który mam też nie daje zbyt stabilnych wyników, ale aż takich wahań nie ma.

Sprawdzę, czy da się jakoś zwiększyć zakres pomiarowy. Może przez krótsze błyśnięcie diodą. Teraz dioda włączana jest na 280 mikrosekund, potem mierzone jest napięcie na wyjściu analogowym, potem dioda jest wyłączana. W Arduino sam pomiar trwa około 100 mikrosekund, co może trochę zaburzać odmierzanie czasu.

Sprawdziłem kilka rzeczy: wyłączenie diody przed pomiarem też daje właściwe wyniki. Skrócenie błysku daje niższe wartości - to może umożliwić rozszerzenie zakresu, ale konieczna jest kalibracja. Z kolei znaczne wydłużenie błysku daje wynik zerowy.

Przy okazji obejrzałem sklep Elty.pl. To właściwie jest polski sklep, czy automatycznie tworzona wersja sklepu spoza Polski? Mają np. gotowe, amatorskie frezarki CNC. Ale opis jest bardzo dziwny, np.: "śruba: Profesjonalne T8 screw, ołów 4mm, pokój miedzi nuts eliminując histerezy".

P.

Reply to
Piotrne

W dniu 2017-02-17 o 08:13, Krzysiek pisze:

Mierzy, ile światła odbijają cząstki zawieszone w powietrzu. Dioda podczerwona świeci na czarne tło i z boku ogląda się, czy na tym tle widać jakieś latające śmieci. Gęstość pyłu szacuje się na podstawie ilości odbitego światła.

Stacja w Gliwicach podaje PM2.5 i PM10, ale te dwie wartości są zawsze prawie jednakowe (różnica kilku procent).

Nie powinien, bo świeci w podczerwieni - mgła powinna to przepuszczać.

Czujnik zadziwiająco szybko reaguje na zmianę otoczenia. Wystarczy wystawić za okno i po około dwóch sekundach wykrywa, że powietrze jest brudne. Tak samo szybko reaguje na powrót do nieco czystszego powietrza w mieszkaniu.

Eksperymentalnie sprawdziłem, że skrócenie czasu błysku z 280us do 140us powoduje zmniejszenie wyjściowego napięcia 1.32 razy. Daje to możliwość rozszerzenia zakresu pomiarowego do około 700 ug/m3. Krótsze czasy błysku dają niestabilne wyniki.

Wyniki pomiarów na razie zgadzają się z dokładnością ok. 20% z tym, co podaje stacja WIOŚ. Sprawdzę, co będzie przy większym smogu. A może być wielki:

formatting link

P.

Reply to
Piotrne

Na tej zasadzie dzialaja detektory dymu w domowyc czujnikach dymu. Marketowa cena takiego czujnika to 19 zlotych. Kto wie czy jak by takiemu detektorowi zapodac inne parametry pracy to by sie czulszy nie zrobil. Caly czas pozostaje pytanie po co samemu to mierzyc skoro wyniki pomiarow mam w necie. Na dodatek robione sa o kilka klas lepszymi urzadzeniami pomiarowymi.

Reply to
Zenek Kapelinder

W dniu 18.02.2017 o 01:37, Piotrne pisze:

Policz co to znaczy stężenie PM10 np. 100ug/m3. Tzn policz ile cząstek pyłu jest m3 oraz ile ich jest niewielkiej komorze pomiarowej czujnika. Dla uproszczenia możesz przyjąć, że pył to jednakowe kulki sadzy o gęstości 2g/cm3.

Możesz doczepić rezystor ogrzewający powietrze w komorze pomiarowej. Kropelki wody wyparują.

Paweł

Reply to
Pawel

Zaobserwowałeś różnicę wskazań wewnątrz i na zewnątrz. Może to być to spowodowane zarówno różnicą w czystości powietrza jak i innymi czynnikami np. inną temperaturą. Umieść czujnik na zewnątrz i ogrzej suszarką do włosów powietrze do niego wpadające.

Paweł

Reply to
Pawel

Zenek Kapelinder pisze: [..]

Z paru powodów:

  1. bo można
  2. bo nie ufam tym z neta
  3. żeby sprawdzić czy słusznie im nie ufam

Aczkolwiek jak nie ma filtra coby mierzyć tylko to co trzeba to o kant dupy takie pomiary.

Reply to
AlexY

W dniu 2017-02-18 o 11:32, Pawel pisze:

Jeśli się nie pomyliłem, to wychodzi około jeden pyłek PM10 na 10 cm3. Dla PM2.5 około 6 pyłków na 1 cm3.

Też wydawało mi się dziwne, że takie ilości można optycznie wykryć. Ale w końcu widzę też w pokoju promień wskaźnika laserowego - tylko dzięki tym pyłkom.

Stacje pomiarowe pewnie zasysają powietrze i sprawdzają, co zostało na filtrach. Ale raczej nie odróżniają tego, co tam właściwie się przylepiło.

Piotr

Reply to
Piotrne

Ciekawe w jaki sposob wyskalujesz zeby byc pewnym ze Twoj pokazuje dobrze. Zle wyskalowany przyrzad pomiarowy jest gorszy niz jego brak. Mowili w tv jak to profesjonalnie robia. Przepuszczaja okreslona ilosc powietrza przez dwa filtry. Pierwszy zatrzymuje powyzej 10 drugi 2,5. Potem waza. Oczami wyobrazni widze jak ktos w domu zwazy to co osiadlo na filtrach. Budowanie wykrywacza smogu w domu to jedna z wielu bzdur jakimi zajmuje sie ta grupa.

Reply to
Zenek Kapelinder

W dniu 18.02.2017 o 16:01, Piotrne pisze:

Wielkość komory pomiarowej w czujniku jaki zastosowałeś to chyba znacznie mniej niż 1 cm3. Ile jest więc tam pyłków PM10 ?

Rozróżniają. Filtry mają różne oczka.

W przypadku metody optycznej jest znacznie trudniej. Jak sam policzyłeś dla malej komory jeden pomiar w praktyce może wykazać obecność dużej cząstki lub jej brak. Prawdopodobnie z tego powodu tak znacząco różnią się kolejne wyniki. Zastanawiałem się czy nie lepiej będzie zliczać wykryte cząstki. Znając wielkość komory pomiarowej wynik można przeliczyć na rzeczywistą koncentrację.

Paweł

Reply to
Pawel

Zenek Kapelinder pisze:

To się nie zajmuj. Nikt nie zmusza.

Reply to
AlexY

Jak lubisz Alex puszczac pare w gwizdek a nie w kola to wymysl sposob na wyskalowanie takiego zrobionego dla satysfakcji miernika smogu. Nie da sie zrobic w warunkach domowych miernika smogu bo nie da sie go wyskalowac.

Reply to
Zenek Kapelinder

Zenek Kapelinder pisze:

To że Ty czy ja nie potrafimy tego zrobić w warunkach domowych nie znaczy że się nie da. Przyjdzie tu zaraz taki który nie wie że się nie da i to zrobi. Gdybym miał robić taki miernik zacząłbym od filtra mechanicznego, bo to zdaje się największy problem.

Reply to
AlexY

W dniu poniedziałek, 20 lutego 2017 00:26:50 UTC+1 użytkownik AlexY napisał:

Dobrze Waasc prawisz. Ja w Hameryce widziałem oczyszczacze powietrza. Taki stojący w pomieszczeniu i jeszcze do tego jonizujący powietrze. One dzialaja w nietypowy sposób. Wewnatrz jest generator wysokiego napięcia podlaczony do dwóch cienkich blaszek miedzianych, na ktorych elektrostatycznie osiadają te wszystkie pylki, sadze, kurze i co tam jeszcze. Co ciekwe, to ten przyrząd nie miał zadnego wentylatora a odczuwalo się przepływ powietrza. Te blaszki zaostrzone z jedej strony robily za emitery elektronow, czy jonow dodatnich, które porywaly za soba powietrze.

Była tam jeszcze lampa kwarcowa do uśmiercania bakterii i innych zaraz. Raz na kikka dni nalezalo przyrząd odwrocic do gory nogami by w ten sposób oczyscic z kurzu te blachy, na których osadzal się czarny kurz.

Taki przyrząd moznaby wykorzystac jako miernik tego smoga, którego za Gierka mimo spalania wegla jakos nie było. A teraz nagle się pojawil. Wystawic za okno i raz na dzień zebrac i zwazyc ten czarny osad. Albo okreslac stopien pokrycia tych elementow, na których on się osadza.

Przyrzad ten miał jakas wade fabryczna bo po roku wysiadal w nim ten generator wysokiego napięcia. Ale zasada pracy była ciekawa. Kosztowal około 140 dolarów. Zapewne w Polsce tez takie sa być może chinskie czy niemieckie, mniej zawodne. Pzdr Tornad

Reply to
tadeuszwajda0

Czterdziesci lat temu w obudowie od farelki byly takie cuda tutaj produkowane, chociaz w sklepie nigdy nie widzialem. W prasie technicznej byly opisane w radioamatorze i krotkofalowcu. Z wysypywaniem czarnego mozesz sobie darowac bo bylo opisane ze zanieczyszczenia cementuja sie na elektrodach plaskich i na mokro i mechanicznie nalezalo je czyscic. Metoda skalowania miernika majacego pokazywac aktualne dane na zawartosc czynnika ktory przez tydzien sie gdzies zbieral i w sytuacji w ktorej jego zawartosc jest przypadkowa w roznych miejscach jest smieszna. Dalej mozecie sie wykazywac sztuczna inteligencja.

Reply to
Zenek Kapelinder

W dniu poniedziałek, 20 lutego 2017 10:29:14 UTC+1 użytkownik Zenek Kapelinder napisał:

Ja ze dwadziescia lat temu ogladalem kabaret z udzialem Smolenia. On z sąsiadem wg przepisu z Mlodego Technika perszinga konstruowali...I jak go odpala to się tylko o jedno biurko pomylić mogą, taki celny miał być.

Z tym zmywaniem na mokto to przesada. Ja taki uszkodzony odswiezacz powietrza rozebrałem na kawałki i z tych blaszek czarny osad na sucho scieralem.

Dla mnie byłoby wystarczającym sprawdzianem komunikatow zastraszających gawiedz, ze poziom smogu przekroczyl poziom dopuszczalny, iles tam tysięcy razy. W Krakowie widziałem idiotow, którzy w te bzdury wierzyli i w białych maskach na pysku po ulicach chodzili. I jeździli tramwajami, które w te "katastrofalne" dni byly za darmo, co potegowalo ten niby stan totalnego zarozenia. Wtedy te blachy w tym filtrze powinny się pokryc gruba warstwa pylu a normalnie ledwo zauwazalna.

Nie bylby to scisly pomiar ilościowy ale potwierdzający zgrubnie te naciągane komunikaty, lub je obalający. Można kupic elektroniczne wagi jubilerskie ważące z dokladnosci i rozdzielczości 0.0001 grama. Zmniejszona widoczność np w Krakowie, spowodowana jest glownie zamgleniem a nie smogiem. Krakow lezy w dolinie w zakolu Wisly gdzie przy braku wiatrow często dochodzi do niewielkiego zamglenia a ono ze smogiem nie ma nic wspólnego. No i te maski na pyskach były nadal sniezno biale a na nich tez powinny się te krwiozercze drobiny smogu osadzac a tak nie tez było.

Pzdr Tornad

Reply to
tadeuszwajda0

formatting link

Reply to
Pcimol

snipped-for-privacy@gmail.com pisze: [..]

To co opisujesz produkuje również sporą ilość ozonu, a to już nie jest takie fajne dla organizmów żywych w tym człowieka.

Reply to
AlexY

Użytkownik "AlexY" snipped-for-privacy@irc.pl napisał w wiadomości news:o8fmnm$euq$ snipped-for-privacy@dont-email.me...

Fajna sprawa, blisko jest be, a daleko jest cacy... (dziura ozonowa, gdy brak... no...) Ale podobno odrobinka jest przydatna.

Reply to
HF5BS

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.