Układ pomiarowy nawet, kiedy wydaje się, że jest najlepszy, najszybszy, najdokładniejszy to i tak może nie dać dobrych wyników. Analiza pomiarów słonecznego światła ultrafioletowego (UV) wykazała duży wpływ chmur wysokich. Białe wysokie chmury powodują wzrost wskazań czujnika UV. Przyczyn może być wiele ale ja założyłem, że jest to wpływ światła widzialnego odbitego od chmur bo nie ma sond idealnych mimo zapewnień producenta, że takie produkuje. Zakres czułości detektora ultrafioletu jest szerszy niż 240-370 nm i pewnie mierzy też światło widzialne.
Oczekiwany efekt odejmowania światła od UV a dokładniej zmniejszanie wskazań UV o wskazania czujnika światła widzialnego, nie nastąpił od razu. Wiele pogodnych i pochmurnych dni pomiarów nie potwierdzały tej koncepcji. Kluczem okazał się pomysł aby czujnik światła zabezpieczyć filtrem UV.

Pomiary bezchmurnego nieba, jakie było do godzin południowych. Potem pojawiły się białe wysokie chmury, które spowodowały nienaturalnie duży wpływ na pomiar UV. Wykres pokazuje działanie tych chmur, które odbijają światło.
W celu przetestowania, że czujnik UV mierzy też światło widzialne umieściłem obok siebie dwa czujniki:
- analogowy czujnik UV
- analogowy czujnik światła widzialnego, zabezpieczony filtrem UV z okularów przeciwsłonecznych
Czujnik światła widzialnego mierzy bardzo podobnie jak sonda UV ale efekt oświetlenia od „białych” chmur jest większy.

Zakładając addytywność promieni UV i świetlnych wykonamy na tych pomiarach matematyczną operację odejmowania. Od wartości pomiarowych ultrafioletu odejmiemy pomiary światła.
Wynik odejmowania (UV-Lux)

Fioletowy wykres światła widzialnego w celu zsumowania z wykresem UV został odwrócony przez pomnożenie przez minus jeden ( tak musiałem zrobić bo dysponuję programem, który potrafi tylko dodawać wykresy ). Wynikowy zielony wykres jest celowo obniżony aby łatwiej ocenić przebieg wykresu. Uzyskano oczekiwane znaczące obniżenie wpływu światła widzialnego na wartości UV.
Inny czujnik inne miejsce
Pomiary w „pełnym słońcu” pokazują, że tu działanie chmur jest inne.
Pomiar wykonany czujnikiem, który jest skierowany w kierunku Słońca pokazuje, że chmury zmniejszają sygnał sondy UV dlatego tu nie ma konieczności ani potrzeby odejmowania „światła”.

- Chmury ciemne i niskie zawsze zmniejszają nawet do zera moc promieni UV
- Chmury wysokie zmniejszają moc UV, kiedy są na drodze między słońcem a sondą promieni UV.
- Wpływ wysokich białych chmur jest różny ale w warunkach moich pomiarów znacznie zwiększały wskazania detektorów UV.
Temat został sfinalizowany i działa pod tym linkiem.
Jak to zrobiłem ?
Proces tworzenia wykresu ( Wykres.php ) oraz sumowania dawki (DawkiUV.php) polega na wykonywaniu prostych działań rachunkowych bez naruszania surowych danych pomiarowych w tabelach bazy danych. Wejściowe dane to kolumny: UVmax i maxLux.
- UVmax, ta kolumna zawiera wartości maksymalne surowych odczytów czujnika co 20 sekund w okresie 15 minut, wartości są w zakresie od 142 do 4096.
- Lux, to średnie odczyty detektora światła widzialnego, które są wykonywane co 20 sekund i uśredniane w okresie 15 minut i są to wartości w zakresie od 0 do 4096
- maxLux, to maksymalne wartości odczytów detektora światła widzialnego, które są wykonywane co 20 sekund w okresie 15 minut
Wynikowe wartości indeksu UV są wynikiem odejmowania UV-Lux a dokładniej:
liczba 142 jest stałą związaną z ADC ESP gdzie pomiar zaczyna się od 142.

Współczynnik wsp1 normalizuje Lux do wartości górnego zaznaczonego piku. Drugi współczynnik wsp2 kalibruje wynik do wartości cUVi ( centy UVi ).
Posiadając kilkumiesięczne dane pomiarowe UVmax i Lux możliwe było przetestowanie opisanej procedury. Wynik testów weryfikacyjnych wypadł pomyślnie.

Pomiary z 9 kwietnia 2025 dobrze ilustrują skuteczność odejmowania sygnału pochodzącego od światła widzialnego. Zastosowane współczynniki to:
- wsp1=2
- wsp2=3
inny przykład inne jeszcze niedopracowane „złe” współczynniki

Szary wykres jest surowym pomiarem UV a zielony wykres jest pomiarem UV po odjęciu światła widzialnego
W dniu 16 kwietnia 2025 roku niebo było z chmurkami co dało bardzo skomplikowane przebiegi pomiarów UV i Lux ale w wyniku odejmowania światła z ultrafioletu otrzymany pomiar UV jest elegancki ale czy prawdziwy ?

Wyjątki
Nie zawsze wynik odejmowania jest w oczekiwanym zakresie. Bywa, że odbicie promieni słonecznych nawet z oddalonego okna sąsiada spowoduje nieoczekiwane „piki” lub wynikowe wartości ujemne.
SQL umożliwia warunkowanie. Funkcja IF() pozwala sprawdzić wynikowe UV. UV nie powinno być mniejsze od zera: SELECT IF(V<0, -888, UV); jak mniejsze od zera to UV wynikowe ustalamy zero lub -888 a jak UV większe od zera to akceptujemy niezmienione UV
Wartość -888 jest wskaźnikiem braku pomiaru i jest pomijana w czasie analizy i prezentowania na wykresie.
end.

tak było 10 kwietnia 2025 roku
Obliczanie średniej
Skrypt ZapisAvgMax ma parametr pod nazwą mnoznik (M) dla określenia stopnia uśrednień.
mnoznik=2; // od 0-999 jest to ilość do średniej minus jeden ( 2 to srednia z trzech a zero to bez uśredniania ) parametr ustawia wagę istniejącej wartości z poprzednich pomiarów

Algorytm jest taki:
kiedy jest już wartość to $suma=$wartosc*M+$nowawart;
kiedy nowy wpis w danym przedziale czasu to $suma=$wart*(M+1);
Średnia = $suma/($M+1)
Obliczanie średniej przy sumowaniu dawek (planowane)

Obliczanie pochodnej w wybranych punktach krzywej dawki „total” daje wygładzone wartości mocy dawki