Spisu treści:

Ekonomiczna kamera termowizyjna: 10 kroków
Ekonomiczna kamera termowizyjna: 10 kroków

Wideo: Ekonomiczna kamera termowizyjna: 10 kroków

Wideo: Ekonomiczna kamera termowizyjna: 10 kroków
Wideo: UTi712S kamera termowizyjna 120x90 Uni-t 2024, Listopad
Anonim
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
Ekonomiczna kamera termowizyjna
  • Opracowałem urządzenie, które można przymocować do drona i które może transmitować na żywo mieszaną ramkę wykonaną z obrazu termowizyjnego pokazującego promieniowanie cieplne i zwykłą fotografię w świetle widzialnym.
  • Platforma składa się z małego komputera jednopłytkowego, czujnika kamery termowizyjnej oraz zwykłego modułu kamery.
  • Celem tego projektu jest zbadanie możliwości taniej platformy termowizyjnej do wykrywania uszkodzeń w panelu słonecznym, który charakteryzuje się sygnaturami cieplnymi.

Kieszonkowe dzieci

  • Raspberry Pi 3B+
  • Panasonic AMG8833 siatka-oczko
  • Kamera Pi V2
  • Laptop z przeglądarką VNC

Krok 1: Rozwój PCB

Rozwój PCB
Rozwój PCB
Rozwój PCB
Rozwój PCB
Rozwój PCB
Rozwój PCB
  • Płytkę PCB dla czujnika siatkowego oka Panasonic można zaprojektować za pomocą programu Auto-desk EAGLE.
  • Plik.brd jest rozwijany podobnie do modułu Adafruit AMG8833 z niewielkimi modyfikacjami
  • Następnie PCB można wydrukować u producentów PCB, a ja skorzystałem z pcbway.com, gdzie moje pierwsze zamówienie było całkowicie bezpłatne.
  • Odkryłem, że lutowanie PCB było zupełnie inne niż lutowanie, które znałem, ponieważ dotyczyło urządzeń montowanych powierzchniowo, więc poszedłem do innego producenta PCB i zlutowałem swoją PCB z czujnikiem.

Krok 2: Rozwój oprogramowania

  • Kod jest napisany w Thonny, zintegrowanym środowisku programistycznym Pythona.
  • Procedura stojąca za projektem polegała na podłączeniu kamery pi i zainstalowaniu związanego z nią oprogramowania.
  • Następnym krokiem było podłączenie czujnika termicznego, aby poprawić piny GPIO i zainstalować bibliotekę Adafruit do wykorzystania czujnika.
  • Biblioteka Adafruit zawierała skrypt do odczytu czujnika i odwzorowywania temperatur na kolory, jednak ruchome obrazy, które stworzyła, nie mogły zostać zaimplementowane
  • Dlatego kod został przepisany do formatu obsługującego przetwarzanie obrazu, głównie w celu łączenia dwóch ramek.

Krok 3: Odczytywanie czujników

  • Do zbierania danych z kamery termowizyjnej wykorzystano bibliotekę ADAFRUIT, która pozwala na łatwe przeskakiwanie czujników za pomocą polecenia readpixels(), generując tablicę zawierającą temperatury w stopniach Celsjusza mierzone z oddzielnych elementów czujników.
  • W przypadku kamery Pi polecenie funkcyjne picamera.capture() generuje obraz w określonym formacie pliku wyjściowego
  • Aby umożliwić szybkie przetwarzanie, ustawiono niższą rozdzielczość na 500 x 500 pikseli

Krok 4: Konfiguracja czujnika termicznego

  • Najpierw musimy zainstalować bibliotekę Adafruit i pakiety Pythona
  • Otwórz wiersz polecenia i uruchom: sudo apt-get update, który zaktualizuje Cię Pi
  • Następnie wydaj polecenie: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
  • Następnie uruchom: git clone https://github.com/adafruit/Adafruit_Python_GPIO….który pobierze pakiet Adafruit do twojego Raspberry Pi
  • Przejdź do katalogu: cd Adafruit_Python_GPIO
  • I zainstaluj konfigurację, uruchamiając polecenie: sudo python setup.py install
  • Teraz zainstaluj scipy i pygame: sudo apt-get install -y python-scipy python-pygame
  • Na koniec zainstaluj bibliotekę kolorów, wydając polecenie: sudo pip install color Adafruit_AMG88xx

Krok 5: Włączanie interfejsu I2C

  • Wydaj polecenie: sudo raspi-config
  • Kliknij opcję Zaawansowane i wybierz I2C, a następnie włącz ją i wybierz Zakończ
  • Uruchom ponownie Pi, aby pomyślnie włączyć I2C
  • Upewnij się, że włączyłeś również interfejsy kamery i VNC

Krok 6: Okablowanie czujnika i kamery

  • Należy podłączyć tylko 4 piny AMG8833 do Pi i pozostawić pin IR.
  • Zasilanie 5V i uziemienie można podłączyć do pinów 1 i 6 GPIO
  • SDA i SCL są podłączone do pinów 4 i 5 Pi.
  • Zaloguj się do Raspberry przez ssh
  • uruchom: sudo i2cdetect -y 1
  • Powinieneś zobaczyć "69" w 9. kolumnie, jeśli nie, jest jakiś problem z okablowaniem czujnika z Pi.
  • Na koniec podłącz kamerę pi v2 do gniazda kamery w raspberry pi

Krok 7: Mapowanie ciepła

  • Wydaj polecenie: git clone
  • Przejdź do katalogu Adafruit_AMG88xx_python/examples
  • wydaj polecenie: sudo python Thermal_cam.py
  • Poniżej załączyłem kod do mapowania ciepła AMG8833.

Krok 8: Przetwarzanie obrazu

  • Mapowanie temperatury

    1. Aby zwizualizować dane termiczne, wartości temperatury są mapowane w gradiencie kolorów, od niebieskiego do czerwonego z wszystkimi innymi kolorami pomiędzy
    2. Po uruchomieniu czujnika najniższa temperatura jest odwzorowywana na 0 (niebieski), a najwyższa na 1023 (czerwony)
    3. Wszystkim pozostałym temperaturom pomiędzy nimi przypisywane są skorelowane wartości w przedziale
    4. Wyjście czujnika to macierz 1 x 64, której rozmiar zmienia się na matrycę.
  • Interpolacja
    1. Rozdzielczość czujnika termicznego jest dość niska, 8 x 8 pikseli, więc interpolacja sześcienna służy do zwiększenia rozdzielczości do 32 x 32, co daje 16-krotnie większą matrycę
    2. Interpolacja polega na konstruowaniu nowych punktów danych między zbiorem znanych punktów, jednak dokładność spada.
  • Liczby do obrazów

    1. Liczby z zakresu od 0 do 1023 w matrycy 32 x 32 są konwertowane na kod dziesiętny w modelu kolorów RGB.
    2. Z kodu dziesiętnego łatwo jest wygenerować obraz za pomocą funkcji z biblioteki SciPy
  • Zmiana rozmiaru z wygładzaniem

    1. Aby zmienić rozmiar obrazu 32 x 32 na 500 x 500, aby dopasować rozdzielczość kamery Pi, używany jest PIL (Biblioteka obrazów Pythona).
    2. Posiada filtr antyaliasingowy, który po powiększeniu wygładzi krawędzie między pikselami
  • Przezroczysta nakładka obrazu

    1. Obraz cyfrowy i obraz cieplny są następnie łączone w jeden obraz końcowy, dodając je z 50% przezroczystością każdy.
    2. Gdy obrazy z dwóch czujników znajdujących się w równoległej odległości są połączone, nie będą się całkowicie nakładać
    3. Wreszcie, minimalne i maksymalne pomiary temperatury AMG8833 są wyświetlane z nakładającym się tekstem na wyświetlaczu

Krok 9: Kod i pliki PCB

Poniżej załączam testowanie i ostateczny kod projektu

Krok 10: Wniosek

  • W ten sposób zbudowano kamerę termowizyjną z Raspberry Pi i AMG8833.
  • Ostatni film został osadzony w tym poście
  • Można zaobserwować, że temperatura zmienia się natychmiast, gdy zbliżam się do zapalniczki w pobliżu ustawienia, a płomień zapalniczki został dokładnie wykryty przez czujnik.
  • Dlatego ten projekt może być dalej rozwijany w celu wykrywania gorączki u osób wchodzących do pokoju, co będzie bardzo pomocne w kryzysie COVID19.

Zalecana: