Skocz do zawartości

Prosty spektrofotometr WiFi DIY (XIAO + AS7341)


Pomocna odpowiedź

Napisano

Spektrofotometr to urządzenie pozwalające badać, jak próbka oddziałuje ze światłem o różnych długościach fali. W zależności od konstrukcji może ono mierzyć m.in. intensywność światła przechodzącego przez próbkę, a następnie wyznaczać jej przepuszczalność lub absorbancję.

IMG_1778.thumb.JPG.ace40326a2c01ed54c7cdca031f3dcb1.JPG

Tego typu pomiary znajdują zastosowanie między innymi w analizie roztworów. Przy odpowiednio przygotowanej kalibracji można na ich podstawie szacować stężenie określonej substancji. Nie trzeba przy tym ograniczać się wyłącznie do klasycznych roztworów barwnych. Spektrofotometry wykorzystuje się również do badania różnych substancji, w tym np. olejków eterycznych, o ile zastosowana metoda pomiarowa i zakres długości fal są odpowiednie dla konkretnej próbki.

W tym projekcie postanowiłem zbudować możliwie prosty spektrofotometr, który zamiast dedykowanej aplikacji komputerowej wykorzystuje interfejs WWW. Dzięki temu do obsługi urządzenia wystarczy telefon, tablet lub komputer wyposażony w przeglądarkę internetową. Projekt powstał w ramach współpracy z firmą Botland.

Oryginalna koncepcja

Pierwotny pomysł na urządzenie był nieco bardziej skomplikowany. Zamiast jednej diody LED chciałem zastosować tarczę z kilkoma diodami emitującymi światło o różnych długościach fali.

Tarcza miała być umieszczona na silniku krokowym. Obracając ją, można byłoby kolejno umieszczać poszczególne źródła światła na drodze optycznej urządzenia. Pozwoliłoby to wykonywać pomiary dla kilku konkretnych długości fali bez konieczności stosowania bardziej rozbudowanego układu optycznego.

Fusion360_9dKE1bnrbI.thumb.png.08b134f5b8d08b2fd0afb7593f450e87.png

Podczas testów pojawił się jednak dość prozaiczny problem. Przy wielokrotnym obracaniu tarczy przewody podłączone do diod były narażone na ciągłe zginanie i skręcanie. W efekcie nóżki diod regularnie się urywały.

Teoretycznie problem można rozwiązać za pomocą pierścienia ślizgowego, który pozwoliłby przekazywać zasilanie i sygnały do obracającej się części. Rozwiązanie to jednak znacząco skomplikowałoby zarówno mechanikę, jak i montaż urządzenia.

Ostatecznie zdecydowałem się więc odejść od ruchomej tarczy i wykorzystać jedną, wymienną diodę LED. Okazało się to znacznie prostszym rozwiązaniem, a jednocześnie wystarczającym do założeń projektu.

Komponenty i budowa

Mechaniczna część urządzenia składa się głównie z elementów wykonanych na drukarce 3D. Elektronika jest natomiast stosunkowo prosta. Za główną część sterującą odpowiada mikrokontroler ESP32-C6 umieszczony na płytce XIAO. Wybór takiego układu pozwolił nie tylko na obsługę czujnika i sterowanie pomiarem, ale przede wszystkim na wykorzystanie wbudowanego WiFi. Dzięki temu urządzenie nie potrzebuje osobnej aplikacji komputerowej. ESP32-C6 uruchamia własny punkt dostępowy i udostępnia prosty panel sterowania przez HTTP.

IMG_1779.thumb.JPG.5c4f3a6eee6d5138f6eac45d9be73121.JPG

Do oświetlania próbki wykorzystana została biała dioda LED. Nie jest ona jednak na stałe przylutowana do konstrukcji, a podłączona przewodami DuPont. Dodatkowo płytka służąca do jej zamocowania jest wyjmowana. Dzięki temu wymiana źródła światła jest bardzo prosta. Ma to również dodatkową zaletę eksperymentalną. W razie potrzeby można zamontować inną diodę i sprawdzić, jak zmieni się charakterystyka pomiarowa urządzenia. Możliwe jest więc eksperymentowanie z innymi źródłami światła bez przebudowy całego spektrofotometru.

Światło z diody przechodzi przez badaną próbkę umieszczoną w kuwecie. W projekcie wykorzystałem szklane kuwety zakupione od chińskiego sprzedawcy. Bez problemu można jednak znaleźć również kuwety dostępne w polskich sklepach.

W przypadku wersji wykonanych z polistyrenu trzeba jednak zwrócić uwagę na używany rozpuszczalnik. Nie każda kuweta z tworzywa będzie odporna chemicznie na wszystkie substancje, które chcielibyśmy w niej badać. W przypadku bardziej agresywnych rozpuszczalników szkło jest znacznie bezpieczniejszym wyborem.

Po przejściu przez próbkę światło trafia do czujnika AS7341 firmy Adafruit. Jest to interesujący element z punktu widzenia tego projektu, ponieważ nie jest zwykłym czujnikiem natężenia światła. Układ posiada wiele kanałów odpowiadających różnym zakresom widma. Wykorzystywany moduł pozwala uzyskać osiem kanałów światła widzialnego oraz dodatkowy kanał podczerwieni. Dzięki temu zamiast otrzymywać jedną wartość określającą całkowite natężenie światła, możemy obserwować jego rozkład w różnych zakresach. Jest to właśnie cecha, która pozwoliła zrezygnować z pierwotnego pomysłu z ruchomą tarczą diod.

Dlaczego nie dioda RGB?

Mógłby pojawić się pomysł, aby zamiast białej diody wykorzystać zwykłą diodę RGB sterowaną PWM i kolejno włączać jej kanał czerwony, zielony oraz niebieski. Problem polega na tym, że czujnik spektrofotometryczny również rozróżnia składowe światła.

„Białe” światło uzyskane z jednocześnie świecących kanałów RGB nie jest więc dla czujnika tym samym co widmo rzeczywiście emitowane przez białą diodę LED. W przypadku bardziej złożonych kolorów sytuacja staje się jeszcze mniej przewidywalna.

Przykładowo światło żółte uzyskane poprzez jednoczesne świecenie kanałów czerwonego i zielonego będzie dla czujnika kombinacją tych dwóch zakresów, a nie jednym niezależnym źródłem o charakterystyce odpowiadającej konkretnej diodzie. Z tego powodu w projekcie zastosowałem pojedyncze źródło białego światła i wielokanałowy sensor.

Jak działa pomiar?

Zasada działania urządzenia jest stosunkowo prosta.

Najpierw dioda oświetla kuwetę zawierającą badaną próbkę. Część światła zostaje pochłonięta przez znajdujące się w niej substancje, a pozostała część przechodzi przez próbkę i dociera do czujnika. Schematycznie wygląda to następująco: LED → kuweta z próbką → AS7341. Czujnik mierzy ilość światła docierającego w poszczególnych zakresach długości fal.

Szczególnie istotne jest wykonanie pomiaru referencyjnego. Zamiast od razu mierzyć badaną substancję, najpierw można umieścić w kuwecie czysty nośnik lub rozpuszczalnik i zapisać jego charakterystykę. Dzięki temu późniejszy pomiar można odnieść do warunków bazowych. W praktyce pozwala to ograniczyć wpływ samej kuwety, rozpuszczalnika oraz nierównomierności źródła światła.

Program

Oprogramowanie urządzenia zostało przygotowane dla ESP32-C6. Udostępnia ono interejs sieciowy, pod którym dostępny jest panel do wykonywania pomiarów i zmiany ustawień.

Jednym z istotnych parametrów jest wzmocnienie toru pomiarowego. W przeprowadzonych testach najlepiej sprawdzało się ustawienie 8×.

Nie jest to jednak wartość, którą należy traktować jako uniwersalną dla każdego pomiaru. Jeżeli sygnał jest zbyt duży, można doprowadzić do przekroczenia zakresu przetwornika ADC i uzyskać pomiar nasycony. W takim przypadku zwiększenie wzmocnienia nie poprawi dokładności – przeciwnie, część informacji zostanie utracona. Dlatego przed właściwymi pomiarami warto sprawdzić, czy wartości odczytywane przez sensor mieszczą się w jego użytecznym zakresie.

Cały program dostępny jest w repozytorium. Raczej jest to dość prosta konstrukcja i nie ma co się nad nią rozwodzić.

Połączenie WiFi

Jedną z większych zalet projektu jest brak konieczności tworzenia osobnej aplikacji. Po uruchomieniu ESP32-C6 tworzy własną sieć WiFi: SSID: XIAO-Spectrophotometer Hasło: spectro123

Po połączeniu z nią należy otworzyć w przeglądarce:

http://192.168.4.1/

Pojawia się wtedy panel sterowania urządzeniem.

Takie rozwiązanie ma jeszcze jedną zaletę – do obsługi urządzenia można wykorzystać praktycznie dowolne urządzenie z WiFi i przeglądarką. Nie trzeba instalować sterowników ani specjalnego programu.

Pomiar charakterystyki

Po połączeniu z urządzeniem otwieramy panel WWW. Przed rozpoczęciem właściwych pomiarów warto wykonać pomiar wzorca.

diode_transmittance.thumb.png.e839c08e07742f5478ffe7a2befa2020.pngdiode_raw.thumb.png.c149f26e1e84a6a9751170e8ce318152.png

Przepuszczalność i surowa charakterystyka diody pracującej w urządzeniu...
brak ruchomej tarczy z kilkoma rodzajami diod jest nieco problematyczny

W kuwecie umieszczamy wtedy czysty roztwór nośnika lub zastosowany rozpuszczalnik. Jeżeli w późniejszych pomiarach wykorzystujemy tę samą kuwetę, możemy w ten sposób uwzględnić również jej wpływ. Po wykonaniu pomiaru referencyjnego można przejść do badanej próbki.

Warto również zwrócić uwagę na ustawienie wzmocnienia czujnika. Dla mojego układu dobrze sprawdzało się 8×, jednak odpowiednia wartość zależy od konkretnego źródła światła, geometrii urządzenia oraz badanej próbki.

Zbyt duże wzmocnienie może doprowadzić do nasycenia toru pomiarowego. Z kolei zbyt małe może powodować, że interesujące nas różnice będą stanowiły niewielką część dostępnego zakresu pomiarowego.

Warto pamiętać, że przedstawiona charakterystyka jest przede wszystkim wynikiem konkretnego układu optycznego. Na pomiar wpływa źródło światła, geometria obudowy, kuweta, jej położenie oraz właściwości badanego materiału.

Nie należy więc traktować takiego urządzenia jako automatycznego zamiennika profesjonalnego spektrofotometru laboratoryjnego. Jest ono natomiast bardzo ciekawą platformą do wykonywania powtarzalnych pomiarów względnych i budowania własnych metod kalibracji.

greensoap_transmittance.thumb.png.c964a8686c21082fc80907b45f42de64.pnggreensoap_raw.thumb.png.e6ad2d6162418a7a2729fb3fe7d42cde.png

Charakterystyka przepuszczalności i surowe dane dla zielonego mydła

Pomiar stężenia

Jedną z ciekawszych funkcji projektu jest możliwość wykorzystania urządzenia do szacowania stężenia roztworu. W tym przypadku potrzebujemy próbek o znanym stężeniu. Mogą to być np. roztwory przygotowane wcześniej z odpowiednio odważonych ilości substancji.

W panelu wpisujemy znane stężenie i wykonujemy pomiar próbki. Po zebraniu odpowiedniej liczby punktów urządzenie może wykorzystać je do wyznaczenia przybliżonego stężenia nieznanej próbki.

W obecnej wersji do uruchomienia estymacji potrzebne są co najmniej trzy zarejestrowane próbki kalibracyjne. Jest to oczywiście estymacja, a nie bezpośredni pomiar stężenia. Jej dokładność zależy między innymi od jakości próbek kalibracyjnych oraz tego, czy zachowana jest zależność pomiędzy mierzoną charakterystyką a stężeniem.

Z tego powodu najlepiej przygotować kilka próbek obejmujących zakres stężeń, w którym później chcemy pracować.

Eksport i import danych

Aby nie trzeba było tworzyć tabeli kalibracyjnej od początku przy każdym uruchomieniu, projekt pozwala również eksportować i importować dane.

Możemy więc przygotować zestaw próbek kalibracyjnych, zapisać tabelę, a następnie wykorzystać ją ponownie.

Jest to szczególnie przydatne, jeżeli urządzenie ma być wykorzystywane do konkretnego rodzaju pomiarów, dla którego raz przygotowana kalibracja będzie później wielokrotnie używana.

Co dalej?

Pierwotna wersja projektu miała być znacznie bardziej skomplikowana mechanicznie. Można oczywiście wrócić do tego pomysłu i rozbudować urządzenie o obrotową tarczę z diodami.

IMG_1777.thumb.JPG.3e96003ad0d302cb411e8eaead10cb6b.JPG

W takim przypadku przydałby się jednak odpowiedni sposób prowadzenia przewodów, np. pierścień ślizgowy. Pozwoliłoby to uniknąć problemu urywających się przewodów, który pojawił się podczas pierwszych testów.

Innym kierunkiem rozwoju byłoby dodanie lokalnego ekranu i sterowania bezpośrednio z urządzenia. Można byłoby wykorzystać np. Arduino Uno Q z odpowiednim wyświetlaczem i zrezygnować z konieczności korzystania z telefonu lub komputera.

W praktyce szybko okazało się jednak, że nie są to funkcje szczególnie potrzebne w tym projekcie. Interfejs WWW ma tę zaletę, że urządzenie jest bardzo proste w obsłudze, a jednocześnie pozwala wygodnie prezentować wykresy i tabele, które na małym ekranie byłyby znacznie mniej czytelne.

Podsumowanie

Budując ten spektrofotometr zakładałem zastosowanie do pomiaru stężenia roztworów, dlatego początkowo chciałem stworzyć urządzenie możliwie rozbudowane – z ruchomą tarczą diod, mechanizmem krokowym i bardziej rozbudowaną konstrukcją.

Podczas budowy okazało się jednak, że część tych pomysłów bardziej komplikuje urządzenie, niż faktycznie poprawia jego użyteczność.

Ostateczna konstrukcja jest znacznie prostsza. ESP32-C6 zajmuje się obsługą pomiarów i udostępnia panel przez WiFi, wymienna dioda zapewnia źródło światła, a wielokanałowy AS7341 pozwala obserwować kilka zakresów widma jednocześnie.

Największą zaletą takiego rozwiązania jest chyba właśnie jego prostota. Nie trzeba instalować specjalnego programu, podłączać urządzenia do komputera ani stosować skomplikowanej mechaniki. Wystarczy włączyć spektrofotometr, połączyć się z jego siecią WiFi i otworzyć stronę WWW.

Teoretycznie projekt można więc jeszcze znacznie rozbudować, ale w tym przypadku doszedłem do wniosku, że nie zawsze bardziej skomplikowane urządzenie będzie lepszym urządzeniem. Jeżeli prostsza konstrukcja spełnia wszystkie założenia, dodatkowe elementy często są po prostu zbędne.

  • Lubię! 1

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...