Table des matières:

Caméra thermique économique : 10 étapes
Caméra thermique économique : 10 étapes

Vidéo: Caméra thermique économique : 10 étapes

Vidéo: Caméra thermique économique : 10 étapes
Vidéo: Ce smartphone a une caméra thermique d’une portée de 1Km 😱 2024, Juillet
Anonim
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
Caméra thermique économique
  • J'ai développé un appareil qui peut être attaché à un drone et peut diffuser en direct un cadre mixte composé de l'image thermographique montrant le rayonnement thermique et la photographie régulière avec la lumière visible.
  • La plate-forme se compose d'un petit ordinateur monocarte, d'un capteur de caméra thermique et d'un module de caméra standard.
  • Ce projet vise à examiner les possibilités d'une plate-forme d'imagerie thermique à faible coût pour détecter les dommages dans un panneau solaire caractérisé par des signatures thermiques.

Fournitures

  • Framboise Pi 3B+
  • Panasonic AMG8833 grille-oeil
  • Caméra Pi V2
  • Ordinateur portable avec visionneuse VNC

Étape 1: Développement de PCB

Développement de PCB
Développement de PCB
Développement de PCB
Développement de PCB
Développement de PCB
Développement de PCB
  • La carte PCB pour le capteur Grid-Eye de Panasonic peut être conçue à l'aide d'Auto-desk EAGLE.
  • Le fichier.brd est développé de manière similaire au module Adafruit AMG8833 avec de légères modifications
  • Ensuite, le PCB peut être imprimé avec les fabricants de PCB et j'ai utilisé pcbway.com, où ma première commande était totalement gratuite.
  • J'ai découvert que la soudure de PCB était complètement différente de la soudure que je connaissais car elle impliquait des dispositifs montés en surface, alors je suis allé chez un autre fabricant de PCB et j'ai soudé mon PCB avec le capteur.

Étape 2: Développement de logiciels

  • Le code est écrit en Thonny, un environnement de développement intégré Python.
  • La procédure derrière le projet consistait à connecter la caméra pi et à installer le logiciel associé.
  • L'étape suivante consistait à connecter le capteur thermique aux broches GPIO correctes et à installer la bibliothèque Adafruit pour utiliser le capteur.
  • La bibliothèque Adafruit contenait un script pour lire le capteur et mapper les températures aux couleurs, cependant, les images animées qu'elle créait n'ont pas pu être implémentées
  • Par conséquent, le code a été réécrit dans un format prenant en charge le traitement d'images, principalement pour fusionner deux images ensemble.

Étape 3: Lecture des capteurs

  • Pour collecter les données de la caméra thermique, la bibliothèque ADAFRUIT a été utilisée, ce qui permet de rassurer facilement les capteurs avec la commande readpixels(), générant un tableau contenant les températures en degrés Celsius mesurées à partir d'éléments séparés des capteurs.
  • Pour la caméra Pi, la commande de fonction picamera.capture() génère une image avec le format de fichier de sortie spécifié
  • Afin de s'adapter à un traitement rapide, une résolution inférieure a été définie à 500 x 500 pixels

Étape 4: Configuration du capteur thermique

  • Tout d'abord, nous devons installer la bibliothèque Adafruit et les packages python
  • Ouvrez l'invite de commande et exécutez: sudo apt-get update qui vous mettra à jour Pi
  • Ensuite, exécutez la commande: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
  • Ensuite, exécutez: git clone https://github.com/adafruit/Adafruit_Python_GPIO….qui téléchargera le package Adafruit sur votre Raspberry Pi
  • Déplacez-vous dans le répertoire: cd Adafruit_Python_GPIO
  • Et installez setup en exécutant la commande: sudo python setup.py install
  • Installez maintenant scipy et pygame: sudo apt-get install -y python-scipy python-pygame
  • Enfin, installez la bibliothèque de couleurs en exécutant la commande: sudo pip install color Adafruit_AMG88xx

Étape 5: Activation de l'interface I2C

  • Exécutez la commande: sudo raspi-config
  • Cliquez sur les options avancées et sélectionnez I2C, puis activez-le et sélectionnez Terminer
  • Redémarrez le Pi pour activer avec succès I2C
  • Assurez-vous que vous avez également activé les interfaces Caméra et VNC

Étape 6: Câblage du capteur et de la caméra

  • Vous ne devez connecter que 4 broches de l'AMG8833 à Pi et laisser la broche IR.
  • L'alimentation 5V et la terre peuvent être connectées aux broches GPIO 1 et 6
  • SDA et SCL sont câblés aux broches 4 et 5 du Pi.
  • Connectez-vous à framboise avec ssh
  • exécuter: sudo i2cdetect -y 1
  • Vous devriez voir "69" sur la 9ème colonne sinon il y a un problème dans le câblage du capteur avec Pi.
  • Enfin, connectez la caméra pi v2 à l'emplacement de la caméra dans le raspberry pi

Étape 7: Cartographie de la chaleur

  • Lancez la commande: git clone
  • Déplacez-vous dans le répertoire Adafruit_AMG88xx_python/examples
  • lancez la commande: sudo python thermal_cam.py
  • J'ai joint le code pour la cartographie thermique AMG8833 ci-dessous.

Étape 8: Traitement de l'image

  • Cartographie de la température

    1. Pour visualiser les données thermiques, les valeurs de température sont mappées dans un dégradé de couleurs, allant du bleu au rouge avec toutes les autres couleurs entre les deux
    2. Lorsque le capteur est lancé, la température la plus basse est mappée à 0 (bleu) et la température la plus élevée à 1023 (rouge)
    3. Toutes les autres températures intermédiaires se voient attribuer des valeurs corrélées dans l'intervalle
    4. La sortie du capteur est un tableau de 1 x 64 qui est redimensionné en une matrice.
  • Interpolation

    1. La résolution du capteur thermique est assez faible, 8 x 8 pixels, donc une interpolation cubique est utilisée pour augmenter la résolution à 32 x 32, ce qui donne une matrice 16 fois plus grande
    2. L'interpolation fonctionne en construisant de nouveaux points de données entre un ensemble de points connus, mais la précision diminue.
  • Des nombres aux images

    1. Les nombres allant de 0 à 1023 dans une matrice 32 x 32 sont convertis en code décimal dans le modèle de couleur RVB.
    2. A partir du code décimal, il est facile de générer l'image avec une fonction de la bibliothèque SciPy
  • Redimensionnement avec anti-aliasing

    1. Pour redimensionner l'image 32 x 32 à 500 x 500 afin de correspondre à la résolution de la caméra Pi, PIL (Python Image Library) est utilisé.
    2. Il a un filtre anti-crénelage qui adoucira les bords entre les pixels lorsqu'il sera agrandi
  • Superposition d'image transparente

    1. L'image numérique et l'image thermique sont ensuite mélangées à une image finale en les ajoutant avec 50 % de transparence chacune.
    2. Lorsque les images de deux capteurs avec une distance parallèle entre eux sont fusionnées, elles ne se chevauchent pas complètement
    3. Enfin, les mesures de température minimale et maximale de l'AMG8833 sont affichées avec du texte superposé à l'écran

Étape 9: Codes et fichiers PCB

J'ai joint les tests et le code final du projet ci-dessous

Étape 10: Conclusion

  • Ainsi une caméra thermique a été construite avec Raspberry Pi et AMG8833.
  • La vidéo finale a été intégrée dans ce post
  • On peut observer que la température change instantanément lorsque j'approche le briquet près de l'installation et que la flamme du briquet a été détectée avec précision par le capteur.
  • Par conséquent, ce projet peut être développé davantage pour la détection de la fièvre chez les personnes entrant dans une pièce, ce qui sera très utile dans cette crise COVID19.

Conseillé: