Figure 1: schéma de circuit de l’enregistreur de température sur la carte SD avec commande de menu

Une carte SD peut être utilisé pour enregistrer des données en continu au fil du temps à des fins diverses, ce projet montre la conception d’un enregistreur de données de température avec système de commande de menu. 
La température ambiante est lu chaque minute et stocké dans un fichier sur une carte SD. 
Lorsque le programme démarre, l’utilisateur reçoit trois options: 

  • Option 1 :  Enregistrement des lectures de température dans un nouveau fichier sur une carte SD (un nouveau fichier texte sera créé: « TEMP.TXT »)
  • Option 2:  Concaténer les lectures de température à un fichier existant sur une carte SD (Ouvrez le texte existant file « TEMP.TXT » et continuer à sauvegarder à partir des dernières données)
  • Option 3:  Envoi tout le contenu du fichier enregistré sur un PC.

L’utilisateur devra choisir une option, puis appuyez sur Entrée pour démarrer l’enregistrement des données. Ce menu accessible uniquement une fois quand le programme démarre, si l’utilisateur souhaite choisir une autre option, il/elle doit relancer le programme  en appuyant sur le bouton de la remise à zéro.

Schéma

Le schéma du circuit ci – dessus sur la figure 1 montre une carte SD est reliée à PORTC de PIC18F45K22, un écran LCD  d’affichage à PORTB et un convertisseur de niveau MAX232 connecté au module PIC UART (RC6 et RC7) pour communiquer avec un PC. 
La broche CS de la carte est connecté à RC2 du PIC, Din de la carte à Do1 (RC5) du PIC, Do de la carte à  
Di1 (RC4) de la carte et CLK de la carte à CLK1 de PIC (RC3). 
Les connexions d’alimentation de la carte ne sont pas représentés, mais doivent être connectés à la variable 3.3V  
régulateur  (U4). VDD et VSS du microcontrôleur PIC ne sont pas représentés dans le schéma de circuit. VDD doit être connecté à + 5 V et VSS à la masse. Un oscillateur à cristal 8MHz est connecté OSC1 et OSC2 du PIC.        

Régulateur de tension variable

Figure 2: régulateur de tension variable

Veuillez vous référer d’abord à ces articles:  

Interfacing Carte SD avec Microcontrôleurs PIC ,  

Interfacing écran LCD avec microcontrôleur PIC ,  

convertisseur analogique – numérique dans Microcontrôleurs PIC  et  

PIC Microcontroller Communication avec RS232  

Le prototypage sur circuit imprimé est toujours robuste et comporte peu d’erreurs en raison de mauvaises connexions. Pour un développement rapide, vous pouvez acheter une carte SD que vous pouvez brancher directement à votre carte de développement ou à vos en-têtes de circuit imprimé. Vous pouvez acheter les composants de ce projet sur notre page Boutique.

L’autre, et probablement le plus important, est également le coût de fabrication de vos circuits imprimés. La qualité d’un circuit imprimé peut affecter la qualité globale de tout le dispositif électronique.

Il existe de nombreuses sociétés de fabrication de PCB dans le monde qui peuvent vous fabriquer des PCB de bonne qualité, mais nous en avons besoin d’une qui puisse produire des panneaux de haute qualité et bon marché pour de petites commandes car le premier lot d’un projet est probablement de petite quantité. Une de ces entreprises que nous pouvons recommander est PCBWay.

PCBWay est un fabricant de circuits imprimés basé en Chine, spécialisé dans le prototypage de circuits imprimés, la production en petit volume et le service d’assemblage de circuits imprimés, le tout sous un même toit et comptant plus de dix ans d’expérience. Vous pouvez obtenir 10 PCB de haute qualité (taille: 100mm x 100mm ou moins) pour seulement 5 USD. Les nouveaux membres reçoivent un bonus de 5 $ qui peut être utilisé pour obtenir votre première commande totalement gratuite.

Vous pouvez choisir entre ces couleurs de masque de soudure sans frais supplémentaires: vert, rouge, jaune, bleu, blanc et noir. Veuillez lire cet article pour en savoir plus sur PCBWay:

https://www.studentcompanion.net/fr/circuit-imprime-et-assemblage-a-faible-cout-avec-pcbway/.

And if you are a student or an educator, you could get PCB for free, read this article to find out how:

Circuits imprimés gratuits et réductions pour les étudiants et les enseignants avec le programme de parrainage de PCBWay.

Sinon, vous pouvez les contacter depuis leur site web, cliquez sur le logo ci-dessous:

PCBWay Website

Code MikroC  

Dans ce projet, un fichier appelé  TEMPTXT  est créé sur la carte SD pour stocker les lectures de température (la bibliothèque appel de fonction insérera le «.» pour rendre le nom de fichier « TEMP.TXT »), si elle n’existe pas déjà.

Les fonctions suivantes sont créées au début du programme, avant le programme principal:

Newline  réalise un retour chariot et un saut de ligne à l’UART de sorte que le curseur se déplace sur la ligne suivante.

Space  insérer un espace entre les caractères.

Text_To_UART  reçoit une chaîne de texte comme argument et l’ envoie à l’UART à afficher sur l’écran du PC

Read_Temperature  commence la conversion analogique-numérique et reçoit les données converties dans une variable appelée VoltIn. La tension correspondant à cette valeur est ensuite calculée en millivolts et divisé par 10 pour obtenir la température mesurée réelle en ° C. La partie décimale de la température trouvée est ensuite convertie en forme de chaîne en utilisant la fonction  LongToStr . Les espaces de début sont retirés de cette chaîne, et la chaîne résultante est stockée dans la température de la matrice de caractère. 

Ensuite , les parties fractionnaires de la température mesurée, un retour chariot et un saut de ligne sont ajoutés à ce  
tableau de caractères, qui est ensuite écrit sur la carte SD.

A l’intérieur du programme principal, les opérations suivantes sont effectuées:

Initialiser écran LCD,  Initialiser l’UART à 9600 bauds,  Initialiser le bus SPI,  Initialiser le système de fichiers FAT,  menu Affichage sur l’écran du PC, obtenir un choix de l’utilisateur (1, 2, ou 3):     

  • Si le choix est 1, créez un nouveau fichier de température, obtenir de nouvelles lectures de température toutes les minutes et  les stocker dans le fichier 
  • Si le choix est 2, attribuer au fichier de la température actuelle, obtenir de nouvelles lectures de température chaque  minute et les ajouter au fichier de température existant
  • Si le choix est 3, attribuer le fichier de température, lire les enregistrements de température, et les afficher sur  l’écran du PC. 
  • Si le choix n’est pas 1, 2 ou 3, afficher un message d’erreur à l’écran

Le projet peut être testé en connectant la sortie du microcontrôleur au port série d’un PC (par exemple,  
COM1), puis d’ exécuter le logiciel d’émulation de terminal HyperTerminal ou tout autre  logiciel de terminal série 
Si vous utilisez Microsoft Windows XP, cliquez sur Démarrer, Tous les programmes, Accessoires, Communications et Hyper Terminal pour ouvrir le Hyper Terminal de Windows. 
Régler les paramètres de communication à 9600 bauds, 8 bits de données, 1 bit d’arrêt, et sans bit de parité. La figure 3 ci – dessous montre un aperçu de l’écran du PC lorsque l’ option 2 est sélectionnée pour sauvegarder les enregistrements de température dans un nouveau fichier.                

Instantané de l'écran PC

Figure 3: Aperçu de l’écran PC

Code complet du projet

Vous pouvez télécharger les fichiers de projet complet (code source MikroC et Proteus conception schématique) ci – dessous ici.
Tous les fichiers sont compressés, vous aurez besoin de les dézipper ( Télécharger une version gratuite de l’utilitaire Winzip pour décompresser les fichiers ).

Télécharger Enregistreur de température code MikroC

Télécharger Enregistreur de température Proteus

(Visited 222 times, 1 visits today)