Commit ef42674f52f78e08e330de2a4ed5192f7a6decda

Authored by Geoffrey PREUD'HOMME
2 parents 03b53f28 aba0e291

Merge branch 'master' of archives.plil.fr:gbontoux/s6-mp-tutorat

Showing 1 changed file with 29 additions and 3 deletions   Show diff stats
... ... @@ -3,7 +3,12 @@
3 3  
4 4 # Sujet
5 5  
6   -Le projet consiste à réaliser un thermostat pour la commande du chauffage d'une maison individuelle. Le dispositif devra d'abord afficher alternativement la température et l'heure chaque 10s, sur des afficheurs 7-segments. Notre thermostat devra aussi permettre le réglage de la température pour chaque heure de la journée, selon deux modes: jour et nuit, qui seront réglé par l'utilisateur. Enfin, la commande permettant l'allumage de la chaudière se fera en fonction de la température mesurée. Si celle-ci est 0.5°C inférieure à la consigne fixée, la chaudière s'allume. Si la température mesurée dépasse la consigne de 0.5°C, la chaudière s'eteint.
  6 +Le projet consiste à réaliser un thermostat pour la commande du chauffage d'une maison individuelle. Le dispositif devra d'abord afficher alternativement la température et l'heure chaque 10s, sur des afficheurs 7-segments. Notre thermostat devra aussi permettre le réglage de la température pour chaque heure de la journée, selon deux modes : jour et nuit, dont les températures seront réglé par l'utilisateur. Enfin, la commande permettant l'allumage de la chaudière se fera en fonction de la température mesurée. Si celle-ci est 0.5°C inférieure à la consigne fixée, la chaudière s'allume. Si la température mesurée dépasse la consigne de 0.5°C, la chaudière s'eteint.
  7 +
  8 +De plus nous nous sommes fixés un objectif supplémentaire afin de faire programme qui consomme un minimum d'énergie. Bien que ce genre de système est branché en permanence au secteur et la consommation du micro-contrôleur est négligeable par rapport à celle de la chaudière, on considère que programmer de manière optimisée est une bonne pratique à adopter.
  9 +
  10 +Enfin, afin de vérifier la validité de notre algorithme et de nos configurations, nous avons recréé une simulation du système avec une Arduino Mega 2560, qui est la carte que nous avons utilisé pour les TP de microprocesseurs, et que nous avons programmé en utilisant les mêmes outils utilisés pendant lesdits TP.
  11 +
7 12  
8 13 # Architecture matérielle
9 14  
... ... @@ -12,6 +17,11 @@ Le projet consiste à réaliser un thermostat pour la commande du chauffage d'un
12 17 On utilisera 4 boutons : pour valider, revenir en arrière, incrémenter et décrémenter. Ils sont branchés sur les ports d'interruption INT0 à INT3 respectivement pour éviter une scrutation afin d'économiser de l'énergie.
13 18  
14 19 Le capteur de température est connecté sur le convertisseur analogique-numérique numéro 8 (`ADC8`).
  20 +Concernant la réalisation de notre composant, nous avons prévu d'utiliser un potentiomètre afin de régler la température d'entrée du thermostat.
  21 +
  22 +## Sorties
  23 +
  24 +En sortie, nous avons prévu 4 afficheurs 7-segments, lesquels permetront l'affichage de l'heure, de la température, et du mode de fonctionnement. Les afficheurs devront aussi permettre à l'utilisateur de régler le thermostat en faisant défiler les options de réglages (heure, date, réglage de la température en fonction de l'heure de la journée).
15 25  
16 26 # Étude du fonctionnement
17 27  
... ... @@ -56,12 +66,28 @@ Les associations de chaque heure de la semaine à son mode (jour/nuit) seront st
56 66  
57 67 # Configuration des interfaces
58 68  
59   -## ADC
  69 +## Interruptions externes
  70 +
  71 +Nos boutons sont branchés sur les ports d'interruptions `INT0` à `INT3`. On active donc les interruption au niveau du micro-contrôleur avec la directive `SEI` (qui servira aussi pour les autres interfaces mais on ne le rappelera pas). Ensuite, on active les interruptions sur front montant
  72 +
  73 +TODO Blabla rebond etc.
60 74  
61   -On le configurera de manière à mettre les 8 premiers bits de points forts sur un registre complet <!-- TODO comment ça s'appelle ce mode -->. En effet, les valeurs de témpératures allant de 5,0° à 30,6°, en choisissant une précision de 0,1° on obient 256 valeurs possibles, ce qui peut se stocker sur un seul régistre. Une précision supplémentaire ne semble pas nécessaire.
  75 +## Analogic to Digital Converter (ADC)
  76 +
  77 +Le thermostat est branché sur l'entrée analgique `ADC0`. Pour éviter d'utiliser de l'énergie inutilement, on désactivera les autres convertisseur analogique-numérique avec les directives `DIR0` et `DIR2`.
  78 +
  79 +On configurera les registres concernant l'ADC de manière à mettre les 8 bits de points forts sur un seul registre (`ADCH`). En effet, les valeurs de témpératures allant de 5,0° à 30,6°, en choisissant une précision de 0,1° on obient 256 valeurs possibles, ce qui peut se stocker sur un seul régistre. Une précision supplémentaire ne semble pas nécessaire.
62 80  
63 81 Il sera de plus configuré pour s'activer sur demande et activera une interruption dès que la conversion est terminée afin d'éviter toute scrutation.
64 82  
  83 +## Timer
  84 +
  85 +TODO
  86 +
  87 +## Watchdog
  88 +
  89 +TODO
  90 +
65 91 # Algorithme
66 92  
67 93 ## Menu
... ...