RAPPORT DE STAGE Présenté par BENOUADEN ABDERRAOUF Sujet : conception d’un thermomètre électronique à base d’un capteur de chaleur, un PIC, et un afficheur LCD Lieu du stage : dans le laboratoire du département d’électronique du l’université Mentouri de Constantine. Durée du stage : 4 mois (Mars – juin 2011) Remerciements Je tiens tout d’abord à remercier Mme Mensouri et Monsieur Hamdi, nos maîtres de stage, pour ses conseils pertinents et sa confiance, et pour m’avoir motivé (sans le vouloir ;-) à poursuivre mes études vers une License. Merci de manière générale à toute l’équipe du Labo pour sa bonne humeur permanente, et pour leur chaleureux accueil. Et enfin, nous remercions également tous ceux qui ont participé de près ou de loin à l’élaboration de ce mini projet. Sommaire _ Résumé : І – introduction: - historique II - cahier de charges - Présentation du système ІII-les composants utiliser: A- le micro contrôleur pic 16F877A: B- Capteur de température : Le LM35 C- afficheur LCD D- 2 capacités 22pf E- Un cristal 4MHz F-Une alimentation de 5v ІV - partie programmation V - principe de fonctionnement du thermomètre VІ - conclusion générale Résumé : Le but de cette étude est de créer un thermomètre électronique qui devra afficher la température via de L.C.D. En somme cela se présente sous la forme d’une carte électronique pour remplacer la colonne d'un thermomètre classique. Introduction 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. 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 1953, 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, le thermomètre à mercure (classique) plus utilisé pour prélever la température humaine. Toutefois, avec l’évolution de la science et des technologies, les hommes ont été à plusieurs reprises confrontés à des problèmes liés à la température : dilatation des métaux, variation des résistances, problème des semi-conducteurs etc.…Dans ce sens est né l’idée de mesurer la température. Cahier de charges PRESENTATION 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’usage. Notre projet consistera à créer un thermomètre électronique qui devra afficher la température via de L.C.D. En somme cela se présente sous la forme d’une carte électronique pour remplacer la colonne d'un thermomètre classique. Objectif principal : Créer un thermomètre électronique qui affiche la température sur un écran L.C.D Bloc principal Objectif optionnel : Afficher la température par une tension sur un écran L.C.D. Bloc optionnel Réalisation: La température devra être captée à l’aide d’un capteur, notre choix se porte sur le LM35. 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 effectuer une source d’une tension (pile) car 16F877A fonctionne sous +5V. Les composants utilisés A- le micro contrôleur pic 16F877A: A-1-Introduction : Un PIC est un microcontrôleur, c'est à dire une unité de traitement de l'information de type microprocesseur à laquelle on a ajouté des circuits internes permettant de réaliser des montages sans nécessiter l'ajout de composants externes. Il est un composant électronique autonome composé par : · D'un microprocesseur. · D'une mémoire vive type mémoire RAM. · D'une mémoire morte type mémoire Flash. . D'interfaces d'entrées/sorties parallèles, séries. . D'interfaces d'entrées/sorties analogiques. . De Timers (registres compteurs de temps ou d'évènements. A-2-Principales caractéristiques du PIC 16F877 : Le PIC 16F877 est caractérisé par: - Une fréquence de fonctionnement élevée, jusqu'à 20MHz. - Une mémoire vive de 368 octets. - Une mémoire morte EEPROM de 256 octets pour la sauvegarde des données. - Une mémoire de type FLASH de 8 K mots (1mot = 14 bits) - Chien de garde WDT. - 33lignes d'entrées /sorties. Chaque sortie peut sortir un courant maximum de 25 mA. - 3 Temporisateurs: .TIMER0 : compteur 8 bits avec pré-diviseur. .TIMER1 : compteur 16 bits avec pré-diviseur ·TIMER2 : compteur 8 bits avec pré-diviseur - 2 entrées de captures et de comparaison -Un convertisseur Analogique Numérique 10 bits avec 8 entrées multiplexées. -Une interface de communication série asynchrone et synchrone (USART/SCI). -Une tension d'alimentation entre 2 et 5.5 V A-3-Mémoires du PIC : - Mémoire FLASH C'est dans celle-ci qu'est stocké le programme du PIC. - Mémoire RAM: Fait partie de la zone d'adressage des données. - Mémoire EEPROM: L'EEPROM est une mémoire de stockage de données. A-4-Architecture Externe: - Le boîtier du PIC 16F877 décrit par la figure 1.4 comprend - 40 pins : 33 pins d'entrées/sorties, 4 pins pour l'alimentation, 2 pins pour l'oscillateur 1 pin pour le reset (MCLR). - La broche MCLR sert à initialiser le pic qui dispose de plusieurs sources de RESET - Les broches VDD (Broche 11 et 32) et VSS (Broche 12 et 31) servent à alimenter le PIC. - On remarque qu'on a 2 connections «VDD» et 2 connections «VSS». - PORT A Le PORT A est un port de six bits donc six entrées/sorties numérotées de RA0 à RA5 qui peuvent être utilisées comme des entrées pour le : (Convertisseur Analogique Numérique, le TIMER0, Les registres associés avec le port A sont : - Registre TRISA: - TRISA=1 : les lignes du PORTA sont configurées en ENTREES, et le driver de sortie est placé en haute impédance. - TRISA=0 : les lignes du port sont configurées en SORTIES. A-5-Module de conversion A/N: Le convertisseur A/N convertit le signal analogique présent sur une de ses 8 entrées en son équivalent numérique, codé sur 10 bits. Les pattes AN2 et AN3 peuvent être utilisées comme références de tension ou comme entrées analogiques standard. Les tensions de référence haute et basse peuvent être choisies par programmation parmi: VDD (broche PA3) pour VREF+ et VSS (broche PA2) pour VREF- .On peut donc numériser jusqu'à 8 signaux analogiques... B- Capteur de température : Le LM35 Le LM35 est un capteur à circuit intégré qui peut être utilisé pour mesurer la température avec un signal électrique proportionnel à la température (en ° C) Nous pouvez mesurer la température avec plus de précision que l'aide d'une thermistance. Le circuit capteur est scellé et non soumis à l'oxydation, etc. Le LM35 génère une tension de sortie plus élevée que les thermocouples et ne peut exiger que la tension de sortie soit amplifiée. Il a une tension de sortie est proportionnelle à la température Celsius. Le facteur d'échelle est 0.1V/°C Le LM35 ne nécessite pas de calibration externe ou de taille et maintient une précision de + / -0,4 °C à température ambiante et + / - 0,8 ° C sur une plage de 0 °C à +100 °C. Le capteur a une sensibilité de 10 mV /°C Température (° C) * Vout = (100°C / V) Donc, si Vout est 1V, puis, la température = 100 ° C La tension de sortie varie linéairement avec la température. Le LM35 L’Etalonnage de LM35 : C--afficheur LCD: 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é -Brochage : L’afficheur LCD (JHD 162A) : Partie programmation: Nous avons utilisé le langage C pour la programmation de notre thermomètre électronique. 2- le programme global de circuit : void main() { sbit LCD_RS at Rb4_bit; sbit LCD_EN at Rb5_bit; sbit LCD_D4 at Rb0_bit; sbit LCD_D5 at Rb1_bit; sbit LCD_D6 at Rb2_bit; sbit LCD_D7 at Rb3_bit; sbit LCD_RS_Direction at TRISb4_bit; sbit LCD_EN_Direction at TRISb5_bit; sbit LCD_D4_Direction at TRISb0_bit; sbit LCD_D5_Direction at TRISb1_bit; sbit LCD_D6_Direction at TRISb2_bit; sbit LCD_D7_Direction at TRISb3_bit; float temp_res; int volt; char txt[10]; float b=40; int i; void main() { Lcd_Init(); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Cmd(_LCD_CLEAR); trisa=0xff; trisb=0; lcd_out(1,1,"THERMOMETRE "); lcd_out(2,1,"ELECTRONIQUE "); delay_ms(600); Lcd_Cmd(_LCD_CLEAR); delay_ms(1000); while (1){ adcon1=0b10000000; adcon0=0b10000101; volt = ADC_Read(0); temp_res=(0.488 * volt); FloatToStr(temp_res, txt); lcd_Out(2, 4, txt); lcd_out(1,1,"LA TEMPERATURE");} } Principe de fonctionnement du thermomètre : A - schéma du circuit : B – fonctionnement générale du thermomètre Le thermomètre une fois alimenté il affiche sur l’écran LCD le message suivant : « un thermomètre électronique», avec un signalement de trois animations d’une seconde environ, ce qui permet à notre thermomètre l’alimentation en perspective du microcontrôleur et du capteur de température [LM35] suivi de l’afficheur LCD d’une source de 5V, on obtienne alors une température ambiante de 25°c. B-1 fonctionnement du capteur de température LM35: Le capteur de température [LM35] donne une tension de 0.25V à la sortie, dont la variation de [LM35] est linéaire est pour cella on obtient pour chaque variation de 0.01V une température de 1°c. Ces dans ce sens quand obtient une température ambiante qui est égal a 25°C On place le capteur dans une partie du corps du patient, si la température de ce dernier s’élève le [LM35] vari a la sortie est donne des tensions analogique, ces derniers sont introduit sur la pin n°0 du PORTA qui est configurée en entrée analogique avec un convertisseur analogique/ numérique, le convertisseur du microcontrôleur PIC16F877A convertie l’entrée analogique du capteur LM35 en 10bit numériques la relation que doit lire le microcontrôleur est la tension du référence de capteur Vreff (dans notre cas est de 5V) diviser sur 1024 (10bit) multiplier par 100 (100 qui est la sensibilité du capteur égale à 25/0.25=100 ) multiplier par la tension de sortie de capteur LM35 (Vout). Température affiché sur LCD = (Vout *Vreff*100/1024) On obtenu une relation de variation de température on fonction de la tension de sortie du capteur LM35. Circuit imprimé : CONCLUSION GENERALE : 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 LM35 qui mesurer 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 d’un corps humain, et voir le fonctionnement d’un système automatisé en directe.