Projet IMA3 P3, 2015/2016, TD1 : Différence entre versions
(→Partie électronique) |
|||
Ligne 69 : | Ligne 69 : | ||
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire. | Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire. | ||
− | [[Fichier: | + | [[Fichier:PWM1 OAG.png]] |
Il est composés des éléments suivants : | Il est composés des éléments suivants : |
Version du 28 mars 2016 à 17:01
Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne.
Contexte
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique. Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.
Cahier des charges
Concernant l'éclairage :
- 2 capteurs de présence (LED IR ou SONAR à définir)
- Des LEDs représentant l'éclairage
Concernant la gestion du chauffage :
- 1 capteur de température
Pour acquérir, traiter et afficher les données :
- Une Nanoboard
- Une Raspberry PI
Séance 1
Partie électronique
Prise en main de la RedBoard :
- Clignotement d'une LED
- Mesures de distance avec SONAR qui servira de capteur de présence.
- Caractéristiques du capteur de température TMP36GZ :
Étendue de mesure : -40°C à +125°C Précision : +- 1°C à 25°C Résolution : 10mV/°C Offset : 0.5V 25°C->750mV
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.
Partie informatique
- (Re)découverte du langage HTML.
- Découverte du langage CSS.
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :
- JavaScript
- CANVAS
Séance 2
Partie électronique
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu. Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs. Pour cela il nous faut utiliser un convertisseur analogique-numérique. Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI. Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire. Le schéma suivant illustre la conversion.
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne. Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.
Partie informatique
Programmation du capteur de température et de la photodiode.
Séance 3
Partie électronique
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium. Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.
Il est composés des éléments suivants : Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée. Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas. Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.
Partie informatique
Définition des données à échanger entre la partie électronique et le serveur Websocket. Finition du code gérant les capteurs.