Thermomètre digital avec PIC16F818 et LM35

Ce poste seront invités à construire un appareil électronique pour mesurer la température, qui est signalée à l'utilisateur via un affichage de type LED à 7 segments.

Ce projet se compose de deux parties: le matériel (moins complexes) et des logiciels (plus complexes). Dans un premier temps de décrire le concept, la fonction et l'assemblage de l'appareil. Dans le second faire la même chose pour le firmware (programme) qui se déroulera à l'intérieur du dispositif.

Le principal avantage de l'approche adoptée dans ce projet est la réduction du nombre de composants utilisés dans la construction. Bien qu'il existe des puces dédiées à cette tâche, ils mai pas facile à trouver et ne peuvent être modifiés ou adaptés pour être utilisés en particulier. En outre, la construction du PIC est très didactique.

Tous les fichiers nécessaires à l'achèvement de la construction et la programmation, y compris le schéma de câblage et le code source assembleur peut être trouvée dans cette archive.

Hardware

Le composant choisi pour être le cœur de ce projet était le PIC16F818 qui, dans ses 18 broches présente une quantité suffisante d'intrants et les extrants (16), dispose d'un convertisseur analogique / numérique intégré 8MHz oscillateur interne, peut stocker jusqu'à 1K mots de programme 128 octets de RAM et EEPROM 128, et plus qu'il n'est nécessaire pour cette application. Ce volet offre aussi d'autres ressources et pratique, comme un module pour la communication série et un pour PWM synchrone. Dans un autre projet, j'ai utilisé le module de communication série à mettre en oeuvre un bus I2C pour un contrôle maître esclave composante des autres composantes.

Le PIC16F818 est compatible broche à broche à broche avec son ancêtre direct, le PIC16F84 populaire, mais elle est beaucoup plus polyvalent que cela.

Parmi tous les types de capteurs de température, en raison des prix bas, la stabilité, la précision et la facilité d'utilisation, le LM35 a été choisi. Ce composant est un circuit intégré muni d'un capteur de température et de la chaleur compensasão circuits et pouvoir, avec la température et la mesure de la tension avec une résolution de 10 mV par degré Celsius.

Prototype monté sur proto-pension:

Prototype d'auto-lumineux:

Vesão finale et sa boîte:

Câblage:

Version PDF.

Fichier source de gEDA: Termometro.sch

Stock symboles décrivant le PIC16F818 composant: PIC16F818-1.sym

Logiciels

Le firmware pour le thermomètre a été écrit en langage assembleur pour PIC dans PC / Linux avec les outils open source et gputils piklab. Dépositaires de certaines distributions déjà venu avec ces paquets, mais généralement ils ne sont pas installés par défaut. Néanmoins, il était très facile de les installer dans Fedora en utilisant yum:

$ Yum-y install gputils piklab

La capture d'écran ci-dessous montre l'environnement de développement intégré de piklab, avec un extrait du code source thermomètre visible dans la fenêtre d'édition. Avec piklab pouvez organiser les fichiers contenant le code source dans le même répertoire, et de les inclure dans un fichier projet, qui contient également des informations et des paramètres sur le matériel sur lequel le programme sera exécuté. Après la compilation du code source, vous pouvez télécharger le fichier exécutable pour la puce de mémoire flash avec un seul clic de souris.

Le logiciel est chargé de faire périodiquement des affichages numériques du signal analogique fourni par le LM35, convertir cette information en un température à l'échelle Celsius, convertir le nombre binaire en décimal, affichage de la température sur l'affichage, de stocker en EEPROM les températures minimales et maximales observées et de répondre à la pression d'un bouton. Le logiciel vous permet également d'afficher la température en degrés Fahrenheit, si désiré. Pour certains de ces conversions, il était nécessaire de mettre en œuvre efficace des routines de multiplication et de division, étant donné que ces opérations ne sont pas présents dans le matériel.

Code source: termometro.asm, distribué sous licence GPL
Dossier de projet pour piklab: Termometro.piklab
Compilé. HEX pour programmer la puce: Termometro.hex
Tous les fichiers ci-dessus au format. ZIP

Source: Page d'accueil de Waldeck

Related posts:

  1. Le feu passe au numérique
  2. Simulation de manipulateurs robotiques - Kukim

Qui écrit

Chroniqueur pour électriques Info