P30 Thermostat connecté et intelligent

De Wiki d'activités IMA
Révision datée du 16 janvier 2016 à 16:05 par Etissot (discussion | contributions) (Semaine 10 (30/11/2015))

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 prévisionnel à venir)


  • 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 :

- 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é.

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.

- É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'acceuil pour le thermostat