jeudi 23 août 2012

PIC16F877A-Based Monitoring System Température



température de surveillance et de contrôle est importante dans les environnements industriels. Les capteurs sont largement utilisés pour la mesure de la température. Généralement, un capteur de température convertit la température en sortie une tension équivalente. IC LM35 est un tel capteur. Nous décrivons ici une mesure de température simple et système d'affichage basé sur LM35 capteur et le microcontrôleur PIC16F877A. La température en degrés Celsius est affichée sur un écran LCD 16 x 2.

La figure 1 montre le schéma fonctionnel du système basé sur PIC16F877A surveillance de la température. Les principales caractéristiques de ce système sont les suivants: 1. La surveillance continue de la température avec un intervalle de mise à jour 1-seconde (qui peut être modifié dans le programme). 2. Mesure de la température en utilisant LM35 précision circuit intégré capteur. 3. Précise analogique-numérique à l'aide de la conversion de construction 10-bit analogique-numérique (CAN) de microcontrôleur PIC16F877A. 
Hardware Description
Fig.2.shows le circuit du système de surveillance de la température. Le circuit se compose principalement de la sonde de température LM35, microcontrôleur PIC16F877A et HD44780 contrôleur sur la base de 16 × 2 LCD



La sortie du capteur est appliqué à l'ADC interne du microcontrôleur. La broche 2 du microcontrôleur (RA0/AN0) est le canal-1 de l'ADC interne. La tension de sortie analogique du capteur est converti en sa valeur numérique équivalente par l'ADC et son degré Celsius équivalent valeur est calculée par le logiciel. La valeur de température calculée est affichée sur l'écran LCD.
LM35 capteur . Fig.3 montre le brochage du LM35. Il s'agit d'une précision de circuit intégré capteur de température centigrade dont la tension de sortie est linéairement proportionnelle à l'Celsius (Celsius) de la température. Le LM35 a donc un avantage sur les capteurs de température linéaires étalonnés en degrés Kelvin, tant que l'utilisateur n'est pas nécessaire de soustraire une tension élevée constante depuis sa sortie mise à l'échelle pour obtenir centigrades pratique. Pour chaque degré Celsius de la température de changement, les changements de sortie de capteur de 10 mV. le capteur peut mesurer la température dans l'intervalle de 0 à 100 ° C, c'est à dire, la sortie du capteur varie de 0 à 1000 mV. Le LM35 fonctionne dans la plage de températures de -55 ° à +150 ° C, tandis que le LM35C est évalué pour un -40 ° C à +110 ° C Plage (-10 ° C avec une précision améliorée). Disposition des broches du capteur est comme suit: Broche 1-V DD 2-Pin de sortie du capteur Broche 3-V SS

Microcontrôleur PIC16F877A . PIC16F877A IC est un microcontrôleur 8 bits avec 8k × 14-bit mémoire Flash, 368 octets de RAM et beaucoup d'autres périphériques complémentaires ADC, universel émetteur synchrone récepteur asynchrone, maître port série synchrone, minuteries, comparer capturer et d'impulsion modules de modulation de largeur, et les comparateurs analogiques. Il est basé sur le jeu d'instructions d'ordinateur réduit (RISC), l'architecture. L'microcontrôleur traite la sortie du capteur pour calculer la température en degrés Celsius. L'ADC interne du microcontrôleur est utilisée pour convertir la sortie analogique du capteur en sa valeur numérique équivalente 

.

L'ADC interne du microcontrôleur comporte huit canaux d'entrée analogique et donne 10-bit de sortie numérique. Dans ce projet, la tension de référence à l'ADC est la même que la tension d'alimentation au micro-contrôleur, c'est-à 5V. La résolution de l'ADC peut être calculé comme suit: Résolution = V ref / (1024-1) ... (car c'est un ADC 10-bit)= 5/1023 = 4.887 mV


Cela signifie que pour 4.887mV changement de l'entrée analogique, la sortie ADC par binaire '1 'avec une tension de référence de 5V. sortie analogique du capteur à sa broche 2 est connectée au port A à RA0 pour la conversion en équivalent numérique. 

L'écran LCD . A 16 × 2 LCD basé sur contrôleur HD44780 est utilisé pour l'affichage de la température. Les lignes de commande FR, R / W et RS du module LCD sont connectées aux broches RA1, RA2 et RA3 du port A du microcontrôleur, respectivement. Les commandes et les données à afficher sont transmises au module LCD en mode quartet de port D du microcontrôleur. Les quatre bits supérieurs de l'écran LCD (D4 D7 travers) sont connectés au quartet inférieur de Port D (RD0 travers RD3).

Description du logiciel 

Le code logiciel est écrit en 'C' langue et compilé avec Hitech C compilateur croisé dans MPLAB IDE. Le logiciel effectue les opérations suivantes dans une boucle infinie: 1. Initier analogique-à-numérique et obtenir le résultat 2. Calculer la valeur de la tension équivalente du résultat ADC 3. Calculer la température en degrés Celsius de la valeur de tension 4. Affichage de la température sur l'écran LCD La sortie de tension (en volts) de la sonde est: (résultat ADC × 5) / 1023 La température en degrés Celsius est: sortie du capteur × 1000/10 = sortie du capteur × 100 C Le compilateur croisé Hitech fournit un appui bibliothèque virgule flottante qui est nécessaire pour faire les calculs ci-dessus.
MPLAB IDE et Hitech C compilation r . MPLAB IDE est un outil logiciel très puissant de développement pour les produits Microchip (microcontrôleurs). Il est disponible pour téléchargement à www.microchip.com exempt du coût. Il se compose d'outils comme éditeur de texte, cross-assembleur, compilateur croisé et le simulateur. Hitech C compilateur croisé est destiné aux Microchip série PIC10/12/16 de microcontrôleurs. Son édition Lite est fourni gratuitement avec les versions plus récentes de MPLAB IDE MPLAB comme v8.2 et v8.3. Il peut également être téléchargé gratuitement à partir www.htsoft.com .



Compiler le programme avec MPLAB IDE . Les étapes suivantes: 

1. Créer un fichier de projet et ajouter des fichiers source . Dans la barre de menu, cliquez sur Projet → Project Wizard. La boîte de dialogue Assistant de projet apparaît. Cliquez sur "Suivant". Dans «Suivant» fenêtre, sélectionnez le périphérique que PIC16F877A dans le menu déroulant. Cliquez sur 'Suivant' et la suite sélectionnez 'Hitech Outil universel »de la liste déroulante. Cliquez sur "Suivant", le nom de votre fichier de projet comme «tempr», précise sa localisation. Le fichier est automatiquement sauvegardé avec l'extension '. Mcp ". Cliquez sur 'Next' et ajouter des fichiers source tempr.c, lcd.c et de retard. c pour votre projet. Si vous souhaitez créer les fichiers source de votre propre chef, vous pouvez sauter l'étape ci-dessus. Cliquez sur Suivant → bouton Terminer. Maintenant, votre projet est créé et les fichiers source sont ajoutés à votre projet.

2. Créer et ajouter des fichiers source de votre propre . Après avoir créé le projet, procéder à taper le code. Ouvrez un nouveau fichier texte en cliquant sur ​​"Nouveau" dans le menu "Fichier". Tapez le code dans l'éditeur de texte et enregistrez-le avec l'extension '. C'. Vous pouvez créer des fichiers source tempr.c, delay.c et lcd.c de cette manière. Après avoir tapé et confirmé le code, vous devez ajouter les fichiers source de votre projet. Dans le menu 'Projet', cliquez sur 'Ajouter des fichiers au projet », puis ajouter les fichiers en les parcourant à partir de l'endroit où ils sont enregistrés po 

3. Configurez le système . Pour configurer des fonctions comme type d'oscillateur et WDT, cliquez sur 'Configurer' du menu puis cliquez sur "Bits de configuration. Dans la configuration de bits de la fenêtre, sélectionnez le type d'oscillateur XT et désactivez toutes les autres fonctionnalités comme chien de garde, power-up timer et une baisse de tension détecter.

4. C ompiler le projet . Pour compiler le logiciel, cliquez sur 'Build' option "Projet" du menu. Le logiciel est compilé et "Créer réussie" message apparaît dans la fenêtre de sortie. Après la compilation réussie du programme, le tempr.hex fichier est généré. 

Téléchargement du logiciel dans la puce . Après la compilation du logiciel, le fichier hex généré peut être téléchargée dans la puce soit à l'aide d'un programmeur fabriqués localement (comme JMD programmeur) ou de Microchip Kit de programmation (PICKit2, PICKit3, ICD2, ICD3, etc.)

Nous avons utilisé Microchip MPLAB ICD2 (In-Circuit Debugger) pour brûler le programme dans microcontrôleur PIC16F877A.
 
La programmation peut se faire à partir de MPLAB IDE lui-même en sélectionnant le kit (ICD2) de «programmeur menu dans la barre de menus. Si vous utilisez un programmateur JMD, le fichier hex peuvent être téléchargés sur la puce en utilisant WinPic800 logiciel. Les bits de configuration doivent être configurés séparément dans WinPic800.


Un seul côté, soudure côté PCB du système de surveillance de la température est montré dans fig4
et son agencement des composants dans Fig.5 
A 230V AC primaire à 0-9V AC secondaire transformateur abaisseur de tension est utilisé pour abaisser la fourniture 230V. La sortie du transformateur est redressée à l'aide d'un pont redresseur constitué de diodes D1 à D4 et régulée à 5 V à l'aide du régulateur de tension 7805. Le brillant de la diode électroluminescente (LED1) indique la présence d'alimentation de 5 V dans le circuit. 

La sortie analogique du capteur de température LM35 (IC3) à partir de son axe 2 est relié à RA0/AN0 broches de microcontrôleur PIC16F877A (IC2). Un cristal 4MHz (X TAL1) est connecté aux broches 13 et 14 du microcontrôleur. L'écran LCD 16x2 est interfacé avec le microcontrôleur utilisant Port A et Port D. Les signaux de commande de l'écran LCD sont fournies en utilisant Port-A RA1 broches, RA2and RA3. La commande et les données de l'écran LCD sont fournies en utilisant Port-D broches RD0 travers RD3. Les autres connexions d'alimentation sont indiquées dans la figure 2. 


note;si tu besoin de code source contacter moi par mail
















3 commentaires:

  1. bonjour je suis un jeune etudiant et je fais un meme projet comme vous svp j aimerai avoir le code source mon email:ghomsiherve@gmail.com merci d avance

    RépondreSupprimer
  2. bonsoir
    j ai besoin du code source
    si c'est possible envoyez le moi par mail
    soumaya.rahmani@esprit.tn

    merci d avance

    RépondreSupprimer
  3. Salut , je vous souhaite la bienvenue sur notre site clic sur ce lien pour voire le code source http://www.clictune.com/id=106771

    RépondreSupprimer