


Jako, że w wolnych chwilach zajmuję się modelarstwem oraz że jakiś czas temu znalazłem w szufladzie walające się czujniki IR z Ardupilota (autopilota), kopia sensora FMA, postanowiłem je w jakiś sposób zagospodarować. Tu jest opis takich sensorów.
http://paparazzi.enac.fr/wiki/Other_Infrared_Sensors
Teraz z racji stosowania żyroskopów i akcelerometrów w jednostkach IMU (immersion unit), tego typu rozwiązań optycznych do odczytu położenia już się nie stosuje. Pomysł więc zasadniczo był jednoznaczny.
Jak wiadomo - czujnik widzi temperaturę, więc można by tę właściwość wykorzystać, aby stworzyć obraz termiczny otoczenia. Nie będę wspominał, że tego typu czujnik się do tego zasadniczo nie nadaje, ale uznałem, że warto by porobić eksperymenty w tym kierunku.
Konstrukcja zatem byłaby bardzo prosta, mikrokontroler sterujący dwoma silnikami krokowymi w osi X i Y oraz do odczytu analogowego wyjścia “termopila” wejście ADC. Potem przekaz danych do komputera PC i odtworzenie tego na ekranie w postaci obrazka.
Złożyłem na szybko prototyp mechanicznego skanera osi X i Y, dołożyłem płytkę prototypową z mikrokontrolerem do sterowania sterowników silników krokowych. Silniki krokowe z przekładniami, pracując w trybie 1-2 zapewniały 1024 kroki na 90 stopni kąta obrotu, czyli zasadniczo bardzo dużą dokładność jak na takie zastosowanie.
Napisanie programu na mikrokontroler było łatwiejszą częścią zadania. Dane z mikrokontrolera przesyłane do peceta za pomocą kabelka USB.
Pozostało tylko napisać programik na PC, aby dane odbierał i formował z nich obrazek, szkielet programiku powstał bardzo szybko, na razie tylko pokazując obraz czarno-biały.
Jak wiadomo - czujnik ma FOV, czyli field of view 90 lub 120 stopni, trzeba było go zredukować do około 5-10 stopni na początek.
Ponieważ nie dysponuje soczewkami na pasmo podczerwone, a takie soczewki byłyby najlepsze, musiałem w inny sposób pokonać ten problem i dorobić urządzeniu “optykę” redukującą 90 stopni do około 10 stopni. Aby skompensować wyraźny spadek czułości sensora, potrzebna była mała przeróbka wzmacniacza, który standardowo dodawany był do Z sensora czujnika położenia autopilota. Do prototypu zastosowałem płytkę z sensora z usuniętym jedynym czujnikiem “termopilem” (normalnie są dwa) i przerobionym/zmodyfikowanym wzmacniaczem sygnału.
Ostatnią kwestią było zapewnienie izotermiczności całego układu pomiarowego, aby usunąć wpływ temperatury samego układu wykonawczego oraz zapewnić stały odczyt promieniowania tła, styropian jest wręcz idealny do tego celu.


Pozostało tylko znaleźć cieplejszy obiekt i przeprowadzić próbne skanowanie, na początek był to mój synek. Pierwszy obraz nie był doskonały, ale jednak idea sprawdziła się w praktyce, bo coś tam było widać, z wyraźnym naciskiem na “coś tam”- jest to na załączonym obrazku:

Okazuje się że czujnik ma swoją bezwładność i trzeba było to również skompensować za pomocą cofnięcia poszczególnych pikseli linii obrazu względem siebie, dodałem zatem odpowiednią kontrolkę w programie, tym sposobem obraz od razu się poprawił. Uznałem też, że rozdzielczość skanowania 40x30 będzie wystarczająca do eksperymentów. Takie skanowanie zajmuje około 1':40'', czyli prawie dwie minuty. Nie jest to ani krótko, ani długo jak na taki prototyp.
Tu konkretnie małżonka, trochę niepodobna, ale to nic


Następny etap to dodanie koloru, efekt był coraz lepszy.
To ja patrzący spode łba


Oto przykład obrazu kominka, szału nie ma, jak widać, ale “jakiś” zarys kominka jest.




Z powyższych obrazków widać cały problem, że ciągle kąt widzenia czujnika jest za szeroki, należałoby go jeszcze zawęzić.
Mam w domu chiński tani pirometr i jego kąt widzenia to 5 stopni, to bardzo dobry wynik, soczewkę ma zrobioną z białego plastiku, takiego samego jak na czujnikach ruchu IR. Niestety soczewek nie posiadam.
Tak czy siak, trzeba próbować poprawić optykę w prototypie. I znowu się udało, kolejne polepszenie obrazu i zarys szczegółów kominka - jego cieplejszych miejsc.
Niewątpliwie następnym przydatnym krokiem byłaby interpolacja, zatem pojawiła się następna kontrolka w programie - “interpolacja”.




Do tej pory rezultaty są bardzo zachęcające, zwłaszcza że koszty w porównaniu do rezultatów wydają się być znikome.
Krótki filmik prezentujący możliwości prototypowego programu - wrzucę, jak będzie gotowy.
EDIT - filmik juz gotowy
Na przyszłość pozostaje zdobycie czujnika o większej czułości i kącie widzenia 2-5 stopni, a efekty powinny być wyśmienite, przy naprawdę niskich kosztach (okolice 250zł).
Lub zdobycie soczewek pracujących w paśmie podczerwonym i stosowanie dotychczasowego czujnika, bo szkło jak wiadomo odpada, podczerwień tłumi maksymalnie - nic nie przepuszcza, soczewki szklane niestety odpadają.
Może ktoś ma takie soczewki dla pasma IR albo ma dojścia do takowych? Mogą być plastikowe Fernsela.
Kwestie termowizji okazały się na tyle ciekawe, że w międzyczasie zakupiłem prawdziwą kamerę termowizyjną Flir i7. Ta ma sensor 140x140 i obraz też jest interpolowany.
Tak wygląda ten sam kominek w tej kamerze.

Jak widać z porównania, jakość obrazu jest wprost proporcjonalna do kosztów urządzenia

Po zakupie kamery zapał mi trochę opadł do projektu, ale myślę, że to nie koniec i będzie dalszy ciąg domowej taniej termowizji.
Do zrobienia pomiar emisyjności tła dla prawidłowego oszacowania temperatury przy założeniu współczynnika emisyjności dla danego materiału.
Wtedy można by rozbudować edytor o analizę temperaturową poszczególnych punktów obrazu.
Cool? Ranking DIY