Institut Supérieur d’inGénierie & des Affaires ISGA Rabat Ecole d’ingénierie 2ème Année ingénierie des systèmes informatiques et électroniques Groupe 1 Mémoire de mini projet en électronique numérique Conception et réalisation d’un thermomètre numérique à base du PIC16F877A Réalisé par : Encadré par : - Achraf HAMMOUMI - Adil BELHAJI - Karim LAGHRISSI - M. EL MOUHI - M. EL KADMIRI Année universitaire 2015-2016 Sommaire Remerciements…………………………………………………………………………… 3 Introduction générale……………………………………………………………………... 4 Tables de figures…………………………………………………………………………. 5 I – Généralités sur le thermomètre : 1-1 définition ……………………………………………………………………………. 6 1-2 Historique…………………………………………………………………………… 6 1-3 Différents types …………………………………………………………………….. 7 II - Généralités sur les microcontrôleurs : 2-1 Définition ………………………………………………………………………....... 9 2-2 Les avantages des microcontrôleurs ……………………………………………….. 9 2-3 Différentes familles des microcontrôleurs …………………………………………. 10 2-4 Caractéristiques principales d’un microcontrôleur …………………………… 10 III - Généralités sur les PICs : 3-1 Définition ……………………………………………………………………….. 11 3-2 Les différentes familles des PIC………………………………………………… 11 IV – Etude du PIC16F877A : 4-1 Présentation ……………………………………………………………………… 12 4-2 Brochage ………………………………………………………………………… 12 4-3 Les caractéristiques du PIC 16F877A …………………………………………… 13 4-4 Identification du PIC 16F877A ………………………………………………...... 14 V – Conception et réalisation du thermomètre numérique : 5-1 Cahier de charges ………………………………………………………………… 14 5-2 Schéma principal ………………………………………………………………… 15 5-3 les composants utilisés …………………………………………………………… 16 VI – Programmation et simulation sur ISIS PROTEUS 6-1 Présentation du logiciel de programmation …………………………………… 17 6-2 Présentation du logiciel de simulation ISIS ……………………………………... 17 6-3 Code source …………………………………………………………………… 17 6-4 Schéma de simulation …………………………………………………………… 19 Conclusion générale …………………………………………………………………… 20 Bibliographie …………………………………………………………………………… 21 Annexes …………………………………………… 22 2 Remerciements Avant d’entamer le présent rapport, nous tenons à remercier : - Toute l’équipe pédagogique de l’ISGA et les intervenants professionnels responsables de notre projet pour assurer la partie théorique de celle-ci. - Mr El MOUHI et Mr EL KADMIRI qui ont encadré notre projet et ils nous ont permis de le réaliser dans de bonnes conditions grâce aux renseignements précieux qu’il nous a fournis. - Tous ceux et celles qui ont contribué de près ou de loin à l’accomplissement de ce travail ; qu’ils trouvent, ici, l’expression de nos remerciements les plus chaleureux, notre grande estime et notre haute reconnaissance. 3 Introduction générale Dans le cadre de notre formation, il nous est demandé de réaliser un mini-projet afin d’améliorer nos connaissances dans le domaine de l’électronique et notre capacité de travailler en groupe. De nos jours, des grandes usines travaillent avec des grandes machines de fabrication et il est utile de savoir la température de ces machines la pour prendre après des décision est ce qu’on les arrête ou bien est ce qu’il y a un problème de température . Pour cette étude nous allons commencer par faire une présentation générale du projet à savoir un cahier des charges, puis on va élaborer une étude théorique et donner des états de synthèses par la suite, nous ferons une simulation du projet par un outil informatique qui s'appelle ISIS. 4 Table des figures Figure 1 : thermomètre à gaz ……………………………………………………… 7 Figure 2 : thermomètre à cadran et aiguille ………………………………………. 8 Figure 3 : thermomètre à cristaux liquides ………………………………………... 8 Figure 4 : brochage du pic16f877a ……………………………………………… 12 Figure 5 : schéma principal ……………………………………………………… 15 Figure 6 : résistance ……………………………………………………………….. 16 Figure 7 : LM335 ………………………………………………………………… 16 Figure 8 : LCD (liquid crystal display) ………………………………………… 16 Figure 9 : configuration du LCD ……………………………………………………17 Figure 10 : Affichage du min et max sur LCD …………………………………… 18 Figure 11 : Affichage de température sur LCD …………………………………… 18 Figure 12 : Affichage de température sur LCD (simulation) ……………………… 20 Figure 13 : Affichage du Max/Min sur LCD (simulation) ……………………… 5 .20 I – Généralités sur le thermomètre 1-1 Définition : [2]. Un thermomètre est un appareil qui sert à mesurer et à afficher la valeur de la température. C’est le domaine d'étude de la thermométrie. Développé durant les XVIe et XVIIe siècles, le thermomètre est utilisé dans différents domaines1. Les applications des thermomètres sont multiples, en météorologie, en médecine, en cuisine, pour la régulation, dans les procédés . 1-2 Historique : Nous tous avons déjà au moins dit une fois :« Qu’est ce qu’il fait chaud …». Dans de nombreux actes quotidiens, la notion de température est là. La température est partout ! On n’y prête plus attention tellement c’est devenu un phénomène courant et « transparent ». La température n’est pas une grandeur au sens strict du terme comme le sont-les autres unités de mesure. En effet, une grandeur est tout ce qui est susceptible d'augmenter ou de diminuer comme, par exemple, une longueur, une surface, une puissance, etc. Physiquement mesurer une grandeur G (quelle que soit son espèce), c'est la comparer à une autre grandeur U, de même espèce, choisie pour unité. Le résultat de la mesure est un nombre entier si l'unité U est contenue un nombre entier de fois dans la grandeur G considérée. Une grandeur est directement mesurable quand nous pouvons définir le rapport ou l'égalité ou encore la somme de deux valeurs de cette grandeur. Une longueur, une surface sont des grandeurs mesurables. En revanche, une température repérée au moyen de l'échelle thermométrique n'est pas une grandeur mesurable car nous pouvons définir l'égalité de deux températures mais nous ne pouvons pas en faire la somme. On devrait donc dire : évaluer, comparer, marquer, indiquer la température et non pas la mesurer au sens propre du terme Cependant la température, au sens ordinaire du mot, se présente à nous comme une valeur susceptible d'augmenter ou de diminuer, caractérisant l'état d'un corps au point de vue des échanges possibles de chaleur (phénomène thermodynamique) entre ce corps et le milieu extérieur qui l’entoure. On a ainsi défini l'égalité et l'inégalité de température. 6 Mais pour apprécier cette égalité ou cette inégalité avec quelque précision, l'on a recours à des instruments spéciaux : les thermomètres ou capteurs de température. Galilée fut semble t-il le premier inventeur d’un système permettant d’évaluer la température. Imaginé pour la première fois en 1624, le thermomètre mis en place par Galilée est un objet simple basé uniquement sur la modification du volume d’un liquide en fonction de la température. Comme évoqué plus haut, plusieurs phénomènes font face à des variations de températures. Ainsi, de nos jours, l’on distingue plusieurs types de capteurs de température selon le phénomène en présence, en autre les thermomètres à dilatation pour la dilatation de la matière, tels que le thermomètre à mercure (classique) plus utilisé pour prélever la température humaine on a passé à un système programmable qui peux réalisé beaucoup de taches pour le thermomètre 1-3 Différents types : Il existe plusieurs type de thermomètre parmi ces derniers il y a : Thermomètre à gaz : Le thermomètre à gaz est basé sur les variations de pression ou de volume d'un gaz en fonction de la température. Ce type de thermomètre utilise la loi d’avogadro : Figure 1 : thermomètre à gaz V est le volume du gaz ; P est la pression ; T est la température ; R est la constante de gaz parfait, de valeur R = 8,3144621 J⋅K−1⋅mol−1 n est le nombre de moles (mol) 7 La première variante utilise un réservoir rempli de gaz et un tube ouvert dans lequel se trouve un bouchon mobile séparant le gaz du réservoir de l'air ambiant. Si la pression ambiante reste constante, une variation de température du réservoir va causer une variation du volume du gaz qui va se refléter dans la position du bouchon. La variation de V est proportionnelle à celle de T et on peut donc en obtenir le changement de température. La seconde variante de ce thermomètre garde le volume constant. Un réservoir contenant un gaz est connecté par un tube capillaire à un manomètre. Lors d'une variation de température, le volume reste constant mais la pression varie inversement au changement de température. La température peut donc être calculée avec l'équation. Thermomètre à cadran et aiguille Le thermomètre bilame est constitué de deux lames de métaux ou d'alliages différents, souples, soudées ou collées l'une contre l'autre, dans le sens de la longueur. Ces deux plaques de métal soudées par laminage à froid, sont très souvent de l'invar et du nickel ayant un coefficient de dilatation différent. Leur dilatation étant différente, l'objet se déforme avec les variations de température. La lame ainsi produite est enroulée, une de ses extrémités est fixée au centre d'un cadran et l'autre, en forme de pointe, est libre. Un cadran gradué est placé derrière la lame. Lors d'une variation de la température, la dilatation fera changer la position de la pointe et qui bougera par rapport à la graduation. figure 2 : thermomètre à cadran et aiguille Thermomètre à cristaux liquides : Les thermomètres à cristaux liquides utilisent des cristaux liquides qui changent de couleur selon la température. Souvent, les cristaux liquides dessinent la valeur de la température. Sur d'autres modèles, ils dessinent simplement une échelle juxtaposée à des valeurs chiffrées. Ces thermomètres sont souvent utilisés pour les aquariums (modèles autocollants) ou dans le secteur médical (thermomètres frontaux), mais la mesure peut être inexacte. figure 3 : thermomètre à cristaux liquides 8 II - Généralités sur les microcontrôleurs 2-1 Définition : [1] .Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une vitesse de fonctionnement plus faible et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels. Par rapport à des systèmes électroniques à base de microprocesseurs et autres composants séparés, les microcontrôleurs permettent de diminuer la taille, la consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser l'utilisation de l'informatique dans un grand nombre de produits et de procédés. Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc. 2-2 Les avantages des microcontrôleurs : Les points forts des microcontrôleurs sont nombreux et bien réels Il suffit, pour s’en persuader, d’examiner la spectaculaire évolution de l’offre des fabricants de circuits intègre en ce domaine depuis quelque années. Tout a d’ abord, un microcontrôleur intègre dans un seul et même boitier ce qui avant nécessitait une dizaine d’éléments séparé. Cette intégration a aussi comme conséquence immédiate de simplifier le trace du circuit imprime, puisqu’il n’est plus nécessaire de véhiculer des bus d’adresse et de données d’un composant a autre. Aussi Le microcontrôleur permet de faire : Diminution de l’encombrement du matériel et du circuit imprimé Simplification du tracé du circuit imprimé (plus besoin de tracer de bus Augmentation de la fiabilité du système nombre de composants diminues connexions composants, supports et composant circuit imprimé diminues 9 Intégration en technologie MOS, CMOS, ou HCMOS Diminution de la consommation Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux: Moins cher que les composants qu’il remplace Diminution des coûts de main d’œuvre (conception et montage) Environnement de programmation et de simulation évolués 2-3 Différentes familles des microcontrôleurs : On trouve plusieurs familles des microcontrôleurs citons : La famille Atmel AT91 . La famille Atmel AVR . Le C167 de Siemens . La famille Hitachi H8 . La famille des PIC de Microchip. La famille des DSPIC de Microchip. La famille PSOC de Cyprées. La famille LPC21xx ARM7-TDMI de Philips. La famille V800 de NEC. la famille K0 de NEC 2-4 Caractéristiques principales d’un microcontrôleur : Les microcontrôleurs sont des composants qui permet la gestion des cartes, ils sont caractérisés par : De nombreux périphériques d’E/S Une mémoire de programme Une mémoire vive (en général de type SRAM) Eventuellement une mémoire EEPROM destinée à la sauvegarde par programme de données à la coupure de l’alimentation. Un processeur 8 ou 16 bits Faible consommation électrique 10 III - Généralités sur les PICs : 3-1 Définition : [3] .Un PIC est un microcontrôleur, c’est une unité de traitement d’information de type microprocesseur à laquelle on a ajouté des périphériques internes permettant de faciliter l'interfaçage avec le monde extérieur sans nécessiter l’ajout de composants externes. Les Pics sont des composants RISC (Reduced Instructions Set Computing) ou encore composant à jeu d’instructions réduit. L'avantage est que plus on réduit le nombre d’instructions, plus facile et plus rapide en est le décodage, et plus vite le composant fonctionne. Alors, les microcontrôleurs 16F877 et 16F876A représentent le cerveau de notre projet, d’où nous allons les étudier. 3-2 Les différentes familles des PIC : La famille des pics est subdivisée en trois grandes familles Base-line : c’est une famille qui utilise des mots d’instructions de 12 bits. Mid-range : c’est une famille qui utilise des mots de 14 bits (dont font partie les 16F84, 16f876 et 16f877 High-end : c’est une famille qui utilise des mots de 16 bits . Critères de choix d’un Microcontrôleur : Le choix judicieux d’un microcontrôleur, pour une application donnée dépend : Du nombre d’entrées/sorties de l’application cible ; Du type de mémoire programme : flash, Eprom, OTP… et de sa taille ; De la présence ou de l’absence des convertisseurs Analogiques/Numériques CAN ; De l’existence ou non d’une mémoire EEPROM ; De l’existence ou non d’un bus I2C. Viennent ensuite les critères suivants : La disponibilité du composant sur le marché local ; La facilité de mise en œuvre ; Le prix ; L’approvisionnement multi source. 11 IV – Etude du PIC16F877A 4-1 Présentation : [4] Le PIC 16F877, utilisé est un circuit intégré de type CMOS. Son boîtier est un DIL (Dual In Line) de 2x20 pattes. Chacune de ces broches lui est associée a une ou plusieurs fonction. En effet ces dernières peuvent jouer plusieurs rôles (entrée, sortie) tout dépend de leurs configuration qui s’effectue lors de la programmation du PIC. 4-2 Brochage : Figure 4 : brochage du PIC16F877A Le boîtier du PIC 16F877 décrit par la figure1 comprend 40 pins : 33 pins. D’entrées/sorties, 4 pins pour l’alimentation, 2 pins pour l’oscillateur et un pin pour le Reset (MCLR). La broche MCLR sert à initialiser le μC en cas de la mise sous tension, de remise à zéro externe, de chien de garde et en cas de la baisse de tension d’alimentation Les broches VDD et VSS servent à alimenter le PIC. On remarque qu’on a 2 connections « VDD » et 2 connections « VSS ». La présence de ces 2 pins s’explique pour une raison de dissipation thermique. Les courants véhiculés dans le pic sont loin d’être négligeables du fait des nombreuses entrées/sorties 12 disponibles. Le constructeur a donc décidé de répartir les courants en plaçant 2 pins pour l’alimentation VSS, bien évidemment, pour les mêmes raisons, ces pins sont situés de part et d’autre du PIC, et en positions relativement centrales. Les broches OSC1 et OSC2 ou CLKIN et CLOUT permettent de faire fonctionner l’oscillateur interne du PIC qui peut être un quartz, un résonateur céramique, un oscillateur externe ou un réseau RC dont le rôle est de crées des impulsions de fréquences élevées Lors de la programmation, la broche MCLR doit être portée à un niveau compris entre 12 V et 14 V et le PIC16F877 commence à programmer en appliquant un signal d’horloge sur la broche RB6 (broche 39) et les informations binaires transitent en série sur la broche RB7 (broche 40). Chacune des informations qui transitent sur la broche RB7 est validée à la retombée du signal d’horloge sur la broche RB6 Les ports d’entrée/sortie Le PIC 16F877 contient les 5 ports suivants Port A: 6 pins I/O numérotées de RB0 à RB5 Port B: 8 pins I/O numérotées de RB0 à RB7 Port C: 8 pins I/O numérotées de RC0 à RC7 Port D: 8 pins I/O numérotées de RD0 à RD7 Port E: 3 pins I/O numérotées de RE0 à RE2 Tous ces ports se trouvent dans la banque 0, mais tous leurs registres se trouvent dans la banque1, pour déterminer les modes des ports (I/O), il faut sélectionner leurs registres TRISX : le positionnement d’un bit à « 1 » place le pin en entrée. Le positionnement de ce bit à « 0 » place le pin en sortie. 4-3 Les caractéristiques du PIC 16F877 : Le PIC 16F877 est caractérisé par : Une Fréquence de fonctionnement élevée, jusqu’à 20 MHz Une mémoire vive de 368 octets. Une mémoire EEPROM pour sauver des paramètres de 256 octets. Une mémoire morte de type FLASH de 8 Kmots (1mot = 14 bits), elle est réinscriptible à volonté Chien de garde WDT. 13 33 Entrées et sorties. Chaque sortie peut sortir un courant maximum de 25 mA 3 Temporisateurs : TIMER0 (8 bits avec pré diviseur), TIMER1 (16 bits avec pré diviseur avec possibilité d’utiliser une horloge externe réseau RC ou QUARTZ et TIMER2 (8 bits avec pré diviseur et post diviseur). 2 entrées de captures et de comparaison avec PWM (Modulation de largeur d’impulsions) Convertisseur analogique numérique 10 bits avec 8 entrées multiplexées maximum. Une interface de communication série asynchrone et synchrone (USART/SCI) Une interface de communication série synchrone (SSP/SPI et I2 C) Une tension d'alimentation entre 2 et 5.5 V 4-4 Identification du PIC 16F877A : Pour identifier un PIC, on utilise simplement son numéro : 16: indique la catégorie du PIC, c’est un Mid-range. L: indique qu’il fonctionne avec une plage de tension beaucoup plus tolérante. C: indique que la mémoire programme est un EPROM ou une EEPROM. CR ou F: indique le type de mémoire ; CR(ROM) ou F (FLASH). XX: représente la fréquence d’horloge maximale que le PIC peut recevoir. Une dernière indication qu’on le trouve est le type de boîtier. V – Conception et réalisation du thermomètre numérique : 5-1 Cahier de charges : Présentation du système : Un thermomètre électronique est composé d’un capteur de température et des composants électroniques qui ont pour rôle de traiter l’information et la rende exploitable par l’utilisateur . Notre projet consistera à créer un thermomètre électronique qui devra afficher la température via écran LCD (liquid crystal display) En somme cela se présente sous la forme d’une carte électronique pour remplacer la colonne d'un thermomètre classique. 14 Objectif principal : Réaliser un thermomètre électronique qui affiche la température sur un écran L.C.D Réalisation: La température devra être captée à l’aide d’un capteur, notre choix se porte sur le LM335, Affin de traiter les informations nous utiliserons le microcontrôleur 16F877A pour Contrôler l'affichage de la température, Il faudra au préalable utiliser une source d’alimentation (batterie) car 16F877A fonctionne avec +5V. 5-2 Schéma principal : Le schéma si dessous représente notre thermomètre numérique à base de pic16f877A , on va varié LM335 qui est branché dans le port A / AN0 qui va convertir le signal d entrée en signal numérique et après on affiche sur LCD Figure 5 : schéma principal 15 5-3 les composants utilisés : La résistance (R1) : Une résistance est un composant électronique ou électrique dont la principale caractéristique est d'opposer une plus ou moins grande résistance (mesurée en ohms) à la circulation du courant électrique. Figure 6 : résistance Capteur de température LM335 : Le LM335 est un capteur de température qui produit une tension qui varie en fonction de la température , la variation de la tension est très faible, et sa représentation graphique est une droite linéaire . Figure 7 : LM335 Afficheur LCD (liquid crystal display) : Les afficheurs à cristaux liquides, autrement appelés afficheurs LCD (Liquide Crystal Display), sont des modules compacts intelligents et nécessitent peu de composants externes pour un bon fonctionnement. Ils consomment relativement peu (de 1 à 5 mA), sont relativement bons marchés et s'utilisent avec beaucoup de facilité . Le Brochage : Figure 8 : LCD (liquid crystal display) 16 Vo / VEE : c’est pour ajuster la luminosité du LCD on l’a branche dans la patte du milieur du potentiomètre et les 2 autres pattes dans le power et la masse R/W : soit on configure le LCD en mode écriture en envoyant 0 sinon en mode lecture en envoyant 1 Le LCD communique soit sur 4 bits ou sur 8 bits . VI – Programmation et simulation sur ISIS PROTEUS 6-1 Présentation du logiciel de programmation : MikroC est un compilateur pour microcontrôleurs PIC bénéficie d'une prise en main très intuitive et d'une ergonomie sans faille. Ses très nombreux outils intégrés (mode simulateur, terminal de communication Ethernet, terminal de communication USB, gestionnaire pour afficheurs 7 segments, analyseur statistique, correcteur d'erreur, explorateur de code, mode Débug ICD...) .[5] 6-2 Présentation du logiciel de simulation ISIS : Le logiciel ISIS de Proteus est principalement connu pour éditer des schémas électriques. Par ailleurs, le logiciel permet également de simuler ces schémas ce qui permet de déceler certaines erreurs dès l'étape de conception. Indirectement, les circuits électriques conçus grâce à ce logiciel peuvent être utilisé dans des documentations car le logiciel permet de contrôler la majorité de l'aspect graphique des circuits.[6] 6-3 Code source : Ce code permet de configurer le LCD . figure 9 : configuration du LCD 17 Figure 10 :affichage du min et max sur LCD Figure 11 : affichage de température sur LCD 18 6-4 Schéma de simulation : On lance le logiciel de simulation isis proteus puis on varie le LM335 et on voit le changement dans l’écran LCD Figure 12 : affichage de température sur le LCD (simulation) NB : Si on clique sur le button poussoir on va voir la température MAX et MIN et elle est enregistrer dans le EEPROM (voir Partie 4-3 ) . Figure 13 : affichage Max/Min de la température (simulation) 19 Conclusion générale Dans le but de conclure ce projet, rappelons tout d’abord que l’objectif était d’étudier le principe de conception et de réalisation des thermomètres électroniques. Dans ce sens, il a été judicieux de diviser le travail en deux parties, une théorique et une autre pratique. Dans la première partie, nous avons pu dégager que la mesure de température se fait selon plusieurs échelles, et le plus utiliser est le degré Celsius L’étude nous a permis de conclure que, la mesure de température se ramène à l’étude d’une variation de tension. Ainsi, concevoir un thermomètre électronique, c’est donc mettre en place un système pouvant effectuer des mesures par variation de tension. Dans le milieu industriel et généralement pour plusieurs mesures de température, l’on a recours aux thermomètres électroniques (à capteur de température). Par ailleurs, la conception d’un thermomètre aujourd’hui ne se ramène plus à la mise au point d’un montage permettant de prélever une variation de tension. Le fait que l’on souhaite généralement faire des traitements informatiques sur les valeurs prélevées, nous amène à introduire dans notre montage des éléments permettant de prendre en compte le capteur de température LM335 qui mesure la température avec un signal électrique (tension) proportionnel à la température (en ° C) le PIC 16F877A utilisé pour recevoir, traiter, et transmettre des données, et pour la communication entre les systèmes électroniques .Un afficheur LCD qui permet l’affichage des variations de la température (en ° C) Nous avons respecté le cahier de charges en gardant de bons résultats de mesures. Finalement, dans ce mini-projet, nous avons réussi de faire la conception et la réalisation d’un thermomètre électronique qui nous permet de mesurer la température , et voir le fonctionnement d’un système automatisé en directe. 20 Bibliographie [1] : https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur_PIC [2] : https://fr.wikipedia.org/wiki/Thermom%C3%A8tre#Thermom.C3.A8tre_de_confiseur [3] : http://tpworks-place.com/documents/1916/viewer/visu.php?f=4 [4] : http://www.ebanque-pdf.com/fr_mode-de-fonctionnement-de-lm335.html [5] : https://en.wikipedia.org/wiki/Mikroelektronika [6] : https://fr.wikipedia.org/wiki/Proteus_%28%C3%A9lectronique%29 21 Annexes 22 23 24