******************************************************************************* Zones mémoires en EEprom ******************************************************************************* ------------------------------------ Zone mémoire pour la gestion du menu ------------------------------------ Variables de 37 octets de longueur soit: 16 octets pour la Ligne1 LCD 16 octets pour la Ligne2 LCD 1 octet pour la Position Curseur 1 octet pour l'Action --> ( Molette sens horloger = 128) 1 octet pour l'Action <-- ( Molette sens anti-horloger = 129) 1 octet pour l'Action Return ( Bouton ) 1 octet pour l'Indice Variable, ceci nous donne 37 octets X 59 fenêtres = 2183 octets Fichier "MENU": +----------------+----------------+------+------+------+------+------+ | 16 octets | 16 octets | 1 oct| 1 oct| 1 oct| 1 oct| 1 oct| +--+----------------+----------------+------+------+------+------+------+ |N°| ligne1 | Ligne2 |PosCur|Suite+|Suite-|Return|Indice| +--+----------------+----------------+------+------+------+------+------+ | 1||PROGRAMME.DATE.H| 017 | 002 | 005 | 006 | 000 | | 2||DATE.HEURE.REGLA| 017 | 003 | 001 | 008 | 000 | | 3||HEURE.REGLAGES.S| 017 | 004 | 002 | 009 | 000 | | 4||REGLAGES.SORTIE.| 017 | 005 | 003 | 010 | 000 | | 5||SORTIE.PROGRAMME| 017 | 001 | 004 | 130 | 000 | | 6||CHOIX_CYCLE.SORT| 017 | 007 | 007 | 014 | 000 | | 7||SORTIE.CHOIX_CYC| 017 | 006 | 006 | 005 | 000 | | 8|DATE............|jj/mm/aaaa......| 026 | 128 | 129 | 018 | 006 | | 9|HEURE...........|HH:MM...........| 018 | 128 | 129 | 019 | 009 | |10||TEMPERATURE_ECS.| 017 | 011 | 013 | 020 | 000 | |11||HYSTERESIS.PARAM| 017 | 012 | 010 | 021 | 000 | |12||PARAMETRES.SORTI| 017 | 013 | 011 | 022 | 000 | |13||SORTIE.TEMPERATU| 017 | 010 | 012 | 005 | 000 | |14||CYCLE1.CYCLE2.CY| 017 | 015 | 017 | 131 | 000 | |15||CYCLE2.CYCLE3.CY| 017 | 016 | 014 | 132 | 000 | |16||CYCLE3.CYCLE4.CY| 017 | 017 | 015 | 133 | 000 | |17||CYCLE4.CYCLE1.CY| 017 | 014 | 016 | 134 | 000 | |18|DATE............|jj/mm/aaaa......| 021 | 128 | 129 | 026 | 007 | |19|HEURE...........|HH:MM...........| 021 | 128 | 129 | 005 | 010 | |20|TEMPERATURE_ECS.|65°C............| 018 | 128 | 129 | 011 | 011 | |21|HYSTERESIS_TEMP_|AMBIANTE = 0,2°C| 030 | 128 | 129 | 027 | 003 | |22||T_MINI_EXTERIEUR| 017 | 023 | 025 | 028 | 000 | |23||T_MAXI_CHAUDIERE| 017 | 024 | 022 | 029 | 000 | |24||TYPE_REGULATION.| 017 | 025 | 023 | 030 | 000 | +--+----------------+----------------+------+------+------+------+------+ Fichier "MENU" suite: +----------------+----------------+------+------+------+------+------+ | 16 octets | 16 octets | 1 Oct| 1 Oct| 1 Oct| 1 Oct| 1 Oct| +--+----------------+----------------+------+------+------+------+------+ |N°| ligne 1 | Ligne 2 |PosCur|Suite+|Suite-|Return|Indice| +--+----------------+----------------+------+------+------+------+------+ |25||SORTIE.T_MINI_EX| 017 | 022 | 024 | 013 | 000 | |26|DATE............|jj/mm/aaaa......| 018 | 128 | 129 | 003 | 008 | |27|HYSTERESIS_TEMP_|RADIATEUR= 0,5°C| 030 | 128 | 129 | 040 | 004 | |28|TEMPERATURE_MINI|EXTERIEUR= -09°C| 030 | 128 | 129 | 023 | 014 | |29|TEMPERATURE_MAXI|CHAUDIERE = 80°C| 030 | 128 | 129 | 025 | 012 | |30|TYPE_REGULATION>|CHAUDIERE.VANNE_| 017 | 031 | 031 | 025 | 000 | |31|TYPE_REGULATION>|VANNE_3_VOIES.CH| 017 | 030 | 030 | 041 | 000 | |32||LUNDI.MARDI.MERC| 017 | 033 | 039 | 135 | 002 | |33||MARDI.MERCREDI.J| 017 | 034 | 032 | 136 | 002 | |34||MERCREDI.JEUDI.V| 017 | 035 | 033 | 137 | 002 | |35||JEUDI.VENDREDI.S| 017 | 036 | 034 | 138 | 002 | |36||VENDREDI.SAMEDI.| 017 | 037 | 035 | 139 | 002 | |37||SAMEDI.DIMANCHE.| 017 | 038 | 036 | 140 | 002 | |38||DIMANCHE.SORTIE.| 017 | 039 | 037 | 141 | 002 | |39||SORTIE.LUNDI.MAR| 017 | 032 | 038 | 059 | 000 | |40|HYSTERESIS_TEMP_|ECS = 0,5°C.....| 025 | 128 | 129 | 012 | 005 | |41||OUVRIR/FERMER.AN| 017 | 042 | 042 | 143 | 000 | |42||ANALOGIQUE.OUVRI| 017 | 041 | 041 | 144 | 000 | |43|SUPPRIMER.PLAGE.|OUI..........NON| 017 | 044 | 044 | 142 | 000 | |44|SUPPRIMER.PLAGE.|NON..........OUI| 017 | 043 | 043 | 059 | 000 | |45|JJJ.............|DEBUT.A.hh:mm...| 029 | 128 | 129 | 046 | 017 | |46|JJJ........hh:mm|DE.hh:mm.A.hh:mm| 016 | 128 | 129 | 052 | 018 | |47|SELECTION.CYCLEx|OUI..........NON| 017 | 048 | 048 | 130 | 001 | |48|SELECTION.CYCLEx|NON..........OUI| 017 | 047 | 047 | 007 | 000 | |49|CYCLEx...PLAGExx|JJJ.HH:MM.hh:mm.| 016 | 128 | 129 | 044 | 013 | |50|CYCLEx.TEMP_JOUR|20,5°C..........| 020 | 128 | 129 | 059 | 015 | |51|CYCLEx.TEMP_NUIT|17,5°C..........| 020 | 128 | 129 | 059 | 016 | |52|CYCLEx..........|CONTINUER.SORTIE| 017 | 053 | 053 | 055 | 000 | |53|CYCLEx..........|SORTIE.CONTINUER| 017 | 052 | 052 | 039 | 000 | |54||SELECTION.AJOUT_| 017 | 055 | 059 | 047 | 000 | |55||AJOUT_PLAGE.EDIT| 017 | 056 | 054 | 032 | 000 | |56||EDITER_CYCLE.TEM| 017 | 057 | 055 | 049 | 000 | |57||TEMP_JOUR.TEMP_N| 017 | 058 | 056 | 050 | 000 | |58||TEMP_NUIT.SORTIE| 017 | 059 | 057 | 051 | 000 | |59||SORTIE.SELECTION| 017 | 054 | 058 | 007 | 000 | +--+----------------+----------------+------+------+------+------+------+ Notes : - Les charactères "|" ne sont pas à prendre en compte. - Les '.' sont à supprimer et remplacer par des espaces. - Les numéros de lignes sont seulement là à titre indicatif. Codes " Action " ------+---------------+ 128 + 129 - 130 1 soit valeur de j = Sortie du Menu 131 1 soit Cycle1 132 2 soit Cycle2 133 3 soit Cycle3 134 4 soit Cycle4 135 1 soit lundi 136 2 soit mardi 137 3 soit mercredi 138 4 soit jeudi 139 5 soit vendredi 140 6 soit samedi 141 7 soit dimanche 142 Suppression de la plage sélectionnée 143 0 soit TypVanne = Digitale 144 1 soit TypVanne = Analogique ------------------------------------------------------------------------------- Structure des plages horaires pour le thermostat ------------------------------------------------ Le principe de stockage en mémoire des différentes plages de chauffe, se fait dans la mémoire eeprom. Chaque bit représente un quart d'heure, s'il est à zéro, la température de consigne sera la température de nuit et s'il est à un, la température de consigne sera la température de jour. Le système reprend la mémoire de 4 cycles qui contiennent chacun les 7 jours de la semaine et chaque jour est divisé en 1/4 d'heures. Ce qui nous fait 24 * 4 bits pour une journée, soit 12 octets. Un cycle comprend 7 jours, soit 7 * 12 = 84 octets. Ce qui donne pour les 4 cycles; 84 * 4 = 336 octets en tout. Remarque : Faire attention que dans chaque octet, les Msb et Lsb sont inversés par rapport à la logique "horaire". Dans chaque octet, le bit de poids fort, représente le premier quart d'heure de la première heure, et le bit de poids faible représente le quatrième quart d'heure de la deuxième heure de l'octet. Le système permet la création de 4 plages par jour. Une plage consiste en une zone de consigne de jour. (Cette limitation sera ajoutée dans le mode d'emploi) Représentation en mémoire ------------------------- C-J |Heures et quart d'heure (Avant-midi). Y-O +------------------------------------- C-U |00000000 00000000 00000000 00000000 00000000 11111111 L-R |00001111 22223333 44445555 66667777 88889999 00001111 E-S |01230123 01230123 01230123 01230123 01230123 01230123 ----+----------------------------------------------------- 1-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ----+----------------------------------------------------- bits|76543210 76543210 76543210 76543210 76543210 76543210 Byte| 0 1 2 3 4 5 C-J |Heures et quart d'heure (Après-midi). Y-O +------------------------------------- C-U |11111111 11111111 11111111 11111111 22222222 22222222 L-R |22223333 44445555 66667777 88889999 00001111 22223333 E-S |01230123 01230123 01230123 01230123 01230123 01230123 ----+----------------------------------------------------- 1-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 3-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Lu|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Ma|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Me|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Je|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Ve|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Sa|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 4-Di|xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ----+----------------------------------------------------- bits|76543210 76543210 76543210 76543210 76543210 76543210 Byte| 6 7 8 9 10 11 Exemple de programmation pour un cycle. --------------------------------------- Définition des plages "Température Jour". ----------------------------------------- Lundi : [06h30 à 09h45] & [16h30 à 22h15] Mardi : [06h30 à 09h45] & [16h30 à 22h15] Mercredi : [06h30 à 22h15] Jeudi : [06h30 à 09h45] & [16h30 à 22h15] Vendredi : [06h30 à 09h45] & [16h30 à 23h30] Samedi : [08h00 à 23h30] Dimanche : [07h30 à 22h45] Contenu de l'EEprom ------------------- C-J |Heures et quart d'heure (Avant-midi). Y-O +----------------------------------------------------- C-U |00000000 00000000 00000000 00000000 00000000 11111111 L-R |00001111 22223333 44445555 66667777 88889999 00001111 E-S |01230123 01230123 01230123 01230123 01230123 01230123 ----+----------------------------------------------------- 1-Lu|00000000 00000000 00000000 00111111 11111110 00000000 1-Ma|00000000 00000000 00000000 00111111 11111110 00000000 1-Me|00000000 00000000 00000000 00111111 11111111 11111111 1-Je|00000000 00000000 00000000 00111111 11111110 00000000 1-Ve|00000000 00000000 00000000 00111111 11111110 00000000 1-Sa|00000000 00000000 00000000 00000000 11111111 11111111 1-Di|00000000 00000000 00000000 00000011 11111111 11111111 ----+----------------------------------------------------- bits|76543210 76543210 76543210 76543210 76543210 76543210 Byte| 0 1 2 3 4 5 ----+----------------------------------------------------- C-J | Heures et quart d'heure (Après-midi). Y-O +------------------------------------------------------+ C-U | 11111111 11111111 11111111 11111111 22222222 22222222| L-R | 22223333 44445555 66667777 88889999 00001111 22223333| E-S | 01230123 01230123 01230123 01230123 01230123 01230123| ----+------------------------------------------------------+ 1-Lu| 00000000 00000000 00111111 11111111 11111111 10000000| 1-Ma| 00000000 00000000 00111111 11111111 11111111 10000000| 1-Me| 11111111 11111111 11111111 11111111 11111111 10000000| 1-Je| 00000000 00000000 00111111 11111111 11111111 10000000| 1-Ve| 00000000 00000000 00111111 11111111 11111111 11111100| 1-Sa| 11111111 11111111 11111111 11111111 11111111 11111100| 1-Di| 11111111 11111111 11111111 11111111 11111111 11100000| ----+------------------------------------------------------+ bits|76543210 76543210 76543210 76543210 76543210 76543210 | Byte| 6 7 8 9 10 11 | ----+------------------------------------------------------+ *******************************************************************************