Bibliothèque technique gratuite ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE Minuterie-horloge-thermomètre multi-programmes. Encyclopédie de la radioélectronique et de l'électrotechnique Encyclopédie de l'électronique radio et de l'électrotechnique / Régulateurs de puissance, thermomètres, stabilisateurs thermiques L'article décrit un appareil numérique universel basé sur un contrôleur PIC, capable de remplir les fonctions d'une minuterie multi-programme capable de gérer quatre charges, une horloge, un réveil, un thermomètre à large plage et un thermostat qui assure à la fois le chauffage et refroidissement de l'objet contrôlé. Un appareil numérique universel dont le schéma est illustré à la Fig. 1, présente les caractéristiques techniques suivantes :
L'appareil est contrôlé à l'aide d'un clavier à 16 touches. Il est possible d'allumer et d'éteindre le son des pressions sur les boutons, de configurer la fourniture de signaux sonores, lumineux et de contrôle, ainsi que la possibilité de configurer individuellement l'appareil pour une application spécifique en modifiant le programme de contrôle MK. Il existe une alimentation de secours provenant d’une batterie rechargeable intégrée. Tous les paramètres définis lors du fonctionnement de l'appareil sont conservés même si l'alimentation de secours est coupée pendant plus de 40 ans. Comme le montre le schéma, la base de l'appareil est le contrôleur PIC DD1. Le registre à décalage DD2 et le décodeur DD3 sont conçus pour organiser une indication dynamique dont le principe est le suivant. Tout d'abord, le code 3 est envoyé au décodeur DD1111, ce qui permet de définir des niveaux de journalisation sur toutes ses sorties. 1 et aucun des chiffres de l’indicateur HG1 n’est allumé. Ensuite, le code du symbole requis est inscrit dans le registre DD2, après quoi le code correspondant au chiffre requis de l'indicateur est envoyé au DD3. Simultanément à la mise à jour des données de l'indicateur, le clavier est analysé, dont les 16 boutons sont divisés en deux groupes - huit chacun. Les broches communes des boutons de ces groupes sont reliées à deux entrées du MK (RB0 et RB1). Lorsque vous appuyez sur n'importe quel bouton, un signal de journal est envoyé à l'une de ces entrées. 0 de la sortie correspondante du décodeur DD3, déterminant ainsi son code. À l'aide du clavier, vous pouvez démarrer/arrêter n'importe quelle minuterie de programme ou toutes en même temps, régler le mode de fonctionnement du thermostat, l'heure actuelle, l'heure de l'alarme, etc. La plupart des boutons ont un double objectif, selon les informations fournies par l'utilisateur. saisie à partir du clavier : numérique ou contrôle . Considérez le but des boutons du clavier plus en détail. "0", "Horloge" - chiffre 0 lors de la saisie d'informations numériques ou du passage en mode horloge, dans lequel vous pouvez modifier l'heure actuelle, régler l'heure de l'alarme, activer le mode alarme pour l'arrivée d'une nouvelle heure, modifier l'heure facteur de correction (voir ci-dessous). "1" - "9" - chiffres 1 à 9 lors de la saisie d'informations numériques ou de la sélection de la minuterie de programme appropriée. "Terme" - passe au mode thermostat, où vous pouvez définir la valeur de température actuelle, modifier la valeur de la température contrôlée, le type de contrôle (chauffage ou refroidissement) et les paramètres de la thermistance. "Del" - signe moins lors de la saisie de la valeur de la température contrôlée, allumage/extinction du thermostat, du thermomètre, du réveil ou de l'horloge (lorsqu'il est éteint, les signes --- sont affichés à la place des lectures correspondantes), remise à zéro lors de la saisie numérique données. "Set" - transition/sortie vers le mode de modification de la valeur de n'importe quel paramètre (minuterie de programme, heure actuelle, réveil, thermomètre, thermostat, réglages). "Options" - passez au mode de modification des paramètres. Ici, vous pouvez activer/désactiver le bip des boutons, le mode bienvenue, sélectionner les sources des signaux de commande, etc. "Sélectionner" - démarre/arrête le minuteur du programme en cours si sa valeur de temporisation est différente de 0. "AN" - démarre/arrête toutes les minuteries de programme dont la valeur de temporisation est différente de 0. L'appareil est capable de produire quatre signaux de commande, chacun pouvant être utilisé à la discrétion de l'utilisateur. Il est possible de paramétrer la source de ces signaux :
L'appareil utilise une LED bicolore HL1, qui clignote en rouge si au moins un signal de commande devient actif lorsqu'une ou plusieurs minuteries sont démarrées, et en vert s'il n'y a aucun signal actif. À la fin de la temporisation de l'une des minuteries en cours d'exécution, l'indicateur HG1 commence à clignoter et l'émetteur piézo HA1 avec disjoncteur intégré émet des signaux sonores. Cela continue jusqu'à ce que l'utilisateur appuie sur n'importe quel bouton du clavier ou qu'un certain temps s'écoule, dont la valeur est stockée dans la mémoire du MK et peut être modifiée lors de sa programmation. Le signal sonore produit lors du déclenchement de la minuterie est déterminé par deux paramètres : la durée du son et le nombre de salves sonores. Lorsque l'alarme se déclenche, des signaux sonores retentissent également, mais seuls les deux symboles les plus à gauche de l'indicateur commencent à clignoter - A et L (de l'anglais ALARM - réveil). Le son de l'alarme est également décrit par deux paramètres stockés dans la mémoire du MK. En fonction du résonateur à quartz utilisé, la précision de l'horloge varie, c'est pourquoi cet appareil implémente une correction logicielle de l'heure. Le coefficient de correction est défini par l'utilisateur à partir du clavier et est également stocké dans la mémoire du MK. En fait, cela représente le nombre de microsecondes qui s'ajoutent aux périodes d'oscillation générées par le timer interne du MK - dans notre cas 1,92 ms. En utilisant un facteur de correction, ce temps est égal à 2 ms (une période de temps de 1 s est enregistrée toutes les 500 périodes de ce type). La température est mesurée en mesurant la chute de tension aux bornes de la thermistance RK1. Sa résistance en fonction de la température est déterminée par la formule suivante : où R0 est une constante ayant la dimension de la résistance ; B est une constante ayant la dimension de la température ; T - température absolue. Cette dépendance doit donc être réduite à linéaire. Il existe une méthode connue de linéarisation utilisant un pont de thermistance, mais cette approche n'est pas pratique car lors du remplacement de la thermistance, vous devez modifier les paramètres du pont lui-même, ce qui n'est pas si simple. Il serait plus pratique d'obtenir la valeur de la température sans aucune linéarisation, mais pour cela vous devez calculer la valeur de l'expression suivante : où Rd est la résistance de la résistance supplémentaire ; N - code binaire de 10 bits obtenu après conversion analogique-numérique ; Non - tension d'alimentation. Dans l'appareil décrit, cette expression est calculée par le programme de contrôle MK et le résultat est affiché sur l'indicateur. Il convient de noter que la plage ci-dessus de températures mesurées et contrôlées (-43... +470 °C) peut être étirée, comprimée ou décalée à volonté. Cet intervalle a été choisi car l'erreur de mesure de la température ne dépasse pas ±2 °C. Dans ce cas, la résistance supplémentaire R17 est de 300 Ohms. Pour réduire l'erreur, elle peut être augmentée, mais les limites de la plage de température changeront alors. Pour faciliter le calcul, vous pouvez utiliser document terme (10 bits).mcd pour le système MathCAD 2001, qui, sur la base des paramètres spécifiés de la thermistance RK1, de la résistance R17 et de l'erreur requise, calcule la plage des températures mesurées. Pour garantir que l'horloge en temps réel ne soit pas perdue lors de la mise hors tension de l'alimentation principale, l'appareil est équipé d'une unité d'alimentation de secours pour le microcontrôleur. Il est constitué d'une pile GB1 de 3,6 V, d'une résistance R16 et de diodes VD2, VD3. Lorsque l'alimentation principale est activée, la diode VD3 se ferme et la batterie GB1 est chargée via la résistance R16. Lorsque l'alimentation principale est coupée, la tension de la batterie est fournie via la diode VD3 uniquement au MK (la diode VD2 empêche l'alimentation en tension des éléments restants de l'appareil). Le MK détecte le fait d'une panne de courant, car il surveille en permanence le niveau de tension sur la broche RB2. Et quand cela devient égal à log. 0, le MK arrête de régénérer l'indicateur et d'interroger le clavier, arrête toutes les minuteries de programme en cours, arrête de mesurer et d'ajuster la température et passe en mode horloge. De plus, si les paramètres ont été modifiés pendant l'utilisation de l'appareil, après avoir coupé l'alimentation, la LED rouge clignotera brièvement, mais si les paramètres n'ont pas changé, la LED verte clignotera. Si l'appareil n'est pas destiné à être utilisé pendant une longue période (une semaine ou plus), alors pour éviter une décharge complète de la batterie, vous pouvez désactiver l'alimentation de secours à l'aide du cavalier S1. Le MK surveille en permanence l'état des contacts des boutons du clavier, et s'il n'y a pas eu une seule pression dans un délai spécifié et qu'aucun minuteur de programme n'a été démarré, il passe automatiquement en mode horloge. Le programme de contrôle MK est écrit en langage C, il peut donc facilement utiliser n'importe quel type de données, y compris les données réelles. Le programme a été développé dans le système de programmation HT-PIC C (il peut être « téléchargé » depuis le site Internet ). Pour le débogage, nous avons utilisé l'émulateur en circuit le plus simple, qui est un ensemble de contacts reliant les lignes du port parallèle de l'ordinateur à la prise sous le MK sur la carte principale. La correspondance des broches du port parallèle de l'ordinateur avec les prises MK sur la carte du minuteur est indiquée dans le tableau. 1. Pour contrôler l'émulateur, le programme de contrôle MK a été compilé avec des modifications mineures dans l'environnement de programmation Borland C++ 3.1. Malheureusement, un tel émulateur fonctionne sur une échelle de temps différente de la réalité, mais néanmoins, sans un tel appareil, il serait presque impossible de déboguer un programme aussi complexe. Sans utiliser d'émulateur, seule la conversion analogique-numérique a été mise en œuvre, dont une description relative à ce MK peut être trouvée sur le site Internet. (document DS30292C - "Module ADC 10 bits dans les microcontrôleurs PIC16F87x"). Examinons brièvement les principaux points du fonctionnement du programme de contrôle MK. Il est écrit à l'aide d'une méthodologie de programmation structurée, ce qui lui confère un grand nombre de sous-programmes. Après la mise sous tension, le MK configure les ports d'entrée/sortie, l'ADC et la minuterie interne. Ensuite, la boucle principale commence à s'exécuter, ce qui est infini. Comme déjà mentionné, la présence de la tension d'alimentation principale y est constamment vérifiée et si elle est éteinte, le MK cesse d'exécuter toutes les fonctions à l'exception du comptage du temps. Lorsque l'alimentation principale est allumée, elle affiche l'écran de démarrage et revient au mode de fonctionnement. Les informations qui doivent être affichées sur l'indicateur à l'heure actuelle sont stockées dans le tableau d. Lors du processus de régénération de l'indicateur, MK réécrit son contenu dans un tableau intermédiaire, et à partir de celui-ci lit séquentiellement les codes des symboles affichés et les affiche sur l'indicateur. Un tableau supplémentaire est introduit afin d'éliminer le scintillement de l'indicateur qui se produit à la suite de l'écriture de nouvelles informations dans le tableau d avant que l'ancienne ne soit pas encore entièrement affichée. Par exemple, disons que le tableau d contenait initialement la chaîne « ABCDEFHLP » et que lorsque le quatrième caractère (« D ») était affiché, la chaîne « FDA 2002 » a été ajoutée au tableau. Ensuite, l'utilisateur de l'appareil, en raison de l'inertie de la vision humaine, verra à un moment donné la ligne « ABC 2002 ». De plus, si de tels processus sont répétés constamment (et ce sera le cas dans le travail réel), une personne aura l'impression que les informations sur l'indicateur scintillent. Comme indiqué, simultanément à la mise à jour de l'indicateur, le clavier est analysé. Lorsque vous appuyez sur n'importe quel bouton, un sous-programme de suppression du « rebond » de contact est appelé, qui met en œuvre un délai de plusieurs millisecondes (la valeur de ce temps est stockée dans la mémoire du MK), pendant lequel l'appareil ne répond pas à d'autres pressions sur un bouton. Il convient également de noter que la temporisation des programmateurs, horloges et alarmes est réglée en secondes (le compteur horaire est réinitialisé lorsque la valeur atteint 24 x 60 x 60 = 86400), et avant d'être affiché sur l'indicateur, il est converti en au format H : MM : SS pour les minuteries ou au format HH : MM pour l'horloge et l'alarme. Cela se fait à l'aide des formules suivantes : C = temps mod 60. Ici, l'opération ][ signifie supprimer la partie fractionnaire, c'est-à-dire que la division est un nombre entier. Les valeurs obtenues des heures, minutes et secondes ne sont pas encore adaptées à un affichage direct sur l'indicateur, car elles sont présentées en code binaire. Pour sélectionner les décimales les plus hautes et les plus basses, il est nécessaire d'effectuer deux opérations supplémentaires sur chaque valeur : LSB = valeur mod 10. Regardons un exemple. Soit qu'il soit nécessaire d'afficher la valeur 8673 s sur l'indicateur au format H : MM : SS. On a C = 8673 mod 60 = 33. Ainsi, l'indicateur affichera 2 : 24 : 33 À partir des exemples donnés, vous pouvez voir combien d'opérations doivent être effectuées simplement pour organiser la sortie vers l'indicateur. Implémenter de telles mathématiques en langage assembleur serait presque impossible. En langage C, cela est implémenté en quelques lignes seulement et, grâce au haut niveau d'optimisation, le code du programme est assez compact et rapide. Mais le plus important est que le programmeur puisse concentrer son attention principale sur l'algorithme du programme, en faisant abstraction des spécificités de l'architecture du MC utilisé. Tout cela facilite le transfert facile du programme d'un MK à un autre. Le texte source du programme MK et les codes du micrologiciel au format Intel HEX se trouvent à l'adresse Internet ci-dessus. Pour programmer le MK, l'auteur a utilisé un programmateur assemblé selon le circuit illustré à la Fig. 2, et le logiciel PonyProg2000 dont la dernière version peut être « téléchargée » sur le site Internet . La principale différence entre le programmateur et celui décrit dans [1] est l'ajout d'un transistor supplémentaire (VT3) au circuit de génération du signal de synchronisation, ce qui augmente la fiabilité de la programmation en éliminant complètement la tension négative aux bornes MC. Le dispositif décrit permet la programmation du MK sur la carte, c'est-à-dire qu'il prend en charge la technologie ICSP (In-Circuit Serial Programming). Pour ce faire, il est connecté par cinq fils au programmateur via le connecteur X1 comme suit : 7 - commun ; 5,6 - 5 V ; 2 - SDA ; 3 - SCL ; 1 - Uprog. Il est possible d'utiliser d'autres programmateurs, y compris ceux prenant en charge la programmation basse tension. Dans ce dernier cas, vous devez en plus connecter le contact correspondant du programmateur à la broche 4 du connecteur X1. Un dessin de la carte de circuit imprimé de l'appareil est illustré à la fig. 3, claviers - sur la fig. quatre. La carte de minuterie comporte sept trous dans lesquels, avant d'installer les pièces, des morceaux de fil étamé sont insérés et soudés aux conducteurs imprimés des deux côtés de la carte. La fonction des cavaliers est également assurée par les bornes de certaines pièces. Les trous à travers lesquels ces connexions de conducteurs imprimés sont réalisés sont mis en évidence sur la Fig. 3 avec quatre points en forme de croix. Les fichiers sources du projet et la bibliothèque de composants utilisés pour le système de CAO Accel EDA 15.0 se trouvent sur le site Web indiqué ci-dessus. L'appareil utilise des résistances et des condensateurs fixes pour le montage en surface. Une exception concerne les condensateurs à oxyde C6, C7 (K50-35). Le PIC16F876 MK peut avoir n'importe quelle fréquence de fonctionnement et plage de température maximales, l'essentiel est qu'il soit dans un boîtier DIP (portant le suffixe SP). L'émetteur piézo NRM14AX peut être remplacé par une unité réalisée sur trois éléments du microcircuit KR1533LAZ et un émetteur piézo ZP-18 [2]. Thermistance RK1 - MMT-4 avec une résistance nominale de 15 kOhm (R0 = 0,294 Ohm, V = 3176 K). Comme connecteurs X1 - X1, on utilise des blocs divisés avec des broches droites, qui sont utilisés en technologie informatique : pour X2, un bloc avec une disposition de broches à double rangée est utilisé, et pour X1 et X2 - avec une disposition à une seule rangée. Le huitième contact de la fiche XP2 et le troisième contact de la fiche XP20 ont été retirés et des fiches - des morceaux de ligne de pêche épaisse - ont été insérées dans les prises correspondantes des parties correspondantes des connecteurs. Cette mesure empêchera les connecteurs de se connecter incorrectement. La prise du connecteur X10 est constituée d'un panneau de 1 prises pour un microcircuit dans un boîtier DIP (une partie de celui-ci est utilisée, qui comporte 16 contacts). Boutons SB3-SB130 - TS-AXNUMXPS-XNUMX. Le contenu de la MK EEPROM, qui peut être modifié pour définir d'autres paramètres de fonctionnement, est présenté dans le tableau. 2. La colonne "Paramètre" contient le nom du paramètre, qui est affiché sur l'indicateur. S'il y a un tiret dans cette colonne, alors ce paramètre ne peut être modifié que lors de la programmation du MK. littérature
Auteur : D. Frolov, Riazan Voir d'autres articles section Régulateurs de puissance, thermomètres, stabilisateurs thermiques. Lire et écrire utile commentaires sur cet article. Dernières nouvelles de la science et de la technologie, nouvelle électronique : Cuir artificiel pour émulation tactile
15.04.2024 Litière pour chat Petgugu Global
15.04.2024 L’attractivité des hommes attentionnés
14.04.2024
Autres nouvelles intéressantes : ▪ Particules quantiques immortelles ▪ Tester des voitures autonomes avec un chauffeur à distance ▪ La LED transforme les légumes en plantes médicinales ▪ Les météorites affectent-elles le climat Fil d'actualité de la science et de la technologie, nouvelle électronique
Matériaux intéressants de la bibliothèque technique gratuite : ▪ section du site Ouvrages électroniques de référence. Sélection d'articles ▪ article Qui a inventé la partition musicale ? Réponse détaillée ▪ article Crise d'hypertension. Soins de santé
Laissez votre commentaire sur cet article : Toutes les langues de cette page Page principale | bibliothèque | Articles | Plan du site | Avis sur le site www.diagramme.com.ua |