• Aucun résultat trouvé

Système de contrôle des AHU au LibanPost

N/A
N/A
Protected

Academic year: 2021

Partager "Système de contrôle des AHU au LibanPost"

Copied!
114
0
0

Texte intégral

(1)

HAL Id: dumas-01922873

https://dumas.ccsd.cnrs.fr/dumas-01922873

Submitted on 14 Nov 2018

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Khodor Barakat

To cite this version:

(2)

Institut des Sciences Appliquées et Économiques - Université Libanaise

ISAE – Cnam Liban

Centre du Liban associé au Conservatoire national des arts et métiers – Paris

__________________

MÉMOIRE

Présenté en vue d'obtenir

Le DIPLÔME D'INGÉNIEUR CNAM

SPÉCIALITÉ : ÉLECTRONIQUE

Par

BARAKAT Khodor

___________________

Système de Contrôle des

AHU au LibanPost

Soutenu le 18 Décembre 2013

___________________

Jury:

Président : M. Michel Terré.

Membres: M. Khaled Itani, M. Haissam Hajjar, M. Chaouki Diab.

(3)

Sommaire

Remerciements ... 4

Introduction ... 7

Chapitre 1: Composition et fonctionnement du système de climatisation ... 8

1.1. Composition du Système ...8

1.2. Fonctionnement Actuel du Système ...8

1.3. Conséquence et problèmes de ce fonctionnement...9

Chapitre 2:Présentation du Projet ... 10

2.1. Objectif ...10

2.2. Présentation du système à concevoir ...12

2.3. Carte Secondaire (Nœud) ...13

2.4. Carte Mère (Main Board) ...14

2.5. Partie Informatique ...15

Chapitre 3:Réalisation et structure du système ... 17

3.1. Structure du Nœud ...17

3.1.1. Ready for Pic Board ... 17

3.1.2. Capteurs De Température ... 19

3.1.3. Afficheur LCD ... 25

3.1.4. Module EasyBee3 Board ... 25

3.2. Structure de la Carte Mère ...27

3.2.1. Module RTC2 ... 29

3.2.2. Module EEPROM ... 30

3.2.3. Carte Relais ... 30

3.2.4. Clavier 4*4 ... 31

Chapitre 4:Protocole ZigBee ... 33

4.1. Qu’est ce que ZigBee ...33

4.2. Comparaison de ZigBee avec d’autres technologies Radio ...34

4.3. Norme IEEE 802.15.4 ...35

4.4. Application du protocole Zigbee dans notre Projet ...42

Chapitre 5:Réalisation et Fonctionnement du système ... 43

5.1. Logiciel et Outils de Développement ...43

5.2. Fonctionnement et Brochage du Nœud ...43

(4)

5.4. Application .Net et Base de Données ...74

5.4.1. Base de Données SQL Server ... 74

5.4.2. Structure de la Base de Données ... 75

5.4.3. Application .Net et Service Windows ... 82

5.4.4. Fonctionnement de l'Application ... 83

5.4.5. Caractéristiques de l'Application ... 85

5.4.6. Application .Net - Interface Utilisateur ... 87

5.4.7. Visualisation des Sorties ... 92

5.4.8. Interface Web ... 92

5.4.9. Interface LabView... 94

5.4.10. Mise en place du système et essai ... 96

5.4.11. Problèmes rencontrés durant le fonctionnement et solution proposées ... 98

Chapitre 6:Budget et Rendement prévu ... 99

6.1. Budget ...99

6.2. Cout des Matériaux ...101

6.3. Rendement Prévu ...102

Conclusion ... 105

Bibliographie... 106

Sitographie ... 106

Glossaire ... 108

Liste des Figures ... 110

Liste des Tableaux ... 113 Les annexes (Datasheet, codes sources et logiciels…) sont disponibles sur un CD joint avec ce rapport.

(5)

Remerciements

Je tiens à remercier toute l’équipe pédagogique de l’ISAE-CNAM et les intervenants professionnels responsables de la formation d’ingénieur CNAM en électronique, pour avoir assuré la partie théorique de celle-ci.

Je tiens à remercier pour leur implication, leur aide et leur participation durant le projet :

Haissam EL HAJJAR, mon tuteur pour le temps qu’il m’a consacré.

Hassan CHAHROUR, Directeur de l’Administration, pour m’avoir accordé toute sa confiance et

pour son soutient durant toutes les phases du projet.

Mario CHARTOUNY, Directeur du Département Informatique, pour sa bonne humeur et ses

précieux encouragements et support durant le projet et surtout dans la phase d’installation.

Basil ABOU AISHI, Analyste Senior en développement .Net, pour sa disponibilité et son

expertise dans le développement .NET et SQL et surtout son aide durant la réalisation du projet.

Enfin, je remercie tous mes proches qui durant ces sept années d’études, m’ont supporté et surtout encouragé.

(6)

La société LibanPost

LibanPost est l'opérateur postal national au Liban

Description

LibanPost est un jeune opérateur postal, créé en 1998, propriété privée, en charge de l'exploitation du secteur postal.

Depuis sa création, LibanPost a entrepris une réhabilitation massive et un programme de diversification afin d’assurer une croissance constante. Dans cette perspective, la société offre aujourd’hui plus de 150 services, couvrant le mail et l’express, services financiers et d’assurance, les détails et activités de marchandisage, des solutions d’affaires, e-commerce, et les formalités des services gouvernementaux. LibanPost a été particulièrement renommé dans le secteur public pour fournir une gamme complète de services gouvernementaux dans 15 institutions publiques, se positionnant comme un intermédiaire officiel entre les citoyens et les institutions gouvernementales; LibanPost gère le front-end et les rôles de service à la clientèle, et gère la logistique des questions liées à l’accomplissement du service.

Mission

LibanPost est responsable de fournir une large gamme de services et des produits postaux, dépassant les attentes des clients en matière de fiabilité, l'exactitude, l'innovation et l'accessibilité, générant ainsi un profit et créer de la valeur pour ses actionnaires.

Ainsi fournit des services qui sont essentiels pour chaque citoyen ou résident au Liban, en outre le centre d’appels de l’entreprise joue un rôle primordial dans la prestation des informations nécessaires pour tous les produits et la gamme de services, les réponses aux demandes de suivi pour les formalités de messagerie et de gouvernement, l’enregistrement de diverses réclamations et plaintes, et récemment, la commande des services à domicile.

Pour un petit pays comme le Liban, avec 4,5 millions d'habitants, la société gère une moyenne de 20 millions d'envois postaux par an.

(7)

LibanPost emploie 900 salariés avec la moyenne d'âge de 35 ans; LibanPost a délibérément attiré des jeunes hommes et femmes qui sont aujourd'hui la clé de la réussite dans l'entreprise de conduite dynamiques hautement qualifiés.

La technologie est aussi un pari clair pour la croissance de l'entreprise, l'automatisation a touché tous les aspects de l'activité de LibanPost. Cette société a jusqu'ici développé des applications pour les services 150 et 350 sous-services, parmi lesquels la plate-forme de services gouvernemental unique qui consolide, dans un design convivial, des services gouvernementaux et de traitement de bout en bout. La technologie a également permis à LibanPost de développer des services innovants tels que l'installation du service d'accueil, la fourniture de services de bureaux de poste dans les locaux du client, et le codage d’adresse utilisant la technologie GPS.

Informations générales

LibanPost exploite aujourd'hui un centre de tri qui renferme la direction générale et d’un réseau croissant de 90 bureaux de poste, couvrant l'ensemble du territoire libanais, et est présent dans les zones à fort trafic comme les centres commerciaux, avec des heures d'ouverture prolongées, dans les universités et les entreprises.

(8)

Introduction

La demande mondiale sur l’énergie est en augmentation, cette demande pose des problèmes dans le futur prochain et surtout sur les sources d’énergies non renouvelables, cette conséquence à pousser les états à prendre des mesures pour anticipés les problèmes dû à cette demande par recourir à des sources d’énergies renouvelables et par trouver des moyens servant à réduire la consommation d’énergies.

La plupart des actions permettant de réduire les consommations d’énergie sont simples à mettre en œuvre et très rapidement rentables, parmi ces solutions on cite, les solutions à basse consommation et l’intégration d’automatismes dans les systèmes.

A Libanpost, les couts énergétiques représentent une partie importante des charges, parmi ces couts on cite les couts relatifs à la climatisation, la ventilation et l'éclairage. Dans notre projet on met l’accent sur les couts relatifs au système de climatisation, en fait on cherche à trouver une solution permettant de réduire les dépenses énergétiques de ce système.

Nous présentons dans ce rapport la conception d’un système permettant de gérer le fonctionnement des AHU d’une façon automatique et économique. Une telle approche est devenue une nécessité pour atteindre les objectifs désirés et pour obéir aux exigences de la norme ISO 9001 :2008 (Pour Management et Opération) acquis en 2011.

Ce rapport présente le système proposé du Contrôle des AHU. Ce rapport est décliné de six chapitres:

Dans le chapitre 1, je présente la composition et le fonctionnement du système actuel de climatisation ainsi que les problèmes et les conséquences de ce fonctionnement.

Le chapitre 2 décrit l’objectif et le système prévu à réaliser.

Le chapitre 3 présente la réalisation du système et son mode de fonctionnement.

Le chapitre 4 décrit le Protocole Zigbee est ses applications dans le projet.

Le chapitre 5 décrit l’installation du système, les essais et les résultats obtenus.

Enfin, le chapitre 6 discute le budget nécessaire pour généraliser le système dans tout le bâtiment ainsi que le rendement prévu et le revenu d’investissement dans ce projet.

(9)

1. Composition et fonctionnement du système de climatisation

Le centre de tri est un bâtiment répartis sur une dimension d’environ 5500 m2, composés de 2 étages et subdivisés en département divers (Finance, Ventes, IT,…..).

1.1 Composition du Système

Le système de climatisation dans le centre de tri est un système composée de Chillers1 (3 refroidisseurs) et Boilers2 (3 chaudières) avec une installation des tuyaux répartis tout le long du bâtiment, des pompes distribuent l’eau froide ou chaude à travers ces tuyaux pour arriver à des unités de traitement de l'air appelés AHU3 ( Air Handling Unit), lorsque ces unités fonctionnent, elles distribuent l’air (chaud ou froid) dans la zone à couvrir, ces unités sont mises sous tensions ou hors tension par un opérateur humain à travers des disjoncteurs répartis sur 2 tableau de distribution électrique.

1.2 Fonctionnement Actuel du système

Les Chillers el Boilers ont leurs propres systèmes de contrôle (temps de démarrage et d’arrêt, régulation selon la température…) mais ce système a un point faible représenté par les AHU. Les unités AHU (10 unités) sont des unités passives qui ne possèdent pas un système automatique gérant leur fonctionnement, un agent est chargé de mettre ces unités sous tensions ou hors tension durant les heures de travail.

1

Chiller: appareil de réfrigération mécanique, comme un climatiseur, sauf qu'il refroidit un liquide (généralement de l'eau).

2

Boiler : Chaudière, un équipement industriel servant à faire chauffer l'eau ou produire de la vapeur.

3

AHU: Unité terminal de traitement de l’air, machine utilisée pour transférer et modifier l'air dans une zone.

(10)

1.3 Conséquence et problèmes de ce fonctionnement

Ce fonctionnement pose des problèmes, citons par exemple :

1. Absence de l’agent qui est en charge, ce qui pose des délais, retard et oublis parfois pour

prendre des actions.

2. Difficulté de management, afin de prendre une action envers une unité des AHU, l’agent

en charge doit être présent face au panneau de distribution électrique pour ouvrir ou fermer le disjoncteur propre à cette unité, de même cet agent ne peut pas savoir l’état d’une unité lorsqu’il est présent dans des zones divers ou même lorsqu’il est présent dans son bureau.

3. Le fonctionnement permanent des AHU sans asservissement, en plus de la consommation

inutile d’énergie, provoque un inconfort dû au chauffage ou réfrigération excessives et surtout dans certains mois ou la climatisation n’est pas une nécessité.

On estime en 2013 que le cout annuel de l’énergie utilisée par les AHU atteindra 25 Millions L.L, la valeur de ce cout est déduite à partir des tableaux 1 et 2.

Tableau 1:Puissance mensuelle et annuelle des AHU

4

Dans le calcul de la puissance mensuelle, un mois est considéré comme 22 jours de travail.

Numéro de L'AHU Puissance (KW) Heures de fonctionnement Puissance Mensuelle4 (KW) Puissance Annuelle (KW) AHU- 9 4.07 18 1611.72 19340.64 AHU-10 3.96 18 1568.16 18817.92 AHU-15 3.6 18 1425.6 17107.2 AHU-16 3.35 18 1326.6 15919.2 AHU-17 3.24 18 1283.04 15396.48 AHU-19 3.86 18 1528.56 18342.72 AHU-12 3.82 9 756.36 9076.32 AHU-13 1.95 9 386.1 4633.2 AHU-18 3.72 9 736.56 8838.72 AHU-14 1.79 9 354.42 4253.04 Total 33.36 144 10977.12 131725.44 Source d'Energie Cout moyen du KWH (TTC) Pourcentage d'utilisation Puissance Mensuelle (KW) Puissance Annuelle (KW) Cout Mensuel L.L. Cout Annuel L.L. EDL 125 L.L. 75% 8232.84 98794.05 1029105 12349260 Générateur 400 L.L. 25% 2744.28 26345.08 1097712 13172544 Total 10977.12 125139.13 2126817 25521804

(11)

2 Présentation du Projet

2.1 Objectif

Afin de diminuer les couts, faciliter le management et même obéir à la norme ISO, un système de contrôle est devenu une nécessité pour contrôler les 10 AHU répartis dans les zones diverses du bâtiment. Parmi les bénéfices de ce système, on cite :

1. Automatiser le fonctionnement de ces AHU et éliminer l’intervention humaine.

2. Faciliter le management et le contrôle à distance, l’opérateur sera capable de visualiser et contrôler l’état de chaque AHU à partir de son ordinateur.

3. Réduire la consommation en puissance, en fait réduire le cout énergétique.

Les 10 AHU sont réparties dans le bâtiment pour asservir les divers départements de l’entreprise, le tableau ci-dessous représente la localisation de chaque AHU et le panneau de distribution relatif à chaque unité.

La localisation de chaque AHU dans le bâtiment est représentée dans la carte de la figure 2.

18 heures représentent les départements qui travaillent dans 2 horaires (jour et nuit). 9 heures représentent les départements qui travaillent un seul horaire (jour).

Numéro de L'AHU Tableau de Contrôle

Localisation dans le centre Puissance (KW)

Horaire de fonctionnement

Heures de fonctionnement5

AHU- 9 DB-13 PLANT-LOCAL REGISTERED 4.07 8 :00 AM – 3 :00 AM 18

AHU-10 DB-13 PLANT-OPERATIONS 3.96 8 :00 AM – 3 :00 AM 18

AHU-15 DB-13 PLANT-CUSTOMS 3.6 8 :00 AM – 3 :00 AM 18

AHU-16 DB-13 PLANT-ARCHIVE CAGE 3.35 8 :00 AM – 3 :00 AM 18

AHU-17 DB-13 PLANT-CUSTOMS PATROL 3.24 8 :00 AM – 3 :00 AM 18

AHU-19 DB-13 PLANT-OSU 3.86 8 :00 AM – 3 :00 AM 18

AHU-12 DB-14 FINANCE-ORGANIZATION 3.82 8:00 AM - 17:00 PM 9

AHU-13 DB-14 FINANCE-ADMINISRATION 1.95 8:00 AM - 17:00 PM 9

AHU-18 DB-14 IT-RETAIL 3.72 8:00 AM - 17:00 PM 9

AHU-14 DB-14 CAFETERIA 1.79 8:00 AM - 17:00 PM 9

(12)
(13)

2.2 Présentation du système à concevoir

Le système à concevoir est un système automatique qui permet de contrôler et visualiser l’état des AHU afin d’éliminer l’intervention humaine et réduire la consommation en puissance.

Caractéristiques

Le système doit fonctionner en 2 modes :

1. Mode sans régulation (Mode 1) similaire au fonctionnement actuel.

2. Mode avec régulation (Mode 2) ou le fonctionnement des AHU (ON/OFF) est basé sur la comparaison de la température mesurée et la température désirée).

En plus de ces 2 modes le système doit être caractérisé par :

1. L’horaire de fonctionnement qui peut être ajustable selon la nécessité et la spécification de chaque AHU.

2. Flexibilité du système, qui nous permet de travailler en mode manuel suite à un échec dans le système automatisé.

3. Visualiser instantanément l’état de chaque AHU.

4. Forcer le système en arrêt suite à un arrêt de travail (jour congé, jour chômé, incident…).

Le système prévu consiste à mesurer la température dans les différents endroits de la zone asservie à travers des cartes secondaires appelées (Nœud6) répartis pour couvrir toute la zone. La carte secondaire est munie de plusieurs capteurs pour mesurer la température, de même cette carte est chargée de calculer la valeur moyenne des températures mesurées par les capteurs, ensuite cette valeur moyenne est communiquée et envoyée à une carte mère. La carte mère est responsable de collecter les températures mesurées par les cartes secondaires, partager les données avec l’ordinateur, ainsi que prendre action (ON/OFF) envers les sorties, la composition des cartes et le mécanisme de fonctionnent sera décrit en détail ci-dessous.

Le système est illustré dans la figure 3 suivante

6

(14)

2.3 Carte Secondaire (Nœud)

La carte secondaire est composée de plusieurs capteurs numériques, d’un microcontrôleur, d’un afficheur LCD et d’un module réseau sans fil, comme déjà décrit le nœud est responsable de mesurer la température calculée par chaque capteur, ensuite la carte calcule la température moyenne des valeurs mesurées et envoi cette valeur à la carte mère par réseau sans fil, l’afficheur LCD affiche la valeur moyenne calculée. (La technologie utilisée sera décrit en détail dans le chapitre suivant).

Figure 3: Système de Contrôle

(15)

2.4 Carte Mère (Main Board)

La carte mère est la carte principale dans le système, elle est constituée des composants suivants :

 Un microcontrôleur puissant ayant un nombre suffisant de broches satisfaisant au besoin des Entrées/Sorties, interface SPI, I2C.

 Une mémoire non volatile (EEPROM) pour sauvegarder les paramètres mesurés (Températures collectées, états des sorties…).

 Une interface Ethernet pour communication et partage de donnée à travers le réseau.  Un module RTC (Real Time Clock), servant comme horloge et compteur.

 Un module réseau sans fil pour communication avec les cartes secondaires.  Un clavier pour configurer la Date/Heure dans le module RTC.

 Un afficheur LCD, pour afficher la Date/Heure et les commandes utilisées.  Une interface de Relais servant au contrôle des AHU.

De même cette carte sera responsable des fonctions suivantes :

1. Gérer la communication avec les Nœuds.

2. Collecter les températures calculées par les Nœuds. 3. Partager les données à travers le réseau.

4. Contrôler l’état des sorties (ON/OFF).

Un tel système est illustré dans le diagramme suivant.

Figure 4:Schéma bloc de la Carte Mère Figure 5:Schéma bloc de la Carte Mère

(16)

2.5 Partie Informatique

En plus la partie hardware du système ,il ne faut pas oublier la partie informatique représentée par le logiciel responsable d’envoyer les commandes à la carte mère ainsi que récupérer les données de cette carte (Températures collectées, état actuel des sorties…) et archivage des ces données dans une base de donnée pour être utilisé et représenté sous de forme de rapport (représentant la variation de la température, échec du système) de même il y a aussi le logiciel responsable de visualiser l’état des AHU instantanément ainsi que les paramètres mesurés, à noter que le fonctionnement du logiciel doit respecter les conditions de travail (jour chômé, grève…).

(17)
(18)

3 Réalisation et structure du système

3.1. Structure du Nœud

Un Nœud est composé des éléments suivants :  Ready for Pic Board.

Capteurs de Température. Afficheur LCD.

Module EasyBee3 Board.

3.1.1. Ready for Pic Board

La carte adoptée dans la structure d’un Nœud est la carte Ready for Pic conçu par

Mikroelectronika, cette carte est composée du microcontrôleur PIC 18F45K22 fabriqué par

Microchip, ce microcontrôleur est connecté à un oscillateur de 8 MHZ, les lignes Entrées/Sorties du microcontrôleur sont dirigées vers des connecteurs à broches (4 connecteurs) de type IDC10, de même cette carte est caractérisée par un module USB-USART, d’une zone de prototypage et d'un circuit d'alimentation à plage variable (7-23V AC ou 9-32V DC) .

7

7

Figure de la carte Ready for Pic - Téléchargé à partir de http://www.mikroe.com/ready/pic/ consulté le 01/10/2013.

(19)

Tableau 4:Légende de la carte Ready for Pic

Microcontrôleur PIC 18F45K22

Le microcontrôleur PIC 18F45K22 est un microcontrôleur de type 8 bits de la famille 18F, c’est un µc puissant dont les caractéristiques sont cités ci-dessous :

 Tension, alimentation (2.3V Min et 5.5V Max)

 Type de boîtier CI numérique: DIP.

 Nombre de broches: 40.

 Nombre d'Entrées/Sorties: 36.

 5 PORTS d’E/S (A, B, C, D, E).

 Taille mémoire de programme: 32KB.

 Taille EEPROM: 256Byte.

 Taille mémoire, SRAM: 1.5KB.

 Fréquence maximale de 64MHz.

 Périphériques: CAN, Comparateur, PMW, Minuterie.

 Type d'interface embarquée: EUSART, I2C, SPI.

 Température d'utilisation (-40°C Min et 125°C Max).

Pour plus de détail veuillez consultez DataSheet8.

8

Microchip Technology Inc, « Datasheet du Pic 18F45K22dernière modification 06/07/2012 », téléchargé du site web, ww1.microchip.com/downloads/en/DeviceDoc/41412F.pdf,consulté 05/02/2013.

Numéro Définition Numéro Définition

01 DEL indicateur d'alimentation 08 Connecteur de type mâle

02 DEL de communication UART (RX.TX) 09 Bouton de réinitialisation

03 Puce FTDI 10 Connecteur de programmation externe

04 Connecteur UART USB 11 Microcontrôleur PIC18F45K22

05 Alimentation sélectionné (3.3/5 V) 12 Oscillateur à quartz de 8 MHZ 06 Connecteur d’alimentation par adaptateur 13 Trou de connexion 07 Connecteur d’alimentation à fils externe 14 Zone de prototypage

(20)

3.1.2. Capteurs de Température

Le capteur de température utilisée est le DS18B20, c’est un capteur du fabricant Maxim Integrated, il communique via un bus 1-Wire (du même fabricant) et possède une précision de 12 bits sur une plage de -55°C à +125°C, avant de décrire comment ce capteur a été utilisé dans notre projet, il faut tout d’abord présenter les caractéristiques et le fonctionnement de ce capteur.

Caractéristiques du DS18B20 :

 Chaque composant DS18B20 possède un numéro de série unique sur 64 bits (18446 millions de milliards !) gravé en ROM.

 Ne nécessite aucun composant supplémentaire.

 Peut être alimenté par la ligne de données, sa plage d’alimentation varie de 3 à 5,5V.  Précision de +/- 0,5 °C sur la plage –10°C à +85°C.

 Thermomètre de résolution allant de 9 à 12 bits.  Temps de conversion maximal de 0,75 secondes.

 Seuils d’alarme définissables par l’utilisateur et stockés en mémoire non volatile.

 Commande de recherche de dépassement des alarmes qui identifie et adresse les composants dont la température excède les limites d’alarmes préprogrammées.

 Applications d’utilisation telles que : contrôle thermostatique, systèmes industriels, thermomètre ou tout système sensible à la température.

Description :

Le DS18B20 en boîtier TO92 a trois broches:

La masse GND en broche 1,

la broche DQ (Data Input/output) d’interface 1-Wire à drain ouvert en broche 2 (cette broche permet aussi d’alimenter le composant dans le mode « parasite power »),

la broche d’alimentation VDD en broche 3, cette broche doit être reliée à la masse pour le mode « parasite power ».

Présentation:

La figure 11 montre un schéma bloc du DS18B20.

Figure 9: DS18B20 en boitier TO92

(21)

La ROM de 64 bits stocke le numéro de série unique dont l’identifiant Famille (octet le moins

significatif des 64 bits : 28h pour les DS18B20).

La mémoire Bloc-Notes « Scratchpad » contient un registre de température de 2 octets qui mémorise la sortie numérique du capteur de température.

Le DS18B20 utilise le bus exclusif DALLAS 1-Wire qui permet la communication sur un seul fil.

La ligne de donnée nécessite une (forte) résistance de tirage puisque tous les dispositifs sont reliés au bus par une sortie 3 états ou une sortie drain ouvert (la broche DQ dans le cas du DS18B20). Dans ce système de bus, le microprocesseur (dispositif maître) identifie et adresse les composants sur le bus en utilisant le numéro de série unique à 64 bits. Ainsi le nombre de composants sur le bus est virtuellement illimité. Le DS18B20 peut aussi être alimenté de façon traditionnelle par sa broche VCC.

Une autre particularité du DS18B20 est de pouvoir fonctionner sans aucune alimentation externe. L’alimentation est fournie par la résistance de tirage par la broche DQ, cette méthode est appelée mode « parasite power ».

Figure 11 Schéma bloc D'un DS18B20 Figure 9 :DS18B20 en mode alimentation externe Figure 10:DS18B20 en mode alimentation externe

(22)

La donnée de sortie du DS18B20 est calibrée en seizième de degrés centigrades. Cette donnée de température est stockée dans le registre de température sous la forme d’un nombre en complément à deux au format 16 bits. Les bits de signe S indiquent si la température est positive (S= NL0) ou bien négative (S=NL1).

Organisation de la mémoire

La mémoire est constituée de ram statique SRAM pour la partie bloc-notes (Scratchpad) et de type mémoire non volatile EEPROM pour les registres de seuils d’alarme TH et TL et le registre

de configuration.

L’octet 0 et l’octet 1 de la mémoire bloc-notes constituent les octets de poids faible (LSB) et fort (MSB) du registre 16 bits de température. Ces octets sont à lecture seulement.

L’octet 2 et l’octet 3 de la mémoire bloc-notes constituent les registres d’alarme TH et TL.

L’octet 4 représente le registre de configuration.

Les Octets 5, 6 et 7 sont réservés à un usage interne par le dispositif et ne peuvent pas être modifiées.

L’octet 8 est à lecture seulement et contient le Code de Redondance Cyclique (CRC) calculé en fonction du contenu des octets 0 à 7 de la mémoire bloc-notes.

Les données sont écrites dans les octets 2 et 3 de la mémoire bloc-notes en utilisant la commande

WRITE SCRATCHPAD [4Eh] ; les données doivent être transmises au DS18B20 en

commençant par le bit le moins significatif de l’octet 2.

(23)

Pour vérifier l’intégrité des données, la mémoire bloc-notes peut être lue en utilisant la commande

READ SCRATCHPAD [BEh] après qu’une donnée ait été écrite. Lors de la lecture de la

mémoire bloc-notes, la donnée est transférée sur le bus 1-Wire en commençant par le bit le moins significatif de l’octet 0. Pour transférer les données de TH et TL de la mémoire bloc-notes vers

l’EEPROM, le maître du bus doit exécuter une commande COPY SCRATCHPAD [48h].

Les données en EEPROM sont conservées lorsque le composant n’est plus alimenté ; à la mise de nouveau sous tension les données de l’EEPROM sont rechargées dans les endroits correspondants de la mémoire bloc-notes. De même les données peuvent être rechargées à n’importe quel moment en utilisant la commande RECALL E² [B8h]. Le maître du bus peut exécuter une séquence de créneau temporel de lecture juste après une commande RECALL E², le DS18B20 indiquera si le transfert est en cours d’exécution en envoyant des Niveaux Logiques (NL=0), une fois le transfert est terminé, le DS18B20 envoi un (NL=1).

Registre de Configuration

L’octet 4 de la mémoire Bloc-notes contient le registre de configuration, qui est organisé comme illustré à la figure 13. L'utilisateur peut régler la résolution de conversion du DS18B20 en changeant les bits R0 et R1 de ce registre, comme indiqué dans le tableau 6. La valeur par défaut de mise sous tension de ces 2 bits est R0 et R1 = 1 = 1 (résolution 12 bits). Notez qu'il y a un compromis direct entre la résolution et le temps de conversion. Bit 7 et les bits 0 à 4 dans le registre de configuration sont réservés à l'usage interne du composant et ne peuvent pas être modifiés.

(24)

Système de Bus 1-Wire (1-Wire Protocol)

Le système de bus 1-Wire utilise un seul maître de bus pour commander un ou plusieurs dispositifs esclaves. Le DS18B20 est toujours un esclave. Quand il y a un seul esclave sur le bus, le système est considéré comme un système "single-drop", le système est dit "multi-drop" s'il y a plusieurs esclaves sur le bus.

Toutes les données et les commandes sont transmises bit le moins significatif en premier sur le bus 1-Wire.

Processus de mesure de la température

Pour récupérer la valeur de la température mesurée par un DS18B20 il faut respecter les étapes suivantes pour accéder aux données internes du composant :

1. Initialisation du composant. 2. Envoyer une Commande ROM. 3. Envoyer une Commande DS18B20.

L’initialisation est une étape importante dans le protocole 1-Wire, elle consiste que le maitre émet une impulsion de remise à zéro (Reset Pulse), cette impulsion est suivi par une impulsion de présence (Presence Pulse) émise par chaque composant connecté au bus, l’impulsion de présence permet au maitre d’identifier les composants esclaves présents sur le bus et qui sont près à communiquer.

Après que le maître identifie une impulsion de présence, il sera possible d’émettre une

commande ROM. Les commandes ROM permettent au maitre d’adresser un composant

(25)

spécifique parmi plusieurs présent sur le même bus, de même ces commandes permettent au maitre de déterminer le nombre et le type des composants présents sur le bus. Il existe 5 commandes Rom comme indiqué dans le tableau ci-dessus :

Après avoir sélectionné et adresser le composant esclave par commande ROM, le maitre sera prêt à émettre une commande DS18B20, ces commandes sont utilisées pour lire et écrire dans mémoire bloc-notes, initier la conversion de la température et même pour déterminer le mode d’alimentation, ces fonctions sont indiqués dans le tableau suivant :

Commande Définition

SEARCH ROM [F0h] Permet d'identifier le nombre et le type de composant présent sur le bus

READ ROM [33h] Utiliser lorsqu'il y a un seul composant sur le bus et permet de lire les 64-bit ROM Code du composant

MATCH ROM [55h] Permet d'adresser un composant spécifique en utilisant les 64-bit ROM Code du composant

SKIP ROM [CCh] Permet d'adresser tous les composants présents sur le même bus ALARMSEARCH [ECh] Permet d'identifier les composants avec une alarme déclenchée

Tableau 7 : Commande Rom du DS18B20

Commande Description Protocole Activité du Bus après émission

de la commande Commande Conversion de Température

Convert T Initier la Conversion de la Température

44h DS18B20 informe le maitre sur l’opération de conversion (fini ou en

cours)

Commande Mémoire Read Scratchpad Lire le contenu de la

mémoire avec le CRC

BEh DS18B20 transmet 9 octets de donnée au maitre

Write Scratchpad Ecrire dans les octets 2,3 et 4 de la mémoire (TH, TL, et

registre de configuration)

4Eh Maitre transmet 3 octet de donnée au DS18B20

Copy Scratchpad Copier TH, TL, et registre de

configuration de la mémoire Bloc-notes en EEPROM.

48h Rien

Recall E2 Repérer TH, TL, et registre de

configuration de l’EEPROM à la mémoire Bloc-Notes.

B8h DS18B20 transmet l’état de la commande Recall au maitre

Read Power Supply Identifier le mode d’alimentation du DS18B20 B4h DS18B20 transmet le mode d’alimentation au maitre Tableau 8 : Commande DS18B20

(26)

3.1.3. Afficheur LCD

Les afficheurs LCD (Liquid Crystal Display) sont devenues incontournables dans toutes applications qui demandent la visualisation de paramètres, il s’agit donc d’une interface Homme/Machine. Ils sont très utilisés dans les montages à microcontrôleur, et permettent une grande convivialité. Ils peuvent aussi être utilisés lors de la phase de développement d'un programme, car on peut facilement y afficher les valeurs de différentes variables.

Dans notre projet chaque nœud est équipé d’un afficheur LCD 2*16, cet afficheur comporte 2 lignes de 16 caractères permettant de visualiser la température moyenne calculée par chaque nœud ainsi que les commandes lors d’échange de donnée avec la carte mère.

3.1.4. Module EasyBee3 Board

Les zones à asservir sont des larges zones de grandes dimensions et pour éviter le câblage à longue distance et suite à la difficulté d’installation entre les bureaux on a décidé d’utiliser une solution radio pour envoyer les données des nœuds à la carte mère, cette solution radio est représentée par les modules Zigbee, ces modules sont à couts raisonnables par comparaison à d’autre module tel que les modules Wifi ou Bluetooth. La carte utilisée et carte easybee3 board (fabriqué par MikroElektronika). Le fonctionnement du module Zigbee est basé sur le standard IEEE 802.15.4-2003. Zigbee est un protocole de communication basse consommation pour distances courtes. Le module Zigbee MRF24J409 (fabriqué par Microchip) fournit avec la carte easybee3 un module optionnel, ses principales caractéristiques sont les suivants : débit de 250 kbit/s, fréquence de fonctionnement de 2.4 GHZ, consommation de 20 mA, couverture atteignant 100 m, le microcontrôleur communique avec ce module via l'interface série SPI.

Le protocole Zigbee sera décrit en détail dans le chapitre suivant.

9

Microchip Technology Inc, « Datasheet du MR24J40 dernière modification 08/18/2010 », téléchargé du site web, http://ww1.microchip.com/downloads/en/DeviceDoc/39776C.pdf, consulté 05/01/2013.

(27)

10

10

Figure de la carte EasyBee3 - Téléchargé à partir de http://www.mikroe.com/add-on-boards/communication/easybee3/consulté le 01/10/2013.

Figure 15 : Carte EasyBee3

Figure 16: Nœud installée dans une boite en bois

(28)

3.2. Structure de la carte Mère

La carte adoptée dans la composition de la carte mère est la carte EasyPic Pro V7. Cette carte est la nouvelle version du système de développement pour microcontrôleurs PIC de la famille 18f à (80 et 100 broches) de MikroElektronika, elle est remarquable par sa connectivité et sa performance. En effet, la nouvelle carte est également équipée d’un programmateur/débogueur

mikroProg qui permet de programmer les microcontrôleurs PIC. Le débogueur in situ est supporté

par tous les compilateurs du constructeur (mikroC, mikroBasic et mikroPascal).

La carte est composée des périphériques suivants : Les connecteurs de port, les LED et les boutons poussoirs qui sont divisés en des groupes d’entrée et de sortie. Des interrupteurs DIP à trois positions (tri-state) permettent d’associer facilement aux ports des résistances de rappel vers la masse ou vers l’alimentation. Au besoin des utilisateurs, la version 7 est équipée de deux afficheurs : un LCD graphique de 128 x 64 pixels et d’un LCD alphanumérique de 2 lignes de 16 caractères.

On remarque aussi de nouveaux modules, comme l’interface Ethernet, un ronfleur et encore des connecteurs pour les capteurs de température DS1820 et LM35. La carte dispose d’une alimentation double qui permet d’utiliser les micros alimentés sous 3,3 V et 5 V.

11

11

Figure de la carte EasyPic Pro v7 - Téléchargé à partir de http://www.mikroe.com/easypic-pro/, consulté le 01/10/2013.

(29)

En addition à cette carte on a utilisé les modules suivants pour constituer la carte mère du projet :  Pic 18F87J60. Module RTC2. Module EEPROM. Carte Relais. Clavier 4*4. Module Easybee3. Afficheur LCD 2*16. PIC 18F87J60

Le microcontrôleur PIC 18F87J6012 est un microcontrôleur de type 8 bits de la famille 18F, c’est un µc puissant dont les caractéristiques sont cités ci-dessous :

 Tension, alimentation (2 V à 2.7 V, 2 V à 3.6 V)

 Type de boîtier CI numérique: TQFP-80.

 Nombre de broches: 80.

 Nombre d'Entrées/Sorties: 5.

 9 PORTS d’E/S (A, B, C, D, E, F, G, H, J).

 Taille mémoire de programme: 128 KB.

 Taille mémoire, SRAM: 3808 B.

 mémoire tampon pour Ethernet RX/TX : 1 KB.

 Fréquence maximale de 41.667 MHz.

 Périphériques: CAN, Comparateur, PMW, Minuterie.

 Type d'interface embarquée : EUSART, Ethernet, I2C, MSSP, SPI.

 Température d'utilisation (-40°C Min et 125°C Max).

Ce microcontrôleur dispose d’un Contrôleur Ethernet avec une couche MAC intégré et d’une couche PHY. Il représente un port 10Base-T avec des sorties pour les 2 indicateurs LED. Le contrôleur Ethernet est caractérisé par une retransmission automatique programmable en cas de collision et d’un rejet automatique programmable des paquets erronés.

12

Microchip Technology Inc, « Datasheet du PIC 18F87J60 dernière modification 04/07/2011 », téléchargé du site web, http://ww1.microchip.com/downloads/en/DeviceDoc/39762f.pdf, consulté 05/10/2013.

(30)

Le choix de ce µc a été adéquat pour servir au besoin essentiel de notre projet, le contrôle à travers le réseau , ce µc avec l’interface Ethernet nous a permis d’implanter un mini Serveur Web et échanger les données avec la carte mère.

3.2.1. Module RTC2

Le module RTC2 de MikroElektronika est composé d’une l'horloge à temps réel série (RTC)

DS1307, ce module est caractérisé par une faible consommation en puissance. L'horloge en temps

réel permet au microcontrôleur d’avoir la date et l’heure y compris des corrections pour une année bissextile et pour les mois qui ont moins de 31 jours. Il dispose d'une fonction d'alarme, pour cette raison une batterie de secours permet au microcontrôleur de garder le temps réel lorsque l'alimentation est coupée. Le RTC2 utilise 5 V comme alimentation et communique avec le microcontrôleur en utilisant l'interface série I2C.

La raison pour utiliser ce module est pour servir comme calendrier et compteur dans le choix de

délais dans la communication entre les Nœuds et la carte mère.

13

13

Figure de la carte RTC2 - Téléchargé à partir http://www.mikroe.com/add-on-boards/rtc/rtc2/consulté le 05/10/2013.

Figure 20: Module RTC2

(31)

3.2.2. Module EEPROM

Pour éviter la perte des paramètres mesurées et afin de garder les états de sortie on a utilisé le module EEPROM de MikroElektronika pour sauvegarder ses paramètres, ce module permet de garder ces paramètres suite à la perte de l’alimentation. Le module est constitué de la mémoire

M24C08-W (STMicroelectronics) de taille 1 Koctet ce qui est équivalent à 256 valeurs de type

float. Le module EEPROM utilise 5 V comme alimentation et communique avec le microcontrôleur en utilisant l'interface série I2C.

14

3.2.3. Carte Relais

Pour contrôler les AHU on a besoin d’un courant alternatif puissant pour supporter la consommation de ces équipements et pour passer du courant faible au courant fort on a recours à la carte relais de MikroElektronika, cette carte est composé de 4 relais de 12 V et peut supporter une consommation jusqu'à 16A de courant et 250V de tension. Cette carte grâce au composant

ULN2803 permet au circuit de traverser les limites des sorties numériques vers le monde des

tensions et courants élevées. Cette carte peut être reliée à la carte mère par un connecteur IDC10.

15

14

Figure de la carte EEPROM - Téléchargé à partir de http://www.mikroe.com/add-on-boards/storage/eeprom/, consulté le 05/10/2013.

15

Figure de la carte Relais - Téléchargé à partir de http://www.mikroe.com/add-on-boards/various/relay4/, consulté le 05/10/2013.

Figure 21:Module EEPROM

(32)

3.2.4. Clavier 4*4

C’est un clavier composé de 16 boutons disposés en matrice 4x4 pour former un clavier alphanumérique standard. Certains systèmes embarqués qui nécessitent une intervention de l'utilisateur sous forme de chiffres (décimal ou hexadécimal) peuvent utiliser cette carte comme une solution. Ce clavier est muni d’un connecteur IDC10, compatible avec la carte mère.

Ce clavier est utilisé pour configurer le module RTC2.

16

16

Figure du clavier - Téléchargé à partir de http://www.mikroe.com/add-on-boards/various/keypad-4x4/ consulté le 05/10/2013.

Figure 23: Clavier 4*4

(33)

Afin de mieux comprendre le mécanisme de transfert de communication entre les nœuds et la carte-mère et leurs fonctionnements, il faut tout d’abord présenter le protocole ZigBee en décrivant son fonctionnement et ses applications dans notre projet.

(34)

4. Protocole ZigBee

4.1. Qu’est -ce que ZigB ee

ZigBee est un LP-WPAN (Low Power-Wireless Personal Ares Network). Autrement dit, il s’agit d’une technologie sans-fil à courte portée et à faible consommation énergétique. C’est un protocole de communication sans fil conçu par la ZigBee Alliance basé sur la norme IEEE 802.15.4.

Cette technologie a pour but la communication à courte distance (quelques centaines de mètres) entre les différents nœuds du réseau. On pourra aussi remarquer que ZigBee a un débit faible (moins de 0.1 Mbps). La figure nous présente les deux dernières caractéristiques et compare les différentes technologies sans fil actuelles. Il faudra tenir compte de ces spécifications lors de la conception d’applications basé sur la technologie ZigBee. Par exemple, il serait impensable de remplacer la technologie Wifi des box internet actuels par la technologie ZigBee étant donné que le débit est beaucoup trop faible pour transporter les données actuelles.

D’autres caractéristiques remarquables de ZigBee sont :

 le faible besoin de mémoire en comparaison à d’autres technologies sans-fil.

 la consommation réduite pour les systèmes fonctionnant sur batterie (se compte en années avec des piles AA).

 le coût réduit de l’infrastructure (équipements et installation) et la faible complexité.

(35)

 le grand nombre de nœuds adressables pour un seul réseau, permettant une zone de couverture étendue.

 le fonctionnement autonome, sûr et sécurisé pendant des années sans intervention.

Grâce à ses avantages la technologie ZigBee est devenue présente dans de nombreux domaines en expansion, notamment la domotique (contrôle des volets, de la lumière…). Avoir des maisons entièrement automatisé représente aujourd’hui une certaine utopie mais ZigBee espère fournir l’avancée technologique afin de répondre à ce problème. Nous trouvons aussi ZigBee dans le domaine de la santé (bracelets pour malades), la gestion de l’énergie (capteurs de courant, gestion du chauffage), le contrôle à distante (télécommandes uniques pour divers équipements) et la télécommunication (paiement avec téléphones portables).

4.2. Comparaison de Zigbee avec d’autres technologies Radio

La différence entre ZigBee et la plupart des autres WPAN se situe au niveau du temps d’utilisation du média. ZigBee est optimisé pour une faible utilisation du médium partagé par tous, (0,1% du temps). En effet, un module émetteur-récepteur occupera le médium pendant quelques millisecondes pour l’émission des données, attendra éventuellement une réponse ou un acquittement, puis se mettra en veille pendant une certaine période avant l’émission suivante.

Protocole Zigbee Bluetooth Wi-Fi

IEEE 802.15.4 802.15.1 802.11a/b/g/n/n-draft

Besoins mémoire 4-32 Kb 250 Kb + 1 Mb +

Autonomie avec Pile Années Jours Heures

Nombre de Nœuds 65000 + 7 32

Vitesse de transfert 250 Kb/s 1 Mb/s 11-54-108-320 Mb/s

Portée 100 m 10-100 m 300 m

Tableau 9 : Comparaison des principales technologies sans fil F i g u r e 2 7 : Le marché couvert par ZigBee

(36)

4.3. Norme IEEE 802.15.4 4.3.1 Introduction

L’IEEE 802.15.4 est un standard (norme) qui spécifie la couche physique et le contrôle d’accès au medium pour les LR-WPAN (Low-Rate Wireless Personal Area Network). Les LR-WPAN sont caractérisés par une faible consommation d’énergie, l’utilisation de CSMA-CA pour accès au médium et pour communiquer, la formation d’un réseau de type étoile, arbre ou maillé, l’allocation d’une adresse de 16 bits ou 64 bits, l’utilisation de plusieurs canaux de fréquence sur trois bandes différentes qui seront expliquées plus loin.

4.3.2 La couche physique

La couche physique est la couche plus basse du modèle OSI. Elle est responsable de la transmission et la réception des flux de données sur le support physique. Dans la norme 802.15.4, le medium physique est "l’air" où la communication se fait sur trois bandes de fréquences. La norme 802.15.4 définit la couche physique comme étant responsable des taches suivantes :

 Activation et désactivation de l’émetteur-récepteur radio  Sélectionner le canal de la fréquence

 Détecter la porteuse (CSMA-CA)

 Estimer la puissance du signal reçu (RSSI & LQI)  Modulation et codage de données

 Correction des erreurs.

(37)

Les réseaux de capteurs sans fil WSN (Wireless Sensor Networking) dans la plupart des cas utilisent la bande de fréquence de 2.4 GHz du fait que cette bande a un débit plus élevée et elle est disponible dans le monde entier.

4.3.3 La couche MAC 802.15.4

La couche MAC gère tous les accès au canal physique radio et elle est responsable des taches suivantes :

 Générer les trames beacon si le périphérique est un coordinateur.  Synchroniser les beacons.

 Envoyer les trames d’acquittement.  L’adressage de périphériques.

 Supporter l’association et dissociation des PAN’s.  Supporter la sécurité de périphériques.

 Utiliser le mécanisme CSMA-CA pour l’accès au canal.

 Manipulation et le maintien du mécanisme GTS (Guaranteed Time Slot).  Fournir un lien fiable entre deux entités MAC.

Figure 29: Bandes de fréquences et les débits de données

(38)

4.3.4 Type de périphériques LR-WPAN

Il existe deux types de périphériques physiques pour le système à faible consommation :  Les périphériques ayant toutes les fonctions possibles FFD (Full Function Device).  Les périphériques ayant des fonctions limitées RFD (Reduced Function Device).

Les équipements FFD peuvent fonctionner avec n’importe quel type de topologie et peuvent avoir trois rôles dans un réseau LR-WPAN :

 Coordinateur PAN.  Routeur.

 Equipement de fin (End device).

Les équipements RFD travaillent en topologie étoile seulement et ils ont moins de fonctions :  Ne peut pas être coordinateur du réseau.

 Communique seulement avec les coordinateurs du réseau.  En général ce sont des équipements de fin (end device).

Un réseau 802.15.4 nécessite au moins un équipement FFD comme étant coordinateur de réseau pour gérer la communication avec les autres équipements du réseau qui peuvent être des FFD, RFD ou les deux.

(39)

4.3.5 Personal Area Network Identifier (PAN ID)

Chaque réseau ZigBee est caractérisé par l’unique PAN identificateur (PAN ID) qui est commun pour tous les équipements du même réseau. Les équipements ZigBee sont soit préconfigurés avec un PAN ID pour se connecter au réseau ou bien ils peuvent découvrir un PAN ID dans les réseaux à proximité et sélectionner un PAN ID pour la connexion.

Le PAN ID est utilisé uniquement comme identificateur de réseau (adresse réseau). Cet identificateur peut être soit 16 bits soit 64 bits. La technologie ZigBee support les deux types de PAN ID. les équipements du même réseau ZigBee doivent partager les mêmes PAN ID.

4.3.6 Sélection du canal

Lors du démarrage d’un réseau, le coordinateur doit choisir un " bon " canal pour le bon fonctionnement du réseau. Pour ce faire, il effectue un scan de l’énergie sur plusieurs canaux (fréquences) pour détecter le niveau de l’énergie de chaque canal. Les canaux possédant une énergie excessive sont retirés de la liste des canaux potentiels pour le commencement.

4.3.7 Sélection d’un PAN ID

Après avoir complété le balayage de l’énergie, le coordinateur scanne sa liste des canaux potentiels pour obtenir une liste des PAN voisins. Pour ce faire, le coordinateur envoie une requête beacon (broadcast) sur chaque canal de transmission potentiel. Tous les coordinateurs et routeurs proches vont répondre à cette requête beacon en envoyant une trame beacon au coordinateur. Cette analyse est généralement appelée un scan actif ou PAN scan. Après avoir complété le scan du canal et le scan du PAN, le coordinateur sélection un canal aléatoire et le PAN ID 16 bits pour commencer.

4.3.8 Création du réseau ZigBee

Le coordinateur est responsable de choisir le canal, le PAN ID (16bits et 64bits), la sécurité et le profil de la stack pour le réseau. Vu que le coordinateur est le seul type d’équipement qui peut commencer le réseau, il est nécessaire que chaque réseau ZigBee possède un coordinateur. Après avoir commencé le réseau, le coordinateur permettra aux nouveaux équipements de se connecter au réseau. Il peut également acheminer les paquets de données et communiquer avec les autres équipements du réseau. Pour s’assurer de commencer dans un bon canal et avec un PAN ID non-utilisé, le coordinateur effectue une série de scans afin de découvrir toutes les activités RF dans les différents canaux et de découvrir toutes les PAN ID opérationnels.

(40)

4.3.9 Topologies du réseau ZigBee

Trois topologies peuvent être envisagées dans la mise en place d’un réseau ZigBee :  Topologie en étoile (STAR).

 Topologie en arbre (TREE).  Topologie maillé (MESH).

4.3.10 Adressage

Tous les équipements Zigbee utilisent deux adresses différentes, l’adresse 64bits et l’adresse 16bits. Chaque équipement physique a une adresse unique 64 bits qui est attribuée pendant la fabrication. L’adresse 64 bits comprend l’OUI (Organizationally Unique Identifier) de 3 octets qui est attribué par l’IEEE. L’adresse de 64 bits est également appelée l’adresse étendue.

La courte adresse de 16 bits comprend l’identificateur du réseau + l’identificateur du noeud. L’équipement reçoit une adresse 16 bits lors de la connexion dans un réseau Zigbee, c’est la raison pour laquelle l’adresse 16 bits est aussi appelée « l’adresse réseau ». L’adresse 0x0000 est réservé au coordinateur du réseau Zigbee, tandis que les autres équipements reçoivent une adresse 16 bits générée aléatoirement par le routeur ou par le coordinateur. Les adresses 16 bits ne sont donc pas uniques et peuvent changer. Il peut arriver d’avoir un conflit d’adresse lorsque deux équipements reçoivent la même adresse réseau. Dans ce cas, l’équipement quitte le réseau et rejoint plus tard pour obtenir une autre adresse aléatoire qui n’est pas en conflit avec une autre adresse dans le réseau. Si les adresses sont attribuées aléatoirement, cela implique que dans le réseau ZigBee les adresses sont dynamiques et qu’il est difficile d’identifier les équipements. Pour résoudre ce problème et pour garantir que les données soient livrées à la bonne destination, l’adresse de destination 64 bits est souvent incluse dans la transmission de données.

(41)

4.3.11 Format des trames ZigBee

La structure des trames ZigBee a été conçue afin de limiter le plus possible la complexité et en même temps pour les rendre suffisamment robustes pour la transmission dans un canal bruyant. Chaque couche ajoute à la trame sa structure en incluant des en-têtes et des « pieds » (footers) de trames spécifiques. Les trames ZigBee ont une taille maximale de 128 octets incluant l’overhead du protocole. L’IEEE 802.15.4 définie quatre structure de trames :

 Trame dit « Beacon » ou SuperFrame.

 Trame de données, utilisée pour tous les transferts de données.

 Trame d’acquittement, utilisée pour confirmer qu’une trame a été reçue avec succès.  Trame de commande MAC, utilisée pour gérer tous les transferts de contrôle MAC.

Figure 33: Exemple d'une trame de données ZigBee

PPDU (Physical Protocol Data Unit) est l’information totale envoyée dans l’air. La couche physique rajoute les overheads suivants :

 Preamble sequence 4 octets.  Start of Frame Delimiter 1 octet.  Frame Length 1 octet.

La couche MAC rajoute les overheads suivants :  Frame Control 2 octets.

 Data Sequence Number 1 octet.  Address Information 4-20 octets.  Frame Check Sequence 2 octets.

(42)

4.3.12 Mécanismes d’accès au réseau17

La couche MAC défini par l’IEEE 802.15.4-2003 gère l’accès aux canaux radio en utilisant le mécanisme CSMA/CA. Elle a aussi pour mission de transmettre les trames “beacon” et d’assurer la synchronisation. Les profils dérivés de ZigBee permettent de réaliser des mécanismes de fonctionnement de type “no beacon” (sans balise) et “beacon” (avec balise).

Sans balise (no beacon). Dans la solution “no beacon” (sans balise), le récepteur présent sur le

coordinateur du réseau est activé en permanence pour attendre des messages. Cette solution est utilisée lorsque le coordinateur peut être alimenté sur le secteur et qu’il n’y a donc pas de restriction au niveau de la consommation. Les stations peuvent par contre être en sommeil le plus clair de leur temps (c’est le cas par exemple des détecteurs de fumée ou des alarmes pour vol), mais manifester leur présence de façon très aléatoire. Peu importe le moment où elles sont activées puisque le coordinateur est en permanence à l’écoute du réseau. Les réseaux en mode “no-beacon” utilisent un mécanisme d’accès de type CSMA/CA. CSMA/CA signifie “Carrier Sense Multiple Access With Collision Avoidance”, c’est-à dire accès multiple avec détection de porteuse et évitement de collision. Avec CSMA, une station souhaitant émettre un message doit commencer par contrôler le trafic et s’assurer que la voie est libre. Si le canal est occupé, la station doit différer la transmission. Si le canal est libre pendant un temps donné, la station envoie une demande d’autorisation à émettre. La station transmet un message appelé Ready To Send (ou Request To Send, signifiant “prêt à émettre”) contenant des informations sur le volume des données qu’elle souhaite émettre et sa vitesse de transmission. Le récepteur répond un Clear To Send (“la voie est libre pour l’envoi”), puis la station commence l’émission des données. A la réception de toutes les données, la station réceptrice envoie un accusé de réception, qui est capté par les autres stations, leur signifiant que la voie est à nouveau libre. L’interrupteur sans fil pour l’éclairage fournit un exemple typique de réseau ZigBee “non beacon”. Le noeud d’un tel réseau est directement raccordé sur le réseau électrique tandis que les interrupteurs de lumière sont alimentés sur piles. L’interrupteur reste en sommeil en permanence et ne se réveille que lorsqu’on l’actionne manuellement pour allumer la lumière. A ce moment-là, il envoie la commande à la lampe, reçoit un accusé réception et se remet en veille. Dans un tel cas, le noeud “lampe” fait office de coordinateur alors que l’interrupteur peut être assimilé à un « équipement final ».

17

J-F-P,«communication par radiofréquence» - MESURES 796 juin 2007, http://www.mesures.com, Dernière consultation du site septembre 2013.

(43)

Avec balise (beacon). L’approche “beacon” (avec balise) est tout autre et n’est pas compatible

avec le mécanisme CSMA utilisé par le mode “avec beacon”. Ce mode est utilisé lorsqu’il y a des restrictions de la consommation et que les coordinateurs (ou les routeurs) doivent être alimentés sur piles. Dans les réseaux ZigBee de ce type, les coordinateurs envoient périodiquement une balise pour confirmer leur présence aux autres nœuds du réseau. Ils ont besoin d’être activés uniquement au moment où un “équipement final” quelconque envoie une balise. Tous les nœuds sont préalablement informés du moment où ils auront besoin d’être actifs, et ils peuvent donc être mis en veille entre la réception de deux balises. Ce protocole répond donc bien à l’objectif de ZigBee, qui a été imaginé pour réduire au minimum les temps où la fonction “radio” est active, de façon à réduire la consommation. Pour que tout fonctionne normalement, il faut par contre que les équipements du réseau soient dotés d’un mécanisme d’horloge très précis de façon à être “réveillés” au moment de l’envoi d’une balise qui leur est destinée.

4.4 Application du protocole Zigbee dans notre Projet

Le tableau 10 représente les paramètres et les configurations ZigBee utilisés dans notre projet

Paramètres Protocole Zigbee Paramètre utilisé

Couche modèle OSI Couche MAC

Fréquence Utilisée 2.4 GHZ

Types de Périphériques utilisée FFD et RFD

Topologie Etoile

Mode d'adressage 16 bits

Trames utilisée Trame de type Donnée

Taille de données émise 2 Octets

Mécanisme d'accès CSMA-CA Sans balise

(non beacon)

(44)

5 Réalisation et Fonctionnement du système

5.1 Logiciel et Outils de Développement

Pour faire le développement de notre système, plusieurs logiciels et plateforme ont été utilisé, dont on cite :

Le logiciel MikroC de Mikroelektronika est utilisé comme compilateur (Langage C) dans le développement du code source de la carte Ready for Pic et EasyPic Pro.

Microsoft VB.Net, utilisé Dans le développement de 2 applications :

1. Windows Service Application, c’est un service windows responsable de commander, échanger les données avec la carte mère et archiver les valeurs dans

la base de données.

2. Windows Form Application, c’est une interface graphique permettant à

l’utilisateur de modifier les paramètres du système dans la base de données.

Microsoft SQL Server 2008, utilisé dans la construction de la base de données, cette base de données est utilisée pour sauvegarder et archiver les valeurs (Températures, états des sorties) récupérées de la carte mère.

Crystal Reports 2010, utilisé dans la génération des rapports (Rapport de la variation des températures – sorties, Rapport des erreurs du système et Rapport des horaires actives).

Labview 2012, utilisé pour concevoir le système de visualisation graphique des paramètres du système.

5.2 Fonctionnement et brochage du nœud

Dans cette partie nous allons présenter le brochage des périphériques sur la carte Ready for Pic, ainsi que décrire le mécanisme de mesure de la température et le transfert des valeurs mesurées à travers le réseau Zigbee établie entre la carte mère et les nœuds, tout en présentant le code source. Chaque nœud est Composé de 3 Capteurs DS18B20, un LCD et un module ZigBee (EasyBee3 Board), le brochage de ces éléments est présenté ci-dessous :

(45)

PORT Numéro de Broche Périphérique Associé

PORTB RB0 CS Broche d’ Easy bee3 module

PORTB RB1 RST Broche d’ Easy bee3 module

PORTB RB2 INT Broche d’ Easy bee3 module

PORTB RB3 WAKE Broche d’ Easy bee3 module

PORTC RC3 SCK Broche d’ Easy bee3 module

PORTC RC4 MISO Broche d’ Easy bee3 module

PORTC RC5 MOSI Broche d’ Easy bee3 module

PORTD RD2 LCD_RS_Direction PORTD RD3 LCD_EN_Direction PORTD RD4 LCD_D4_Direction PORTD RD5 LCD_D5_Direction PORTD RD6 LCD_D6_Direction PORTD RD7 LCD_D7_Direction PORTA RA0 DS18B20 PORTA RA1 DS18B20 PORTA RA2 DS18B20

Tableau 11: Tableau des Broches du Noeud

Le PORTD et le PORTB est considéré comme sortie, le PORTC et le PORTA sont considéré comme entrée. Le module Easybee3 board utilise le protocole SPI (Serial Peripheral Interface), le DS18B20 utilise le protocole One Wire et le LCD est utilisé en mode 4 bits.

Nous allons diviser le code source du nœud en 2 parties, une partie relative à la mesure de la température à travers les capteurs et une autre relative à la communication radio.

(46)

Partie Mesure

do {

Init_LCD(); //Initialiser LCD;

Rx=0; //initialiser la variable RX utilisé dans la détection d’une requête Init_Receive(Main,Noeud); //initialiser MCU and Bee3 board en mode de réception while(Rx==0) { sum=0.0; for(i=0;i<Number_of_Sensors;i++) {

temp_read=one_wire_read(i); //lecture des données du bus 1-wire

Calculate_Temperature(temp_read,i); // Calculer la température sous forme de valeur entière }

for(i=0;i<Number_of_Sensors;i++)

sum = sum + Temperature_Array[i]; //calculer la valeur moyenne des 3 Capteurs avg_temperature = sum / Number_of_Sensors;;

floattostr(avg_temperature,avg_text); //transformer la valeur entière en une chaine pour affichage LCD_out(1,2,"Temperature moy:");

LCD_out(2,4,avg_text); //affichage de la valeur moyenne Lcd_out(2,14,"C");

Dans la mesure de la température 2 fonctions principales ont été utilisé :

One_wire_read(i).

Calculate_Temperature(temp_read,i);

One_wire_read(i) est responsable de calculer la température du Capteur en respectant le

processus de lecture propose par DS18B20 :

1. Initialisation. 2. Commande ROM. 3. Commande DS18B20.

(47)

La résolution utilisée par le capteur est la résolution par défaut du capteur qui est 12 bits, un seul capteur est utilisé sur chaque broche du PORTA (RA0, RA1, RA2), on n’a pas utilisé l’adressage et le contrôle CRC des composants car chaque composant se trouve seul sur un bus.

int one_wire_read(int i) {

int temp=0;

Ow_Reset(&PORTE, i); // Reset 1-Wire

Ow_Write(&PORTE, i, 0xCC); // envoyer commande SKIP_ROM

Ow_Write(&PORTE, i, 0x44); // envoyer commande CONVERT_T, lancer la conversion

Delay_ms(750); //délai de pour finir la conversion

Ow_Reset(&PORTE, i);

Ow_Write(&PORTE, i, 0xCC); // envoyer commande SKIP_ROM Ow_Write(&PORTE, i, 0xBE); //envoyer commande READ_SCRATCHPAD Delay_us(120);

temp = Ow_Read(&PORTE, i); //lecture du octet MSB

temp = (Ow_Read(&PORTE, i) << 8) + temp; //lecture du octet LSB et addition du MSB avec décalage

return (temp); //valeur de retour de la fonction.

one_wire_read est une fonction qui présente le mécanisme déjà décrit pour calculer la

température mesurée par le capteur, elle utilise le protocole One Wire qui est définit sous forme de librairie en MikroC ce mécanisme est décrit dans l’organigramme de la figure 35.

Figure 35:Organigrame de mesure de la température d’un DS1820 Calculer la Température Envoyer Commande Rom “Skip Rom” 0xCC Envoyer Commande DS18B20 “Convert_T” 0x44 Envoyer un signal Reset Envoyer Commande Rom “Skip Rom” 0xcc Envoyer Commande DS18B20 “Read_SCRATCHP AD” 0xBE Envoyer un signal Reset Lire TempH et TempL Transformer la température mesurée en valeur numérique

Figure

Tableau 2: Cout Mensuel et Annuel des AHU
Figure 2: Carte Représentant la Distribution des 10 AHU dans le bâtiment
Figure 4:Schéma bloc de la Carte Mère Figure 5:Schéma bloc de la Carte Mère
Figure 7:Ready for Pic board
+7

Références

Documents relatifs

Les neurones du corps genouillé latéral projètent sur le cortex strié qui est situé dans le lobe occipital via les radiations optiques (axones qui partent du

La préemption est la capacité d'un système d'exploitation multitâche à suspendre un processus au prot d'un autre.. Le multitâche préemptif est assuré par

Il existe deux principaux mécanismes de synchronisation de processus pour les threads : la variable condition et la barrière.. Les variables conditions permettent de suspendre un

les outils permettant aux processus de s'échanger des données les outils permettant de synchroniser les processus, notamment pour gérer le principe de section critique.. les

- liaison rebouclée ne traversant la même zone non surveillée qu’une seule fois ;. - liaison après le 1 er point et avant le dernier point

La mise en équation faisait tout naturellement appel au théorème du moment cinétique mais elle a été très mal abordée dans l'ensemble, et les candidats se sont souvent

Comme le souligne ailleurs Michel Barré trop d'éducateurs, même progressistes, gardent une attitude de despotes éclairés vis-à-vis des enfants. Un statut de

Il y a une attente particulière des élus de ces villes moyennes pour être accompagnés dans la revitalisation de leurs cœurs de villes, y compris sur les formes et