P30 Thermostat connecté et intelligent : Différence entre versions

De Wiki de Projets IMA
(Semaine 13 (4/01/2016))
 
(58 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/pimasc/include/video-ThermostatConnecte-iframe.html" />
 +
__TOC__
 +
<br style="clear: both;"/>
 
== Généralités ==
 
== Généralités ==
 
''Intitulé du projet'' : '''Thermostat connecté et intelligent'''
 
''Intitulé du projet'' : '''Thermostat connecté et intelligent'''
Ligne 367 : Ligne 370 :
 
- Carte 1 : problèmes de chauffe
 
- Carte 1 : problèmes de chauffe
  
- Revu des calculs de consommation du circuit
+
- Revue des calculs de consommation du circuit
  
 
- Visite chez M.Flamen pour voir la carte  
 
- Visite chez M.Flamen pour voir la carte  
Ligne 377 : Ligne 380 :
 
  - Adaptation du code pour les panstamps AVR aux panstamps NRG
 
  - Adaptation du code pour les panstamps AVR aux panstamps NRG
 
  - Tests de la communication de la carte entre le panstamp NRG de la carte 1 et un panstamp AVR
 
  - Tests de la communication de la carte entre le panstamp NRG de la carte 1 et un panstamp AVR
 
  
 
== Semaine 11 (07/12/2015) ==
 
== Semaine 11 (07/12/2015) ==
Ligne 400 : Ligne 402 :
 
- Etude du planning prévisionnel à venir après les vacances de Noël
 
- Etude du planning prévisionnel à venir après les vacances de Noël
  
(Planning prévisionnel à venir)
+
[[Fichier:Planning_PFE_fin.PNG]]
  
  
Ligne 407 : Ligne 409 :
 
  - Terminer les tests sur la carte 1
 
  - Terminer les tests sur la carte 1
 
  - Rédaction du rapport et préparation de la soutenance
 
  - Rédaction du rapport et préparation de la soutenance
 
  
 
== Semaine 12 (14/12/2015) ==
 
== Semaine 12 (14/12/2015) ==
  
 
* Ce qui a été fait :
 
* Ce qui a été fait :
 +
 +
- Une deuxième version du PCB de la carte 1 a été réalisé au cas où la première version ne fonctionnerait pas :
 +
 +
[[Fichier:PCB_carte1_v2.PNG|200px]]
 +
  
 
- Fin de la rédaction du rapport
 
- Fin de la rédaction du rapport
Ligne 433 : Ligne 439 :
 
  - Implémentation de la récupération de la température
 
  - Implémentation de la récupération de la température
  
== Semaine 13 (4/01/2016) ==
+
== Semaine 13 (04/01/2016) ==
  
 
* Ce qui a été fait :
 
* Ce qui a été fait :
  
Partie Électronique :  
+
'''Partie Électronique :'''
 +
 
 +
Comme prévu le soudage des cartes 1 & 2 a été réalisé :
 +
 
 +
[[Fichier:P30_Carte1_v1.JPG|200px]]
 +
 
 +
[[Fichier:P30_Carte2_v1.JPG|200px]]
  
Comme prévu le soudage des cartes 1 & 2 à été réalisé.
 
  
 
Nous avons effectué les tests sur la carte 2 :  
 
Nous avons effectué les tests sur la carte 2 :  
  
En utilisant une résistance variable comme charge (pour remplacer la chaudière, nous nous sommes ici limité à une 50 Ohm) et en envoyant une tension de 3V3 en commande, nous avons réussi à commander le courant de sortie du triac. Nous avons également utiliser un transformateur 220V / 48V pour limiter les risques dus aux essais. Nous devions donc obtenir un courant d'environ 1A.  
+
En utilisant une résistance variable comme charge (pour remplacer la chaudière, nous nous sommes ici limitées à une 50 Ohm) et en envoyant une tension de 3,3V en commande, nous avons réussi à commander le courant de sortie du triac. Nous avons également utilisé un transformateur 220V / 48V pour limiter les risques dus aux essais. Nous devions donc obtenir un courant d'environ 1A.  
  
Voici le montage qui à été réalisé :  
+
Voici le montage qui a été réalisé :  
  
 
[[Fichier:montage_1.jpg|200px]]
 
[[Fichier:montage_1.jpg|200px]]
Ligne 452 : Ligne 463 :
  
  
Nous avons caractérisé que la pin D20 du panstamp devait fournir au minimum 12 mA pour pouvoir actionner la LED de l'optotriac en réalisant le test ci-dessous :  
+
Nous avons caractérisé que la pin D20 du panStamp devait fournir au minimum 12 mA pour pouvoir actionner la LED de l'opto-triac en réalisant le test ci-dessous :  
  
  
Ligne 458 : Ligne 469 :
  
 
[[Fichier:montage_4.jpg|200px]]
 
[[Fichier:montage_4.jpg|200px]]
 +
 +
 +
Nous avons effectué les tests sur la carte 1 :
 +
 +
 +
Il se révèle que le régulateur sort la même tension de sortie que celle d'entrée, ce qui est un problème. Nous essayons actuellement de le résoudre.
 +
 +
[EDIT] Nous avons résolu le problème ce matin (08/01/2016) voici les photos des résultats des tests :
 +
 +
 +
[[Fichier:montage_5.jpg|200px]]
 +
 +
[[Fichier:montage_6.jpg|200px]]
 +
 +
 +
On peut voir que quelque soit la tension d'entrée (inférieure à 2,2V), une tension de 2,2V (tension minimale pour alimenter le panStamp) est obtenue en sortie. La partie alimentation fonctionne donc.
 +
 +
 +
'''Partie informatique :'''
 +
 +
Nous avons réalisé la partie du code qui :
 +
 +
''Pour le panStamp (2) ''
 +
 +
- Met le panStamp en mode sommeil durant la durée choisie
 +
- Le réveille et envoie un message au panStamp (1)
 +
- Régule la température à chaque réveil en envoyant marche/arrêt au panStamp (3)
 +
- Reçoit les commandes du panStamp (1) et les traite (mise en mode sleep, commande de température...)
 +
 +
''Pour le panStamp (1) ''
 +
 +
- Reçoit et stock la température du panStamp (2)
 +
- Stocke les commandes de l'utilisateur et ne les envoie que s'il a reçu le message de réveil du panStamp (1)
 +
- Envoi un nack si l'utilisateur n'a pas saisi de commandes pendant le sommeil
 +
 +
Malgré tout, nous avons actuellement un problème de communication entre les deux panStamps notamment à cause du port série.
 +
 +
 +
* Compte-rendu de la réunion de cette semaine :
 +
 +
- De légères modifications sont à prévoir sur la carte 1 (relier les masses au panStamp)
 +
- Nous allons également réaliser une série complète de tests pour les valeurs du régulateur qui seront ensuite publiées sur le Wiki
 +
- Idem pour la carte 2 (enlever le plan de masse en-dessous du panStamp, refaire des footprints de résistances, rajouter les fusibles)
 +
- Ces modifications n'impliquent pas de retirer les cartes mais il faudra malgré tout le faire en fin de projet
 +
- La partie informatique connaît toujours certains problèmes d'upload sur la Raspberry
 +
 +
* Pour la semaine prochaine :
 +
- Modifier les cartes et réaliser les tests avec le régulateur.
 +
- Effectuer les tests d'allumage des leds sur les différents panStamps ainsi que celui de récupération de température
 +
- Débugger le code de communication et l'implanter sur les cartes
 +
- Réaliser le code complet de récupération de la température
 +
- Si possible commencer à réaliser l'interface graphique
 +
 +
== Semaine 14 (11/01/2016) ==
 +
 +
* Ce qui a été fait :
 +
 +
- Les panStamp ont été soudés sur les deux cartes et sont bien alimentés. Nous avons essayé d'upload un code sur le NRG avec le launchpad pour le moment sans succès.
 +
 +
 +
- Nous avons effectué les tests de l'alimentation du panStamp pour la première carte.
 +
 +
[[Fichier:Courbe_régulateur.PNG|400px]]
 +
 +
Nous avons commencé à injecter la tension maximale possible en entrée qui est de 3,2V (car une pile Alcaline peut atteindre 1,6V) et l'avons diminuée par pas de 0,2V.
 +
 +
Au delà de 2,2V (qui est la tension de sortie du régulateur), ce dernier ne régule pas correctement la tension d'entrée. En effet, la tension de sortie du régulateur est identique à celle injectée en entrée.
 +
 +
De plus, nous avons remarqué que lorsque nous abaissions la tension d'entrée en-dessous de 0,85V, la tension obtenue en sortie devenait nulle. Il faut ensuite atteindre 1,4V pour que le régulateur remplisse correctement sa fonction.
 +
 +
Donc le régulateur remplit bien son rôle pour une tension d'entrée inférieure à  la tension choisie en sortie du régulateur (ici 2,2V) et supérieure à 0,85V. Cependant, des recherches seront effectuées par la suite afin de déterminer pour quelle raison la tension d'entrée n'est pas régulée lorsqu'elle est supérieure à 2,2V.
 +
 +
 +
- Élise s'occupe maintenant du code de communication et Céline s'occupe de l'interface graphique. Nous avons donc pris une matinée pour qu’Élise prenne connaissance du code.
 +
 +
- Partie communication : Le code stocke maintenant plusieurs commandes à la suite de l'utilisateur et les envoie quand le panStamp (2) est réveillé.
 +
 +
- Partie interface web : Nous avons choisi d'utiliser les Websockets afin de faire la liaison entre l'interface web et le panStamp relié à la Raspberry. Le code est actuellement en train d'être amélioré.
 +
 +
 +
* Compte-rendu de la réunion de cette semaine :
 +
 +
- Présentation des cartes électroniques finalisées à notre tuteur
 +
- Travail sur le code de communication pour résoudre les différents bugs
 +
- Mise au point sur les méthodes de communication pour l'interface graphique
 +
 +
* Pour la semaine prochaine :
 +
 +
- Partie communication :
 +
  Mettre en place le "Broadcast" afin que le panStamp (2) puisse communiquer avec plus d'un autre panStamp
 +
  Faire une mini fonction qui transforme des unsigned char * en int
 +
  Trouver comment upload sur le NRG et faire la récupération de la température
 +
 +
- Partie interface web :
 +
  Finaliser le code de communication via Websockets
 +
  Créer la page html/php d'accueil pour le thermostat
 +
 +
 +
== Semaine 15 (18/01/2016) ==
 +
 +
* Ce qui a été fait :
 +
 +
 +
Partie interface web :
 +
 +
- Le code des WebSockets est opérationnel, nous avons ainsi une connexion stable entre notre interface web et les différentes cartes. Nous pouvons recevoir des informations des panStamps et les afficher, mais aussi leur en transmettre.
 +
 +
- L'interface graphique a été mise en place et codée en HTML, PHP et CSS, elle pourra être améliorée en fin de projet.
 +
 +
[[Fichier:Page_accueil_interface.png|400px]]
 +
 +
[[Fichier:Page_commandes_interface.png|400px]]
 +
 +
 +
Partie communication :
 +
 +
- Le broadcast a été mis en place et fonctionne.
 +
 +
- La fonction qui transforme les usigned char en int est également opérationelle.
 +
 +
- Nous avons réussi à upload le code sur le NRG (notamment grâce à l'IDE Arduino et au launchpad MSP430, voir photo ci-dessous) et commencé à coder le programme de récupération de température.
 +
 +
 +
[[Fichier:upload_nrg.jpg|200px]]
 +
 +
 +
Nous nous sommes également rendues compte que le problème lié au régulateur était en fait normal et que cela était écrit dans la datasheet (il y a donc eu ici une erreur de conception).
 +
 +
90% des objectifs ont été atteints cette semaine.
 +
 +
* Compte-rendu de la réunion de cette semaine :
 +
 +
- Présentation de l'interface graphique à nos tuteurs et démonstration de communication
 +
- Présentation de l'upload sur le NRG et travail pour récupérer la température.
 +
- Mise au point sur le planning du projet.
 +
 +
* Pour la semaine prochaine :
 +
 +
- L’objectif principal est de terminer la récupération de la température
 +
- Le but est maintenant d'assembler les différents éléments du projet afin d'avoir un ensemble fonctionnel et clair
 +
- Nous devons également nous assurer que les panStamp NRG fonctionnent avec notre code de communication.
 +
 +
== Semaine 16 (25/01/2016) ==
 +
 +
* Ce qui a été fait :
 +
 +
- Communication entre les panStamps AVR (celui relié à l'interface et le thermostat) fonctionnelle.
 +
 +
- Tests d'upload de programmes basiques de panStamp et de nos programmes sur le NRG -> résultats obtenus sur celui situé sur la deuxième carte (chaudière) mais pas sur celui du thermostat.
 +
 +
- Nouvelle conception du PCB de la seconde carte incluant les fusibles.
 +
 +
 +
* Compte-rendu de la réunion de cette semaine :
 +
 +
- La réunion a servi à tenter de résoudre les problèmes d'upload sur le panStamp / de communication de la carte 1.
 +
 +
* Pour la semaine prochaine :
 +
 +
- Début de conception du boîtier de la carte 1.
 +
- Améliorations possibles de l'interface.
 +
- Conception et implémentation du programme sur la carte 2.
 +
- Réflexion de l'implémentation avec un radiateur à la place de la chaudière.
 +
- Autres objectifs qui dépendront de la réunion du lundi 01/02.
 +
 +
 +
== Semaine 17 (01/02/2016) ==
 +
 +
* Ce qui a été fait :
 +
 +
- Nouvelle carte tirée et soudée mais non fonctionnelle pour cause du capteur de température trop chauffé :
 +
 +
[[Fichier:PCB_carte1_v3.PNG|200px]]
 +
 +
 +
- Commande de nouveaux capteurs et de régulateurs afin de souder une autre carte la semaine prochaine.
 +
 +
- Le PCB de la carte "chaudière" a été finalisé avec le rajout du dissipateur et du boîtier sélectionnés :
 +
 +
[[Fichier:PCB_carte2_v2.PNG|200px]]
 +
 +
 +
- Recherches sur l'implémentation pour un radiateur.
 +
 +
- Conception du boîtier de la carte "thermostat" sous Solid Work :
 +
 +
[[Fichier:Boitier1.jpg|400px]]
 +
 +
[[Fichier:Boitier2.jpg|400px]]
 +
 +
 +
- Mis à jour du planning prévisionnel :
 +
 +
[[Fichier:Planning_prévisionnel_semaine17.png]]
 +
 +
 +
* Compte-rendu de la réunion :
 +
 +
- Exposition de ce qui a été accompli cette semaine.
 +
 +
 +
* Pour la semaine prochaine :
 +
 +
- Après réception des composants, soudage de ces derniers sur la carte "thermostat".
 +
- Tests de la carte et modification du code (à adapter pour les NRGs).
 +
- Réalisation du PCB pour la carte "radiateur".
 +
- Rédaction du rapport.
 +
 +
 +
== Semaine 18 (08/02/2016) ==
 +
 +
* Ce qui a été fait :
 +
 +
- Soudage des composants après réception sur la deuxième carte qui avait été tirée pour l'occasion. Malheureusement, la récupération de la température ne fonctionne toujours pas pour une raison encore inconnue.
 +
 +
- Remplacement du panStamp éventuellement défectueux sur la carte "thermostat" deuxième version : la communication RF avec les autres panStamps fonctionne, ainsi que la réception de la température !
 +
 +
- Etablissement de la communication entre l'interface graphique (reliée au panStamp AVR) et la carte "thermostat" : la température envoyée en continu par la carte "thermostat" est bien reçue sur l'interface, et les consignes envoyées depuis l'interface au thermostat sont bien transmises.
 +
 +
- Essai de communication entre les deux cartes (panStamps NRG) pour le moment non concluant.
 +
 +
- Schéma électronique et PCB de la carte radiateur réalisés :
 +
 +
 +
[[Fichier:Schéma_carte2_radiateur.PNG|400px]]
 +
 +
 +
[[Fichier:PCB_carte2_radiateur.PNG|400px]]
 +
 +
 +
- Le boîtier pour la carte "thermostat" n'a pas pu être imprimé cette semaine mais le sera la semaine suivante avec les modifications qui lui ont été apportées suite au changement de carte (réduction de la taille et de la profondeur).
 +
 +
- Rédaction du rapport.
 +
 +
 +
* Pas de réunion cette semaine.
 +
 +
 +
* Pour la semaine prochaine :
 +
- Etablissement de la communication entre les deux cartes.
 +
- Régler le souci d'actualisation de l'interface.
 +
- Pouvoir envoyer des températures avec des valeurs décimales à l'interface.
 +
- Démonstration de la "chaîne" complète.
 +
- Réalisation de la vidéo ou prise de rendez-vous pour la semaine suivante si M. Engels n'est pas disponible.
 +
- Terminer le rapport.
 +
 +
== Semaine 19 (15/02/2016) ==
 +
 +
 +
* Ce qui a été fait cette semaine :
 +
 +
- La première version du rapport a été envoyée.
 +
 +
- Nous arrivons maintenant à afficher les décimales sur l'interface graphique.
 +
 +
- L'actualisation de la température est également opérationnelle. 
 +
 +
- La deuxième carte marche toujours partiellement, mais permet tout de même de faire fonctionner la chaîne complète.
 +
[EDIT] La deuxième carte fonctionne, nous avons pu mettre en évidence un bug dans les codes de panStamp. Il faut en effet effectuer un redémarrage du module radio pour que le panStamp fonctionne uniquement en réception.
 +
 +
[[Fichier:Résultat_final.JPG|300px]]
 +
 +
 +
- Le premier prototype du boîtier a été imprimé et le système de fermeture fonctionne correctement (photos ci-dessous) :
 +
 +
[[Fichier:boitier1bis.jpg|300px]]
 +
[[Fichier:boitier2bis.jpg|300px]]
 +
 +
 +
- Le prototype final du boîtier a été imprimé :
 +
 +
[[Fichier:boitierfinal.jpg|200px]]
 +
 +
 +
- Les dernières fonctionnalités du thermostat ont été implantées (mode sommeil long, départ maison, etc).
 +
 +
- La vidéo a été tournée.
 +
 +
- Le rapport a été corrigé et le diaporama de la soutenance envoyé.
 +
 +
 +
* Compte rendu de la réunion :
 +
 +
- Démonstration du bon fonctionnement entre l'interface graphique et la carte "thermostat"
 +
- Étude du dysfonctionnement du panStamp de la carte chaudière.
 +
- Présentation du premier prototype de notre boîtier.
 +
 +
* Pour la semaine prochaine :
 +
- Finir de corriger le rapport et le diaporama
 +
- Répéter la soutenance
 +
 +
 +
== Semaine 20 (22/02/2016) ==
 +
 +
* Ce qui a été fait cette semaine :
 +
 +
- Le rapport a été terminé, corrigé et envoyé à nos tuteurs.
 +
 +
- Préparation de la soutenance.
 +
 +
- La partie "détection d'anomalie" qui permet de détecter un important écart de température (quand on ouvre une fenêtre par exemple) a été implémentée.
 +
 +
 +
== Fichiers rendus ==
 +
 +
Rapport intermédiaire : [[Fichier:Rapport_PFE_TISSOT_TIRABY.pdf]]
 +
 +
Rapport final : [[Fichier:Rapport_final_PFE_TISSOT_TIRABY.pdf]]
 +
 +
Archive contenant le code du projet : [[Fichier:Codes_Finaux_P30.zip]]

Version actuelle datée du 24 mars 2016 à 14:44


Vidéo HD


Généralités

Intitulé du projet : Thermostat connecté et intelligent

Élèves : TISSOT Elise (Section SC) / TIRABY Céline (Section SA)

Encadrants : Guillaume Renault / Alexandre Boé / Thomas Vantroys

Contexte du projet

La création d'un thermostat intelligent est un projet innovant qui s'intègre parfaitement avec l'ère du temps. En effet, la tendance mondiale actuelle est de réduire les coûts en énergie (pour des raisons économiques mais aussi environnementales) mais également d'automatiser un maximum d'objets du quotidien.

Cahier des charges

  • But général du projet

Le but est de réaliser un thermostat d'ambiance connecté ayant les fonctionnalités suivantes :

- Toutes les fonctionnalités classiques d'un thermostat.
- Le thermostat doit être autoalimenté dans la mesure du possible (utilisation de l'énergie lumineuse ambiante).
- Le thermostat doit être contrôlable via une interface Web.
- Le thermostat doit mesurer la consommation énergétique en Wh et en euro.
- Le thermostat doit être capable d'apprendre de temps de chauffe nécessaire pour atteindre une température et de déceler un écart du à une porte ou une fenêtre ouverte.
- Le thermostat doit être installé dans un boitier adapté modélisé en 3D puis fabriqué via l'imprimante 3D du FABLAB.


Le thermostat devra être modélisé à partir d'un circuit électronique composé d'un panstamps NRG 2, d'un relai (ON/OFF) et d'une alimentation continue autonome.

Le contrôle du thermostat s’effectuera grâce à une interface web utilisant les languages Php, Html, Css et JavaScript.

La communication entre le thermostat et l'interface s’effectuera grâce aux deux panstamps en RF. Les échanges permettront de le paramétrer, de passer en mode confort, d'estimer le temps de chauffe pour atteindre une température, etc.


  • Description précise des étapes du projet

Le projet est donc composé de plusieurs parties complémentaires :

I Auto-alimentation du circuit électronique

Le but est que le thermostat puisse être auto-alimenté afin de faciliter son implantation. La question est donc :

- De trouver un moyen efficace de convertir la luminosité de la pièce où sera implanté le thermostat (que ce soit la lumière du soleil ou la lumière issue des ampoules) afin d'alimenter le circuit
- Vérifier la faisabilité d'un système auto-alimenté par rapport aux composants disponibles actuellement sur le marché
- Comprendre comment implanter le système avec les autres composants du thermostat
- Définir les besoins énergétiques du thermostat et les adapter si besoin (passage du panstamp en mode veille etc)
- Stocker l'énergie récupérée pour que le thermostat puisse continuer de fonctionner la nuit

II Construction de la carte électronique

Afin de pouvoir réaliser un thermostat, il faut d'abord comprendre les différents composants qui y sont associés. Ainsi il sera nécessaire de :

- Trouver les différents composants d'un thermostat
- Commander les éléments ayant les meilleures performances pour notre application 
- Concevoir la carte et souder les différents éléments comme par exemple le panstamp. 
- Faire la liaison entre la carte et la chaudière (fils pilotes ou non)

III Établir une communication entre l'interface graphique et le thermostat

La communication entre ces éléments est essentielle pour assurer le bon fonctionnement de l'application. Pour ce projet il a été établi que la communication s'effectuerait grâce à deux panstamps en RF. Il faut ainsi :

- Créer l'interface web
- Programmer les différents panstamps pour effectuer un échange d'informations entre ces deux éléments
- Définir les temps de fonctionnement et de transmission des informations 
- Fabriquer les antennes pour la communication
- Utiliser le capteur de température qui pourrait être disponible sur les panstamps et définir la précision au niveau de la mesure de température

IV Fabrication du boitier du thermostat

La dernière étape sera la réalisation du boitier du thermostat au FabLab afin de rendre le thermostat le plus esthétique possible.


Brainstorming sur les fonctionnalités à implanter :

- Augmenter/Baisser la température d'un nombre "X" de degrés
- Afficher la température sur l'interface graphique (courbes etc)
- Permettre l’arrêt/mise en marche de la chaudière
- Mise en place d'hacknowledges
- Détection de variations anormales de températures (fenêtre ouverte etc...) (mode apprentissage puis normal)
Suite à venir...


  • Schéma général du projet :

Schéma PFE.png

Plannings prévisionnels

  • Voici la planning établi en début de projet :

Planning prévisionnel partie1.PNG

  • Voici ce qui a été réalisé au 09/12/2015 :

Suivi planning prévisionnel partie1.PNG

Semaine 1 (21/09/2015)

  • Première réunion le 24/09/2015 avec M. Renault afin de discuter des buts et des tâches à réaliser durant le projet.
  • Pour la prochaine réunion fixée le 7/09/2015.

Pendant ces deux semaines nous allons :

- Effectuer des recherches sur la composition d'un thermostat
- Effectuer des recherches sur les moyens d’auto alimenter le thermostat
- Comprendre le fonctionnement des panstamps
- Effectuer des recherches sur les fils pilotes

Nous allons également établir un planning prévisionnel de notre projet.

Semaine 2 (28/09/2015)

  • Recherches bibliographiques sur les différents points évoqués ci-dessus.

Semaine 3 (5/10/2015)

Après un rendez vous avec nos tuteurs, nous sommes parvenues :

  • A une modification du cahier des charges :

- Les recherches sur la partie auto-alimentation sont pour l'instant interrompues pour donner la priorité à d'autres parties. Des piles serviront pour le moment d'alimentation. Cela n'empêche pas de réaliser des recherches pour optimiser la consommation énergétique de notre réalisation.

- Les recherches sur les fils pilotes sont pour le moment arrêtées car nous il est pour le moment plus simple de réaliser une première version avec un relais.

- Le thermostat d'ambiance est divisé en deux parties distinctes : la partie "mobile" avec le panstamp et le capteur de température et la partie fixe placée directement sur la chaudière ou les radiateurs (avec un relais ou des fils pilotes)

- L'alimentation se fait pour l'instant sur piles pour toutes les cartes électroniques.

  • A la liste du matériel à acheter :
- Boîtier à piles de référence fournisseur (Mouser) 534-2462
- Piles AA de référence fournisseur (Mouser) 547-NH1250AA
- Capteur de T°C de référence fournisseur (Mouser) 595-TMP112AIDRLT
- Bloc 220-3.3V de référence fournisseur (Mouser) 709-IRM05-3.3
- Fusible de référence fournisseur (Mouser) 576-083506.3MXEP
- Porte fusible de référence fournisseur (Mouser) 693-0031.8201
- Antenne plane de référence fournisseur (Mouser) 609-0868AT43A0020E  
- Condensateur 10u de référence fournisseur (Mouser) 80-C0805L106K8P
- Condensateur 0.01u de référence fournisseur (Mouser)80-C0805C103M5RAUTO
- Bobine 4,7u de référence fournisseur (Mouser) 710-744031004
- Régulateur Boost TEXAS de référence fournisseur (Mouser) 595-TPS61070DDCR
- LED de référence fournisseur (Mouser) 720-LHR974-LP-1
- Résistance 348kOhm de référence fournisseur (Mouser) 667-ERJ-6ENF3483V
- Résistance 1MOhm de référence fournisseur (Mouser) 71-CRCW08051M10FKEA
- Résistance 5kOhm de référence fournisseur (Mouser) 71-CRCW0805-5K
- Opto-triac de référence fournisseur (Mouser) 512-MOC3062SR2VM
- Triac de référence fournisseur (Mouser) 576-Q6016NH4RP
- Résistance 360Ohm de référence fournisseur (Farnell) 2331668
- Résistance 39Ohm de référence fournisseur (Mouser) 279-SMW539RJT
- Résistance 150Ohm de référence fournisseur (Mouser) 279-SMW5150RJT
- Condensateur 0,01uF de référence fournisseur (Mouser) 603-CC126KKX7RZBB103
- Inductance 12nH de référence fournisseur (Mouser) 609-L-07C12NJV6T
- Inductance 1,8nH de référence fournisseur (Mouser) 609-L-07C1N8SV6T

Manque un boîtier étanche pour la seconde carte (reliée à la chaudière).

  • Aux objectifs à atteindre avant les vacances de Toussaint : la réalisation des cartes électroniques liées à la partie mobile du thermostat et à la chaudière.
  • A un schéma clair du projet, qui sera présenté dans le cahier des charges.


Suite à la conversation avec nos tuteurs le 07/10/2015, le prochain rendez vous est fixé le 14/10/2015 Les objectifs sont :

- De commencer la réalisation de la première carte électronique.

Semaine 4 (12/10/2015)

  • Début de la réalisation des deux cartes électroniques sur Altium :

- La première correspond à la partie thermostat. Elle contient un capteur de température, un panstamp et est alimentée par deux piles.

Voici le schéma (provisoire) de la 1ère carte, il est maintenant nécessaire de commencer le routage :


Carte1.png


- La seconde est quant à elle directement reliée à la chaudière. Elle contient pour le moment un panstamp, un relais ainsi qu'un bloc permettant la conversion de 220V à 3,3V, puisqu'elle sera branchée sur le secteur.

Semaine 5 (19/10/2015)

Pour la deuxième carte, nous devions trouver un relai 3,3V/220V-16A, mais il s'est avéré que ce type de composant est cher et prend beaucoup de place. La solution était donc de prendre un triac et un opto-coupleur, beaucoup moins contraignants. Suite à une discussion avec M.Benabou et M.Flamen, nous avons opté pour un opto-triac suivi d'un triac, configuration qui réduit fortement les parasites.

  • Le but est maintenant :
- D’étudier les datasheets afin de trouver les composants qui correspondent à notre application
- De commander les composants et les composants périphériques nécessaires
- De finir la réalisation de la deuxième carte
- De commencer le routage des deux cartes
  • La commande des composants définitive a été passée et la liste mise à jour sur le wiki.
  • Voici le schéma provisoire de la deuxième carte :

Carte2.PNG

Semaine 6 (02/11/2015)

  • Ce qui a été fait cette semaine :

- Réalisation des footprints des différents composants pour les deux cartes.

- Finalisation des schémas suite aux empreintes créées :

Schéma de 1ère carte :

Schéma carte1 définitif.PNG


Schéma de la 2ème carte :

Schéma carte2 définitif.PNG


- Début de la conception des fichiers PCB nécessaires au routage des cartes.


  • Compte-rendu de la réunion de cette semaine :

- L'antenne commandée initialement n'étant plus en stock, une autre a été commandée par M. Renault.

- Discussion sur les problèmes rencontrés lors de la création des fichiers PCB : en effet, les relations entre les différents composants ne sont pas toutes établies.

- Tests pour résoudre ce problème sans succès pour le moment.

- Amélioration de la footprint du panstamp.


  • A présent il nous faut :
- Régler le souci des liaisons entre les composants sur le fichier PCB.
- Vérifier que les footprints soient correctement créées.
- Réaliser le PCB de l'antenne.
- Débuter le routage.

Semaine 7 (09/11/2015)

  • Ce qui a été fait cette semaine :

- Résolution du problème rencontré lors de la création du fichier PCB sur la première carte.

- Création de la footprint de l'antenne (au lieu du PCB comme prévu la semaine précédente).

- Routage de la première carte sur Altium.


PCB carte1.PNG


  • Compte rendu de la réunion de cette semaine :

- Discussion technique à propos du routage de la carte 1 : modification de l'antenne, ajout d'un boitier sur la carte pour accéder plus facilement à différentes bornes (TST, RST, VCC, GND) du panstamp, création d'un pont pour relier les VDDs...

- Communication entre les panstamps : obtention des deux panstamps jeudi 12/11, moyens de compilation et de programmation...

- Organisation de la répartition du travail (planning prévisionnel) et de la pré-soutenance.


  • Pour la semaine prochaine :
- Répartition des tâches : 
   * Début de la partie communication entre les panstamps (Céline)
   * Routage de la carte 2 (Elise) et envoi en production
- Éventuellement visite au laboratoire d’électrotechnique pour valider le routage de la carte 2.


Semaine 8 (16/11/2015)

  • Ce qui a été fait cette semaine :


Au niveau de la partie électronique :

- Envoi de la première carte en production.

- Résolution du souci de liaison entre les composants sur le PCB pour la deuxième carte.

- Routage de la seconde carte.


PCB carte2.PNG


Au niveau de la partie informatique :

- Acquisition de deux Panstamps avr afin d'effectuer les tests (les Panstamps nrg ne pourront pas être utilisés avant que les cartes soient fonctionnelles)

- Installation des moyens de compilation sur les panstamps (utilisation d'un panstick pour le 1er panstamp et d'une raspberryPi pour le deuxième panstamp)

- Prise en main des codes "modem.h" et des codes fournis par notre tuteur


  • Compte rendu de la réunion de cette semaine :

- Envoi en production de la carte 1 retardée

- Routage de la carte 2 et envoi prévu avant la fin de la semaine / Compte rendu de notre réunion avec les chercheurs du laboratoire d’électrotechnique

- Première prise en main du panstamp pour la communication

- Retour sur le planning prévisionnel établi au début du projet


  • Pour la semaine prochaine :
Partie électronique : 
- Avec la possible arrivée des composants, vérification des footprints
- Envoi des deux cartes en production
Partie informatique : 
- Le but est d'établir une communication entre deux panstamps, afin qu'ils échangent une information sur la température par exemple
- Lister les différentes commandes à implémenter dans notre code.

Semaine 9 (23/11/15)

  • Ce qui a été fait cette semaine :

Partie électronique :

- Dernières modifications

- Envoi en production de la première carte


Partie informatique :

- Soudage de l'antenne sur le panstamp alimenté par le RaspberryPi

- Modification du code qui nous a été donné par notre tuteur : la communication entre les deux panstamps est opérationnelle

  • Envoi d'une commande du panstamp 1 vers 2
  • Réception et affichage de la commande sur le port série du panstamp2 et envoi vers le panstamp 1 des informations nécessaires.


  • Compte rendu de la réunion de la semaine :

- Revue des modifications à effectuer sur les cartes

- Objectif pour la soutenance : carte 1 opérationnelle

- Démonstration de la communication entre les panstamps

- Bref Brainstorming sur les commandes à implanter dans le système


  • Pour la semaine prochaine :
Partie électronique : 
- Réception de la première carte (thermostat) et envoi en production de la seconde
- Soudage de la carte 1 et tests
Partie informatique : 
- Calcul de la consommation énergétique du système afin de déterminer le temps de sommeil du panstamp de la carte 1
- Implantation du TIMER dans le code de la communication

Semaine 10 (30/11/2015)

  • Ce qui a été fait cette semaine :

Partie électronique :

- Début du soudage de la carte 1 : problèmes rencontrés au niveau de la température maximale de chauffe des composants.


Partie informatique :

- Réception du panstamp NRG

- Implantation du TIMER dans le code

- Calcul de la consommation du circuit : la durée de vie des piles est acceptable.

- Recherches sur la datasheet du capteur de température (obtention de la température avec le code)


  • Compte rendu de la réunion de la semaine :

- Carte 2 : problèmes de largeur de pistes

- Carte 1 : problèmes de chauffe

- Revue des calculs de consommation du circuit

- Visite chez M.Flamen pour voir la carte


  • Pour la semaine prochaine :
- Malgré les problèmes de chauffe, terminer de souder la carte 1
- Adaptation du code pour les panstamps AVR aux panstamps NRG
- Tests de la communication de la carte entre le panstamp NRG de la carte 1 et un panstamp AVR

Semaine 11 (07/12/2015)

  • Ce qui a été fait cette semaine :

- Soudage des derniers composants de la carte 1

- Test de l'alimentation (sortie du régulateur à 2.4V pour alimenter le panstamp)

- Envoi en production de la carte 2

- Début de rédaction du rapport


  • Compte-rendu de la réunion de la semaine :

- Discussion sur les deux cartes

- Tests pour vérifier si la première carte est fonctionnelle (non concluants pour le moment)

- Etude du planning prévisionnel à venir après les vacances de Noël

Planning PFE fin.PNG


  • Pour la semaine prochaine :
- Terminer les tests sur la carte 1
- Rédaction du rapport et préparation de la soutenance

Semaine 12 (14/12/2015)

  • Ce qui a été fait :

- Une deuxième version du PCB de la carte 1 a été réalisé au cas où la première version ne fonctionnerait pas :

PCB carte1 v2.PNG


- Fin de la rédaction du rapport

- Préparation de la soutenance


  • Bilan du projet à mi-parcours :

- La première carte est en phase de tests (alimentation fonctionnelle mais court-circuit dans le circuit ou défaillance du panStamp)

- La seconde carte est en production

- La communication entre panStamps est fonctionnelle mais doit être testée dès que les cartes seront opérationnelles


  • Pour la semaine après les congés :
- Tests complémentaires pour la première carte. Si ces derniers ne sont pas concluants, une nouvelle carte sera tirée le plus rapidement possible, elle sera soudée et testée dans la semaine
- Soudage des composants et tests de la seconde carte
- Implémentation de la récupération de la température

Semaine 13 (04/01/2016)

  • Ce qui a été fait :

Partie Électronique :

Comme prévu le soudage des cartes 1 & 2 a été réalisé :

P30 Carte1 v1.JPG

P30 Carte2 v1.JPG


Nous avons effectué les tests sur la carte 2 :

En utilisant une résistance variable comme charge (pour remplacer la chaudière, nous nous sommes ici limitées à une 50 Ohm) et en envoyant une tension de 3,3V en commande, nous avons réussi à commander le courant de sortie du triac. Nous avons également utilisé un transformateur 220V / 48V pour limiter les risques dus aux essais. Nous devions donc obtenir un courant d'environ 1A.

Voici le montage qui a été réalisé :

Montage 1.jpg

Montage 2.jpg


Nous avons caractérisé que la pin D20 du panStamp devait fournir au minimum 12 mA pour pouvoir actionner la LED de l'opto-triac en réalisant le test ci-dessous :


Montage 3.jpg

Montage 4.jpg


Nous avons effectué les tests sur la carte 1 :


Il se révèle que le régulateur sort la même tension de sortie que celle d'entrée, ce qui est un problème. Nous essayons actuellement de le résoudre.

[EDIT] Nous avons résolu le problème ce matin (08/01/2016) voici les photos des résultats des tests :


Montage 5.jpg

Montage 6.jpg


On peut voir que quelque soit la tension d'entrée (inférieure à 2,2V), une tension de 2,2V (tension minimale pour alimenter le panStamp) est obtenue en sortie. La partie alimentation fonctionne donc.


Partie informatique :

Nous avons réalisé la partie du code qui :

Pour le panStamp (2)

- Met le panStamp en mode sommeil durant la durée choisie 
- Le réveille et envoie un message au panStamp (1)
- Régule la température à chaque réveil en envoyant marche/arrêt au panStamp (3)
- Reçoit les commandes du panStamp (1) et les traite (mise en mode sleep, commande de température...)

Pour le panStamp (1)

- Reçoit et stock la température du panStamp (2)
- Stocke les commandes de l'utilisateur et ne les envoie que s'il a reçu le message de réveil du panStamp (1)
- Envoi un nack si l'utilisateur n'a pas saisi de commandes pendant le sommeil 

Malgré tout, nous avons actuellement un problème de communication entre les deux panStamps notamment à cause du port série.


  • Compte-rendu de la réunion de cette semaine :
- De légères modifications sont à prévoir sur la carte 1 (relier les masses au panStamp)
- Nous allons également réaliser une série complète de tests pour les valeurs du régulateur qui seront ensuite publiées sur le Wiki
- Idem pour la carte 2 (enlever le plan de masse en-dessous du panStamp, refaire des footprints de résistances, rajouter les fusibles)
- Ces modifications n'impliquent pas de retirer les cartes mais il faudra malgré tout le faire en fin de projet
- La partie informatique connaît toujours certains problèmes d'upload sur la Raspberry
  • Pour la semaine prochaine :
- Modifier les cartes et réaliser les tests avec le régulateur. 
- Effectuer les tests d'allumage des leds sur les différents panStamps ainsi que celui de récupération de température
- Débugger le code de communication et l'implanter sur les cartes
- Réaliser le code complet de récupération de la température
- Si possible commencer à réaliser l'interface graphique

Semaine 14 (11/01/2016)

  • Ce qui a été fait :

- Les panStamp ont été soudés sur les deux cartes et sont bien alimentés. Nous avons essayé d'upload un code sur le NRG avec le launchpad pour le moment sans succès.


- Nous avons effectué les tests de l'alimentation du panStamp pour la première carte.

Courbe régulateur.PNG

Nous avons commencé à injecter la tension maximale possible en entrée qui est de 3,2V (car une pile Alcaline peut atteindre 1,6V) et l'avons diminuée par pas de 0,2V.

Au delà de 2,2V (qui est la tension de sortie du régulateur), ce dernier ne régule pas correctement la tension d'entrée. En effet, la tension de sortie du régulateur est identique à celle injectée en entrée.

De plus, nous avons remarqué que lorsque nous abaissions la tension d'entrée en-dessous de 0,85V, la tension obtenue en sortie devenait nulle. Il faut ensuite atteindre 1,4V pour que le régulateur remplisse correctement sa fonction.

Donc le régulateur remplit bien son rôle pour une tension d'entrée inférieure à la tension choisie en sortie du régulateur (ici 2,2V) et supérieure à 0,85V. Cependant, des recherches seront effectuées par la suite afin de déterminer pour quelle raison la tension d'entrée n'est pas régulée lorsqu'elle est supérieure à 2,2V.


- Élise s'occupe maintenant du code de communication et Céline s'occupe de l'interface graphique. Nous avons donc pris une matinée pour qu’Élise prenne connaissance du code.

- Partie communication : Le code stocke maintenant plusieurs commandes à la suite de l'utilisateur et les envoie quand le panStamp (2) est réveillé.

- Partie interface web : Nous avons choisi d'utiliser les Websockets afin de faire la liaison entre l'interface web et le panStamp relié à la Raspberry. Le code est actuellement en train d'être amélioré.


  • Compte-rendu de la réunion de cette semaine :
- Présentation des cartes électroniques finalisées à notre tuteur
- Travail sur le code de communication pour résoudre les différents bugs
- Mise au point sur les méthodes de communication pour l'interface graphique
  • Pour la semaine prochaine :
- Partie communication : 
 Mettre en place le "Broadcast" afin que le panStamp (2) puisse communiquer avec plus d'un autre panStamp
 Faire une mini fonction qui transforme des unsigned char * en int
 Trouver comment upload sur le NRG et faire la récupération de la température
- Partie interface web :
 Finaliser le code de communication via Websockets
 Créer la page html/php d'accueil pour le thermostat


Semaine 15 (18/01/2016)

  • Ce qui a été fait :


Partie interface web :

- Le code des WebSockets est opérationnel, nous avons ainsi une connexion stable entre notre interface web et les différentes cartes. Nous pouvons recevoir des informations des panStamps et les afficher, mais aussi leur en transmettre.

- L'interface graphique a été mise en place et codée en HTML, PHP et CSS, elle pourra être améliorée en fin de projet.

Page accueil interface.png

Page commandes interface.png


Partie communication :

- Le broadcast a été mis en place et fonctionne.

- La fonction qui transforme les usigned char en int est également opérationelle.

- Nous avons réussi à upload le code sur le NRG (notamment grâce à l'IDE Arduino et au launchpad MSP430, voir photo ci-dessous) et commencé à coder le programme de récupération de température.


Upload nrg.jpg


Nous nous sommes également rendues compte que le problème lié au régulateur était en fait normal et que cela était écrit dans la datasheet (il y a donc eu ici une erreur de conception).

90% des objectifs ont été atteints cette semaine.

  • Compte-rendu de la réunion de cette semaine :
- Présentation de l'interface graphique à nos tuteurs et démonstration de communication
- Présentation de l'upload sur le NRG et travail pour récupérer la température. 
- Mise au point sur le planning du projet. 
  • Pour la semaine prochaine :
- L’objectif principal est de terminer la récupération de la température
- Le but est maintenant d'assembler les différents éléments du projet afin d'avoir un ensemble fonctionnel et clair
- Nous devons également nous assurer que les panStamp NRG fonctionnent avec notre code de communication.

Semaine 16 (25/01/2016)

  • Ce qui a été fait :

- Communication entre les panStamps AVR (celui relié à l'interface et le thermostat) fonctionnelle.

- Tests d'upload de programmes basiques de panStamp et de nos programmes sur le NRG -> résultats obtenus sur celui situé sur la deuxième carte (chaudière) mais pas sur celui du thermostat.

- Nouvelle conception du PCB de la seconde carte incluant les fusibles.


  • Compte-rendu de la réunion de cette semaine :
- La réunion a servi à tenter de résoudre les problèmes d'upload sur le panStamp / de communication de la carte 1.
  • Pour la semaine prochaine :
- Début de conception du boîtier de la carte 1.
- Améliorations possibles de l'interface.
- Conception et implémentation du programme sur la carte 2.
- Réflexion de l'implémentation avec un radiateur à la place de la chaudière.
- Autres objectifs qui dépendront de la réunion du lundi 01/02.


Semaine 17 (01/02/2016)

  • Ce qui a été fait :

- Nouvelle carte tirée et soudée mais non fonctionnelle pour cause du capteur de température trop chauffé :

PCB carte1 v3.PNG


- Commande de nouveaux capteurs et de régulateurs afin de souder une autre carte la semaine prochaine.

- Le PCB de la carte "chaudière" a été finalisé avec le rajout du dissipateur et du boîtier sélectionnés :

PCB carte2 v2.PNG


- Recherches sur l'implémentation pour un radiateur.

- Conception du boîtier de la carte "thermostat" sous Solid Work :

Boitier1.jpg

Boitier2.jpg


- Mis à jour du planning prévisionnel :

Planning prévisionnel semaine17.png


  • Compte-rendu de la réunion :
- Exposition de ce qui a été accompli cette semaine.


  • Pour la semaine prochaine :
- Après réception des composants, soudage de ces derniers sur la carte "thermostat".
- Tests de la carte et modification du code (à adapter pour les NRGs).
- Réalisation du PCB pour la carte "radiateur".
- Rédaction du rapport.


Semaine 18 (08/02/2016)

  • Ce qui a été fait :

- Soudage des composants après réception sur la deuxième carte qui avait été tirée pour l'occasion. Malheureusement, la récupération de la température ne fonctionne toujours pas pour une raison encore inconnue.

- Remplacement du panStamp éventuellement défectueux sur la carte "thermostat" deuxième version : la communication RF avec les autres panStamps fonctionne, ainsi que la réception de la température !

- Etablissement de la communication entre l'interface graphique (reliée au panStamp AVR) et la carte "thermostat" : la température envoyée en continu par la carte "thermostat" est bien reçue sur l'interface, et les consignes envoyées depuis l'interface au thermostat sont bien transmises.

- Essai de communication entre les deux cartes (panStamps NRG) pour le moment non concluant.

- Schéma électronique et PCB de la carte radiateur réalisés :


Schéma carte2 radiateur.PNG


PCB carte2 radiateur.PNG


- Le boîtier pour la carte "thermostat" n'a pas pu être imprimé cette semaine mais le sera la semaine suivante avec les modifications qui lui ont été apportées suite au changement de carte (réduction de la taille et de la profondeur).

- Rédaction du rapport.


  • Pas de réunion cette semaine.


  • Pour la semaine prochaine :
- Etablissement de la communication entre les deux cartes.
- Régler le souci d'actualisation de l'interface.
- Pouvoir envoyer des températures avec des valeurs décimales à l'interface.
- Démonstration de la "chaîne" complète.
- Réalisation de la vidéo ou prise de rendez-vous pour la semaine suivante si M. Engels n'est pas disponible.
- Terminer le rapport.

Semaine 19 (15/02/2016)

  • Ce qui a été fait cette semaine :

- La première version du rapport a été envoyée.

- Nous arrivons maintenant à afficher les décimales sur l'interface graphique.

- L'actualisation de la température est également opérationnelle.

- La deuxième carte marche toujours partiellement, mais permet tout de même de faire fonctionner la chaîne complète. [EDIT] La deuxième carte fonctionne, nous avons pu mettre en évidence un bug dans les codes de panStamp. Il faut en effet effectuer un redémarrage du module radio pour que le panStamp fonctionne uniquement en réception.

Résultat final.JPG


- Le premier prototype du boîtier a été imprimé et le système de fermeture fonctionne correctement (photos ci-dessous) :

Boitier1bis.jpg Boitier2bis.jpg


- Le prototype final du boîtier a été imprimé :

Boitierfinal.jpg


- Les dernières fonctionnalités du thermostat ont été implantées (mode sommeil long, départ maison, etc).

- La vidéo a été tournée.

- Le rapport a été corrigé et le diaporama de la soutenance envoyé.


  • Compte rendu de la réunion :
- Démonstration du bon fonctionnement entre l'interface graphique et la carte "thermostat"
- Étude du dysfonctionnement du panStamp de la carte chaudière.
- Présentation du premier prototype de notre boîtier.
  • Pour la semaine prochaine :
- Finir de corriger le rapport et le diaporama
- Répéter la soutenance


Semaine 20 (22/02/2016)

  • Ce qui a été fait cette semaine :

- Le rapport a été terminé, corrigé et envoyé à nos tuteurs.

- Préparation de la soutenance.

- La partie "détection d'anomalie" qui permet de détecter un important écart de température (quand on ouvre une fenêtre par exemple) a été implémentée.


Fichiers rendus

Rapport intermédiaire : Fichier:Rapport PFE TISSOT TIRABY.pdf

Rapport final : Fichier:Rapport final PFE TISSOT TIRABY.pdf

Archive contenant le code du projet : Fichier:Codes Finaux P30.zip