Précis et sensible, piloté par microcontrôleur, ce thermostat permet de paramétrer une température entre –20 et +100 °C, par l’intermédiaire de commandes simples. Grâce aux contacts du relais, on peut piloter différents appareils, comme des radiateurs de chauffage ou un système de climatisation. Un afficheur LCD est en mesure de visualiser la température mesurée et les différents paramètres de commande.
Dans les habitations, dans les bureaux, dans les commerces et, en général, dans les locaux fermés, se trouve souvent installés des appareils qui servent à maintenir une température raisonnable pour les personnes, réchauffant les lieux en hivers, les rafraîchissant l’été.
Ces systèmes de chauffage ou de climatisation sont normalement gérés par un automatisme, que nous connaissons sous le nom de “thermostat”. En pratique, il s’agit d’un dispositif en mesure de maintenir la température imposée à l’origine, en faisant intervenir soit un chauffage, soit un climatiseur. On trouve, dans le commerce, différents types de thermostats, chacun réalisé pour une application spécifique.
Il y a les modèles mécaniques, les électromécaniques et les électroniques.
Il est presque superflu de préciser que les modèles mécaniques sont construits pour intervenir sur des installations hydrauliques. Par contre, les modèles électromécaniques et électroniques sont destinés au contrôle, à l’aide de circuits solides (comprenez sans contact en mouvement).
Les électromécaniques, sont caractérisés par un élément sensible qui procède à la commutation. C’est, en général, un élément bimétal qui a la particularité de se déformer à une température déterminée.
Ainsi, il suffit de l’approcher ou de l’éloigner d’une électrode, pour obtenir la fermeture ou l’ouverture de l’interrupteur ainsi formé, dès que la température déterminée est atteinte dans la pièce.
C’est le même contact qui est placé en série avec l’alimentation des chaudières électriques, des convecteurs, des climatiseurs ou des pompes à chaleur.
Pour ce qui concerne les modèles électroniques, il s’agit typiquement d’un thermostat composé d’un capteur au silicium et d’un circuit en mesure d’en détecter le signal, procédant ensuite à la commande d’un petit relais, d’un triac ou d’un thyristor.
Pour l’ensemble des modèles mécaniques et électromécaniques, une convention a été adoptée, appliquée aux dispositifs équipés d’un inverseur, donc, d’un contact normalement fermé et normalement ouvert.
Le standard prévoit donc, que le contact de C (commun) à NF, soit utilisé pour la commande des installations de chauffage (il est fermé lorsqu’il fait froid et s’ouvre lorsque la température voulue est atteinte), par contre, le contact de C à NO, sert pour contrôler les climatiseurs d’air (ouvert au repos, fermé si la température augmente audessus d’un seuil prédéterminé).
Le thermostat proposé dans cet article et du type électronique et certainement à l’avant-garde, au moins pour deux raisons.
Il est facilement programmable entre –20 et +100 °C, par l’intermédiaire de deux boutons poussoirs et utilise comme sonde, un composant au silicium de haute précision, capable de détecter des températures dans un champ compris entre –50 et +150 °C.
Il dispose, en outre, d’un afficheur LCD alphanumérique, sur lequel apparaissent non seulement les lectures du moment, mais également les indications utiles pour assister l’opérateur durant le paramétrage (voir figure 9). Le schéma électrique de la figure 1 nous montre la relative simplicité de l’ensemble, composé pratiquement d’un microcontrôleur, d’un afficheur intelligent, d’un régulateur de précision et d’un transducteur température/tension.
Le système de gestion
Evidemment, le coeur du circuit est représenté par le microcontrôleur PIC16F876-MF321, programmé de façon à gérer, en utilisation normale, l’acquisition périodique du signal continu provenant de la sonde U2, en traiter les données et les visualiser sur l’afficheur LCD en même temps que la valeur imposée pour le seuil thermostatique (voir figure 6).
Le circuit est donc aussi un thermostat précis, dont la tolérance n’excède pas ±0,5 °C.
En programmation, le microcontrôleur procède à la lecture de l’état des trois boutons poussoir, qui activent respectivement la sélection : avant, arrière et le mode de fonctionnement, qui dans notre circuit est imposé via programme.
Le schéma électrique
Commençons par examiner le schéma électrique de la figure 1 et le fonctionnement normal du thermostat. Nous analyserons ensuite la procédure de programmation.
A partir de l’instant où est appliquée la tension d’alimentation, le programme principal procède à l’initialisation des E/S, assignat les broche 2, 4, 5, 21, 22 et 23 comme entrées et les broches 11, 12, 13, 14, 15, 16 et 24, comme sorties.
La broche 2 sert, quant à elle, à l’acquisition de la tension produite par le capteur de température. La broche 4 et la broche 5 reçoivent les références pour l’échelle de mesure. Les broches 21, 22 et 23 lisent l’état des boutons poussoirs P1, P2 et P3, utilisés, pour les deux premiers, comme “Up/Down” pour le choix des valeurs à imposer et, pour le dernier, pour entrer et sortir des procédures. Quant aux sorties, la broche 24 commande directement la base du transistor T1, relié au relais RL1, qui sert d’élément de commande.
Les lignes RC0 à RC5 sont utilisées pour gérer les signalisations de l’afficheur : en particulier, les quatre premières envoient les données à visualiser, proposées sous forme parallèle (sur 4 bits) par le microcontrôleur.
La broche 15 active la broche RS et la broche 16 intervient sur la broche E.
La broche RS de l’afficheur est une ligne avec laquelle le PIC16F876-MF321 communique, si les données qui arrivent sont relatives à une commande (exemple : curseur au début de ligne, écrire sur la première ou la seconde ligne, etc.) ou bien, si elles sont relatives à un caractère à visualiser.
Le premier cas correspond à un niveau haut, le second, à un niveau bas.
La broche E est la broche “Enable”.
Normalement elle est placée au niveau haut (1).
Par contre, lorsque le microcontrôleur doit envoyer des données au buffer d’entrée de l’afficheur, il envoie un niveau 0 pour chaque octet transmis.
Il faut noter que l’une des entrées de contrôle de l’afficheur, la broche R/W, est positionnée de façon permanente à la masse (0 logique), pour la simple raison que, dans notre application, le microcontrôleur écrit seulement dans l’afficheur et qu’il ne lit aucune information sur ce dernier.
Figure 1 : Schéma électrique du thermostat simple et performant à affichage digital.
La sonde LM135H utilisée dans le thermostat
Figure 2a : La sonde vue de dessous.
Figure 2b : Schéma interne de la sonde.
L’élément utilisé comme capteur de température est un petit circuit intégré en boîtier métal type TO-46 (il ressemble à un transistor de signal), qui peut être assimilé à une diode zener, dont la tension entre les pattes “+” et “–” vaut 10 mV par degré Kelvin de la température à laquelle il est exposé.
Les caractéristiques du composant sont invariables dans une plage de courant comprise entre 400 μA et 5 mA. Ainsi, il est très facile de déterminer la résistance série à appliquer entre lui et la tension d’alimentation.
Il est également possible de décaler légèrement la tension de cette zener en appliquant un potentiel de référence sur la patte “ADJ”. Dans notre cas, nous le faisons à l’aide du trimmer R3.
Le circuit intégré est produit par National Semiconductor et s’appelle LM135H. Pour la précision, celle-ci est la référence du modèle pouvant fonctionner entre –55 et +150 °C.
Le LM235H et la version industrielle (–40 à +125 °C) et le LM335H et le type commercial, limité à un fonctionnement entre –40 et +100 °C, mais qui peut théoriquement mesurer entre –50 et +150 °C. Donc, comme sonde, nous pouvons utiliser soit la version LM135H (plus coûteuse, mais avec une étendue de mesure plus large), soit la version commune LM335H.
En ce qui concerne la courbe de fonctionnement (tension/température), il est rappelé que notre composant est un circuit électronique basé sur un thermistor, capable de maintenir (à condition que l’on reste entre les valeurs de courant précitées) la tension à ses bornes, à une valeur de 10 mV/°K.
Pour ceux qui ne savent pas ce qu’est un degré Kelvin, rappelons que c’est l’unité de mesure de la température dans le système international et que cela correspond quantitativement à 1 °C.
L’alimentation
Cela dit, passons à présent à l’analyse de la section d’alimentation, qui accepte en entrée, une tension comprise entre 12 et 15 volts et permet de fournir une tension de 5 volts parfaitement stabilisée, à l’intention du microcontrôleur, du capteur de température et aussi pour l’afficheur LCD.
La particularité de cette alimentation réside dans le fait que nous n’avons pas utilisé le classique 7805 mais un LM317T dans sa configuration classique.
Le motif de ce choix est à rechercher essentiellement dans les exigences (afin que le microcontrôleur délivre des mesures de températures précises) d’alimenter le PIC16F876 et le capteur U2, avec 5 volts très exactement.
Les régulateurs de la série 78xx, ont tous une inévitable dérive des caractéristiques électriques, et, bien qu’ils soient très stables, il arrive parfois de trouver dans le commerce, des 7805 ayant une tension de sortie de 5,2 volts et d’autres fournissant 4,8 ou 4,9 volts.
L’utilisation d’un LM317T permet, avec l’aide d’un bon trimmer, de régler le potentiel de la broche U, à 5,00 volts très précisément. Bien entendu, il faut utiliser un voltmètre de bonne qualité, capable de mesurer les tensions continues avec une tolérance qui soit, la plus faible possible. Un autre détail à préciser, concerne la sonde de température U2, qui est, en substance, un petit circuit intégré en boîtier métal à 3 pattes, référencé LM135H, fabriqué par National Semiconductor (voir figure 2).
A l’intérieur de ce dernier, nous trouvons un circuit de précision, capable de présenter à ses extrémités, une tension directement proportionnelle à la température ambiante dans laquelle il se trouve. Pour comprendre comment il fonctionne, nous devons assimiler le LM135H à une diode zener, qui, entre les pattes + et –, présente une tension continue de 10 mV pour chaque degré Kelvin.
Si le 0 °K est équivalent à –273,15 °C, nous pouvons voir que, par exemple, à +20 °C (293,15 °K), le chip présente une tension de 2,9315 volts, à +100 °C, il délivre 3,9315 volts.
En appliquant un potentiel de référence à la patte “ADJ” (adjustment, réglage en français), il est possible de retoucher, en la déplaçant en haut ou en bas, l’échelle des tensions que l’on peut obtenir. Nous avons exploité cette option, en insérant le trimmer R3 dans cette sortie.
Le motif est assez évident : à cause d’inévitables tolérances de fabrication, tous les LM135H disponibles dans le commerce ne donnent pas tous les mêmes tensions. Afin de garantir que chaque circuit réalisé par nos lecteurs pourra fonctionner au mieux et êtres réglés avec précision, nous avons prévu ce réglage sur la sonde.
Le trimmer R3 devra donc être réglé en dernier, après avoir exposé la sonde à une température connue. Une dernière chose : il existe trois versions du capteur, qui sont LM335H (gamme commerciale, échelle de température comprise entre –40 et +100 °C), LM235H (gamme industrielle, fonctionnant entre –40 et +125 °C) et LM135H (gamme militaire, capable de mesurer une température entre –50 et +150 °C).
Cette dernière version est celle que vous devez utiliser, si vous voulez mesurer des températures comprises entre –50 et +150 °C, comme le permet effectivement le circuit.
La fonction thermostat, reste toutefois paramétrable entre –20 et +100 °C.
Dans le cas ou la plage de températures ne doit pas être si importante, choisissez le LM235H ou bien le LM335H.
Après cette parenthèse sur le capteur de température, nous pouvons voir ce qu’il reste à analyser.
Le trimmer R12 sert pour régler le contraste de l’afficheur LCD.
Quant au relais, nous pouvons l’employer, en utilisant le thermostat, soit pour contrôler une installation de chauffage, soit pour contrôler une installation d’air conditionné, indépendamment du réglage “heating/cooling” (chauffage/refroidissement), tout en bénéficiant de l’hystérésis, en augmentation ou en diminution de la température dans tous les cas.
Si nous voulons contrôler un climatiseur, nous devons utiliser le contact NF, parce que ce dernier, “normalement fermé”, sera ouvert lorsque la température deviendra inférieure au seuil, pour ensuite se refermer au-dessus des 21 °C.
Dans ce cas, l’hystérésis est négative.
De façon analogue, si on choisi le mode “cooling” (refroidissement) et si on veut allumer une chaudière, il convient de la relier au contact NF.
En supposant avoir choisi le seuil à 20 °C, celle-ci s’allume à 19 °C et s’éteint à 20 °C.
En utilisant le contact “normalement ouvert” NO, on obtient, par contre, la commande normale du climatiseur, qui est donc mis en service au-dessus de 20 °C et éteint au-dessous des 19 °C ; l’hystérésis est ici positive, en utilisant la chaudière, il deviendrait négatif.
Figure 3 : Schéma d’implantation des composants du thermostat.
Figure 4 : Photo de l’un de nos prototypes du côté composants. Pour pouvoir essayer différentes sondes, nous avons utilisé des picots en bande sécable (en bas, à droite).
Figure 5 : Dessin, à l’échelle 1, du circuit imprimé du thermostat.
Liste des composants
R1 = 270 Ω
R2 = 1 kΩ
R3 = 10 kΩ multitour
R4 = 10 kΩ multitour
R5 = 10 kΩ multitour
R6 = 10 kΩ
R7 = 10 kΩ
R8 = 10 kΩ
R9 = 4,7 kΩ
R10 = 10 kΩ
R11 = 47 kΩ
R12 = 220 Ω trimmer MH
R13 = 1 kΩ
R14 = 1 kΩ trimmer multitour
C1 = 220 μF 16 V électrolytique
C2 = 100 nF multicouche
C3 = 100 μF 16 V électrolytique
C4 = 22 pF céramique
C5 = 22 pF céramique
C6 = 47 μF 16 V électrolytique
C7 = 47 μF 16 V électrolytique
D1 = Diode 1N4007
D2 = Diode 1N4007
T1 = NPN BC547B
U1 = Régulateur LM317
U2 = Capteur de température LM135H
U3 = PIC16F876-20-MF321
Q1 = Quartz 4 MHz
P1 = Poussoir NO pour ci
P2 = Poussoir NO pour ci
P3 = Poussoir NO pour ci
RL1 = Relais min. 12 V 1 RT pour ci
DISPLAY = Afficheur LCD 1 ligne de 16 caract.
Divers :
1 Bornier 2 pôles
1 Bornier 3 pôles
1 Support 16 broches mâles en bande sécable
1 Support 19 broches femelles en bande sécable
1 Circuit imprimé réf. S321
Le microcontrôleur PIC16F876-MF321
Figure 6 : Le microcontrôleur PIC16F876-MF321.
Celui utilisé dans notre projet, est un des plus récents microcontrôleurs de la société Microchip. Il est encapsulé dans un boîtier dip à 28 broches (à pas étroit de 7,5 mm). Il contient un puissant CPU RISC de 8 bits. Ce PIC dispose de 8 ko de Flash-Eprom, 368 octets de RAM, 3 ports E/S (RA, RB, RC) dont 1 de 6 lignes et 2 de 8 lignes.
Ce microcontrôleur est équipé, en interne, de trois timers, d’un convertisseur A/D, d’une résolution de 10 bits, pouvant être assigné sur 5 entrées différentes et d’une EEPROM (mémoire programmable électriquement) d’une capacité de 256 octets.
Son oscillateur peut fonctionner avec un quartz jusqu’à 20 MHz, garantissant une vitesse de fonctionnement réellement intéressante. La mémoire Flash de 8 ko utilise des mots de 14 bits, elle est donc adaptée pour être utilisée avec un compilateur Basic genre Picbasic Pro Compiler.
Le fonctionnement normal
Cela dit, poursuivons en analysant le programme du microcontrôleur qui, après avoir initialisé les ports E/S, vérifie l’état des poussoirs. Si aucun n’est appuyé, il active la routine de fonctionnement normal. Si l’un des boutons est activé, on entre en mode programmation.
Voyons l’hypothèse où nous nous trouvons dans la première condition, un timer est initialisé, suivant les paramètres par défaut, donc ceux écrit en EEPROM interne durant une précédente phase de caractérisation.
Ce timer est utilisé pour cadencer l’exécution cyclique des mesures de la tension produite par le capteur U2, donc pour déterminer l’espace entre deux mesures consécutives. Cet intervalle peut être réglé entre 0,5 et 1,5 seconde.
Le programme d’acquisition démarre ensuite. Il utilise le convertisseur A/D (analogique/digital) interne du PIC16F876-MF321, pour digitaliser la valeur analogique du potentiel que la sonde produit en fonction de la température.
Chaque lecture détermine les données qui sont ensuite envoyées au “databus” (bus de données) de l’afficheur.
Les mêmes données sont comparées avec celles correspondant au seuil imposé manuellement. Du résultat de la comparaison dépend l’état de la sortie RB3.
Si la valeur binaire est différente, la broche 24 reste au 0 logique. Par contre, lorsque la température externe est en mesure de fournir un potentiel qui, traduit en format numérique, détermine la même valeur binaire que celle imposé manuellement et résident en EEPROM, le microcontrôleur porte la broche 24 au niveau logique. Le transistor T1 se met alors à conduire commandant ainsi l’activation du relais RL1. Cette situation perdure tant que la température ne change pas.
En réalité, notre thermostat a une certaine hystérésis. De ce fait, il ne déclenche pas toujours à la valeur théorique imposée, mais dans une certaine plage, réglable entre 1 et 5 °C.
Considérant que le convertisseur A/D a une résolution de 10 bits (1 024 en binaire) et que les références, aux broches du port RA2 (par l’intermédiaire du trimmer R4) et RA3 (par R5) sont distantes de 2,05 volts, chaque unité binaire “pèse” environ 2 mV. L’échelle correspondante, donnée par la caractéristique température/tension du capteur U2, est étendue entre –20 et +100 °C. Cela revient à dire, que chaque unité binaire du convertisseur A/D vaut environ 0,117 °C.
Après le cycle de mesure, de visualisation et de comparaison avec le seuil placé en EEPROM, le programme recommence au début. Il contrôle de nouveau l’état des poussoirs et si 3 n’est encore pas appuyé, il répète le cycle de mesure.
Figure 7 : Un de nos prototypes, le montage terminé. Les trois boutons poussoirs sont montés sur le côté soudures du circuit imprimé (voir texte).
Réglage du thermostat
Figure 8 : Réglage du thermostat.
De par sa conception, notre thermostat est universel et peut être destiné soit au contrôle de systèmes de chauffage, soit de climatisation.
Il suffit pour cela de connecter de façon adéquate les contacts du relais et de paramétrer le menu dans le mode choisi. Ce dernier, influe sur l’inversion du moment auquel le relais est mis en service ou désactivé, ainsi que le sens de l’hystérésis.
Pour le réglage du thermostat, vous devez disposer d’un multimètre, qui permet de mesurer des tensions continues et garantissant deux chiffres après la virgule de résolution.
Fixez la pointe négative à la masse et la positive sur la patte “OUT” du régulateur U1. Tournez lentement le curseur du trimmer R14, à l’aide d’un petit tournevis, jusqu’à l’obtention d’une tension de 5,00 volts exactement.
Pour le réglage du convertisseur A/D interne au PIC16F876-MF321, nous vous conseillons de régler les marges à l’aide de R4 et R5, en vous servant du multimètre.
Connectez la pointe positive du multimètre à la broche 4 du PIC16F876 et tournez le trimmer R4 jusqu’à la lecture de 4,230 volts exactement (Vref+).
Connectez ensuite cette pointe à la broche 5, agissez sur le trimmer R5 et réglez-le pour lire 2,180 volts exactement (Vref–). L’ADC du microcontrôleur fonctionne alors dans le meilleur mode.
Le dernier réglage concerne la sonde et, pour cela, il faut la maintenir à une température connue, mesurable par comparaison avec un thermomètre de précision ou bien en procédant de manière empirique : prenez un cube de glace et attendez qu’il commence à fondre, puis appuyez-vous sur la partie métallique de la sonde (les pattes de la sonde ne doivent pas toucher l’eau) et attendez quelques instants, afin que la température affichée à droite de l’afficheur commence à baisser. Lorsqu’elle se stabilise, réglez la sonde sur 0,0 °C (qui correspond au point de fusion de la glace) en agissant lentement sur le trimmer R3 (patte “ADJ”de la sonde).
Votre dispositif est parfaitement réglé, également en ce qui concerne le thermomètre et il est donc prêt à l’emploi.
Figure 9 : Programmation du thermostat
En appuyant au moins 3 secondes sur P3, sur l’afficheur apparaît “Selectmode” qui clignote trois fois.
Dans ce mode, on entre en phase de programmation. A ce point, apparaissent alternativement deux messages “1:cooling” et “2:heating”.
Il est possible, à cet instant, de choisir le mode de fonctionnement, en se rappelant qu’en mode “cooling” (refroidissement) le relais se désactive à une température égale au seuil, moins l’hystérésis ; à l’inverse, en mode “heating” (chauffage), il se désactive lorsque la température excède la somme de celle imposée, plus l’hystérésis.
Le mode 1 est sélectionné en appuyant sur P1, le mode 2 en appuyant sur P2. Dans chaque cas, le choix permet le passage à la programmation des paramètres suivants.
Les paramètres suivants sont aussi précédés par trois clignotements du message en question (“Thrs”, “Hyst” et “Acq-time”) et sont suivis de la valeur numérique modifiable en utilisant P1 (augmentation), P2 (diminution) et P3 (confirmation).
Thrs représente le seuil auquel le thermostat doit couper et est exprimé en °C (réglable entre –20 °C et +100 °C).
Hyst, indique la valeur de l’hystérésis en °C (réglable entre 1 °C et 5 °C).
Acq-time représente le temps d’acquisition du thermomètre exprimé en dixième de secondes (de 0,5 à 1,5 seconde).
Dès la fin de la phase de programmation, le thermostat passe en fonctionnement normal, affichant à gauche de l’afficheur la température de seuil imposée et à droite la température ambiante relevée, exprimée en degrés centigrades.
L’imposition des paramètres
Passons à présent à l’imposition des paramètres de fonctionnement du thermostat, paramètres pouvant êtres sélectionnés à l’aide d’un menu auquel on accède en appuyant au moins trois secondes la touche P3 et dans lequel on doit utiliser les touches P1 (pour incrémenter) et P2 (pour décrémenter).
Voyons à présent les différentes procédures en les énumérant une à une, dans le même ordre que celui où elles apparaîtront en déroulant le menu (voir figure 9).
Select mode (Sélection du mode) : Sélectionne la modalité de fonctionnement (cooling = refroidissement ; heating = réchauffement).
Thrs (Threshold - seuil) : Température de seuil du thermostat.
Hyst (Hysteresis - hystérésis) : Importance de l’écart entre le seuil d’allumage et d’extinction du relais.
Acq-time (Acquiring-time - délais d’acquisition) : Intervalle entre l’acquisition d’une température et l’acquisition de la suivante.
Lorsqu’on entre dans le mode programmation, le message “Select Mode” apparaît sur l’afficheur en clignotant trois fois. Puis, alternativement, apparaissent les messages “1:cooling” et “2:heating”.
A ce moment, il est possible de choisir le mode de fonctionnement, en se rappelant qu’en mode “cooling” (refroidissement), le relais se désactive à une température égale à la température de seuil, mois l’hystérésis. A l’inverse, en mode “heating” (chauffage), il se désactive lorsque la température dépasse le seuil imposé, plus l’hystérésis.
On choisi le premier mode à l’aide du poussoir P1 et le second à l’aide du poussoir P2. Dans chaque cas, le choix permet le passage au paramètre suivant.
Si on ne désire pas modifier le paramètre par défaut, il suffit de presser P3.
Le paramètre suivant est représenté par le seuil auquel le thermostat doit agir et est mis en évidence par trois clignotements successifs du message “Thrs”. Après quoi, l’afficheur présente une valeur numérique avec, sur sa droite, le symbole “C”. Par exemple, 20 C, signifie que le seuil actuellement imposé est de 20 °C. Pour le changer, (rappelez-vous que l’on peut choisir entre –20 et +100 °C), il faut agir sur P1 ou P2 : le premier permet d’incrémenter, le second de décrémenter.
Chaque pression équivaut à la variation d’une unité.
En pressant P3, on passe à la phase suivante, introduite par les trois clignotements du message “Hyst”, permettant le choix de la largeur de l’hystérésis.
Il est possible de l’espacer entre 1 et 5 degrés centigrades. De la même façon que précédemment, P1 incrémente la valeur, P2 la décrémente, toujours d’une unité à chaque pression.
Pour mémoriser ce qui apparaît sur l’afficheur LCD, il suffit de presser P3.
Le message “Acq-time”, clignotant apparaît, à la suite duquel, apparaissent automatiquement un numéro et le message “dsec”, qui représente le temps, exprimé en dixièmes de secondes, qui s’écoule entre une mesure et la suivante, effectuée par le microcontrôleur.
En fait, la fréquence “refresh” (rafraîchissement) des mesures.
Avec P1, on incrémente la valeur d’une unité à la fois et, avec P2, on la baisse de la même quantité. Il est possible de choisir entre un minimum de 5 et un maximum de 15 “dsec”, équivalent à 0,5 et 1,5 seconde.
En pressant P3, on sort du menu de programmation, condition mise en évidence par l’apparition, à gauche de l’afficheur, de la valeur du seuil choisie, pour l’intervention du thermostat.
Dans un second temps, il apparaît également (à droite) la température lue par le “CAN” du microcontrôleur. Il faut noter que chaque fois que l’on active la procédure, en pressant et en tenant pressé P3 durant au moins 3 secondes, la sortie de la commande du relais est désactivée et, si RL1 est excité, il retombe.
La réalisation pratique
Après avoir décrit le fonctionnement, nous pouvons voir comment construire et régler le thermostat. La première chose à faire, est de réaliser ou de se procurer le circuit imprimé donné, à l’échelle 1, en figure 5. Si vous décidez de réaliser vous-même le circuit imprimé, vous pourrez mettre à profit la méthode expliquée en détail dans ELM 26, page 59 et suivantes.
Le circuit imprimé gravé et percé, vous pouvez monter les composants en vous aidant du schéma d’implantation de la figure 3 et des différentes photos. Commencez par les résistances, les diodes, puis le trimmer R12, le support pour le microcontrôleur. Vous continuerez par les condensateurs, en prenant soins de respecter la polarité des modèles électrolytiques.
Placez ensuite les trimmers multitours, tous du type vertical. Insérez et soudez le quartz pour le microcontrôleur, puis le transistor T1, dont le méplat est orienté en direction de R8 et R10.
Le relais est un modèle miniature (ITT-MZ ou compatible), avec une bobine en 12 volts. Le régulateur LM317T, est monté en orientant son côté métallique vers le condensateur C2.
La sonde LM135H est reliée à la platine, à l’aide de trois fils, en faisant attention de ne pas intervertir ses pattes (aidez-vous du schéma d’implantation).
Pour le brochage de la sonde, reportez-vous au dessin de la figure 2.
Pour éviter tout court-circuit entre les pattes, vous pouvez les gainer avec une coupe de fil dont vous aurez retiré le conducteur.
Mettez maintenant en place, du côté soudures, les 3 poussoirs pour circuit imprimé (se sont des modèles NO - normalement ouverts - au pas de 5 mm). Comme les trous ne sont pas métallisés, vous pouvez les agrandir légèrement et d’abord souder sur la piste correspondant à chaque passage un petit morceau de queue de résistance (un via) que vous laisserez dépasser de 3 ou 4 millimètres sur la face composants.
Lorsque vous insérerez chaque poussoir, vous souderez ses pattes sur cette métallisation de fortune (mais qui fonctionne très bien !).
L’afficheur à utiliser avec le thermostat, doit être un modèle à 1 ligne de 16 caractères, équipé d’un contrôleur standard HD44780 (Hitachi ou compatible).
L’afficheur est monté en “sandwich” du côté des soudures (voir les illustrations).
Il faut donc disposer de picots à wrapper en bande sécable.
L’assemblage terminé, insérez le PIC16F876-MF321 dans son support, en plaçant le repère -détrompeur en forme de “U” vers les deux trimmers.
Figure 10 : En plus de mesurer à chaque instant la température relevée par sa sonde, notre thermostat est adapté pour maintenir la température d’un local à une valeur imposée. Il permet de commander des chauffages ou des installations d’air conditionné, en sélectionnant les contacts du relais de sortie. Il est possible de choisir entre les modes «heating» ou «cooling» à l’aide d’un menu très simple, assisté par un afficheur.
Données techniques
Sortie sur relais NO et NF, paramétrage de l’hystérésis par excès ou par défaut, fonction thermomètre, indication sur afficheur LCD, programmation à l’aide de boutons poussoirs.
Figure 11 : Un de nos prototypes monté et réglé. Nous avons prévu des borniers à vis, pour l’alimentation et pour les contacts du relais de sortie. La sonde sera montée sur des picots en bande sécable.
Le réglage
Passons à la phase de réglage, pour laquelle vous devez vous munir d’un bon multimètre, commuté en position voltmètre continu et d’une alimentation qui fournisse du 12 à 15 volts avec un courant de 100 milliampères.
Reliez le moins et le plus de l’alimentation, respectivement aux points “–” et “+” VAL, puis vérifiez que l’afficheur s’allume et qu’au bout de quelques instants, apparaissent les indications relatives aux valeurs par défaut pour le thermostat (à gauche) et à la température courante (à droite). Pour le reste, reportez-vous à la figure 9.
Dans les habitations, dans les bureaux, dans les commerces et, en général, dans les locaux fermés, se trouve souvent installés des appareils qui servent à maintenir une température raisonnable pour les personnes, réchauffant les lieux en hivers, les rafraîchissant l’été.
Ces systèmes de chauffage ou de climatisation sont normalement gérés par un automatisme, que nous connaissons sous le nom de “thermostat”. En pratique, il s’agit d’un dispositif en mesure de maintenir la température imposée à l’origine, en faisant intervenir soit un chauffage, soit un climatiseur. On trouve, dans le commerce, différents types de thermostats, chacun réalisé pour une application spécifique.
Il y a les modèles mécaniques, les électromécaniques et les électroniques.
Il est presque superflu de préciser que les modèles mécaniques sont construits pour intervenir sur des installations hydrauliques. Par contre, les modèles électromécaniques et électroniques sont destinés au contrôle, à l’aide de circuits solides (comprenez sans contact en mouvement).
Les électromécaniques, sont caractérisés par un élément sensible qui procède à la commutation. C’est, en général, un élément bimétal qui a la particularité de se déformer à une température déterminée.
Ainsi, il suffit de l’approcher ou de l’éloigner d’une électrode, pour obtenir la fermeture ou l’ouverture de l’interrupteur ainsi formé, dès que la température déterminée est atteinte dans la pièce.
C’est le même contact qui est placé en série avec l’alimentation des chaudières électriques, des convecteurs, des climatiseurs ou des pompes à chaleur.
Pour ce qui concerne les modèles électroniques, il s’agit typiquement d’un thermostat composé d’un capteur au silicium et d’un circuit en mesure d’en détecter le signal, procédant ensuite à la commande d’un petit relais, d’un triac ou d’un thyristor.
Pour l’ensemble des modèles mécaniques et électromécaniques, une convention a été adoptée, appliquée aux dispositifs équipés d’un inverseur, donc, d’un contact normalement fermé et normalement ouvert.
Le standard prévoit donc, que le contact de C (commun) à NF, soit utilisé pour la commande des installations de chauffage (il est fermé lorsqu’il fait froid et s’ouvre lorsque la température voulue est atteinte), par contre, le contact de C à NO, sert pour contrôler les climatiseurs d’air (ouvert au repos, fermé si la température augmente audessus d’un seuil prédéterminé).
Le thermostat proposé dans cet article et du type électronique et certainement à l’avant-garde, au moins pour deux raisons.
Il est facilement programmable entre –20 et +100 °C, par l’intermédiaire de deux boutons poussoirs et utilise comme sonde, un composant au silicium de haute précision, capable de détecter des températures dans un champ compris entre –50 et +150 °C.
Il dispose, en outre, d’un afficheur LCD alphanumérique, sur lequel apparaissent non seulement les lectures du moment, mais également les indications utiles pour assister l’opérateur durant le paramétrage (voir figure 9). Le schéma électrique de la figure 1 nous montre la relative simplicité de l’ensemble, composé pratiquement d’un microcontrôleur, d’un afficheur intelligent, d’un régulateur de précision et d’un transducteur température/tension.
Le système de gestion
Evidemment, le coeur du circuit est représenté par le microcontrôleur PIC16F876-MF321, programmé de façon à gérer, en utilisation normale, l’acquisition périodique du signal continu provenant de la sonde U2, en traiter les données et les visualiser sur l’afficheur LCD en même temps que la valeur imposée pour le seuil thermostatique (voir figure 6).
Le circuit est donc aussi un thermostat précis, dont la tolérance n’excède pas ±0,5 °C.
En programmation, le microcontrôleur procède à la lecture de l’état des trois boutons poussoir, qui activent respectivement la sélection : avant, arrière et le mode de fonctionnement, qui dans notre circuit est imposé via programme.
Le schéma électrique
Commençons par examiner le schéma électrique de la figure 1 et le fonctionnement normal du thermostat. Nous analyserons ensuite la procédure de programmation.
A partir de l’instant où est appliquée la tension d’alimentation, le programme principal procède à l’initialisation des E/S, assignat les broche 2, 4, 5, 21, 22 et 23 comme entrées et les broches 11, 12, 13, 14, 15, 16 et 24, comme sorties.
La broche 2 sert, quant à elle, à l’acquisition de la tension produite par le capteur de température. La broche 4 et la broche 5 reçoivent les références pour l’échelle de mesure. Les broches 21, 22 et 23 lisent l’état des boutons poussoirs P1, P2 et P3, utilisés, pour les deux premiers, comme “Up/Down” pour le choix des valeurs à imposer et, pour le dernier, pour entrer et sortir des procédures. Quant aux sorties, la broche 24 commande directement la base du transistor T1, relié au relais RL1, qui sert d’élément de commande.
Les lignes RC0 à RC5 sont utilisées pour gérer les signalisations de l’afficheur : en particulier, les quatre premières envoient les données à visualiser, proposées sous forme parallèle (sur 4 bits) par le microcontrôleur.
La broche 15 active la broche RS et la broche 16 intervient sur la broche E.
La broche RS de l’afficheur est une ligne avec laquelle le PIC16F876-MF321 communique, si les données qui arrivent sont relatives à une commande (exemple : curseur au début de ligne, écrire sur la première ou la seconde ligne, etc.) ou bien, si elles sont relatives à un caractère à visualiser.
Le premier cas correspond à un niveau haut, le second, à un niveau bas.
La broche E est la broche “Enable”.
Normalement elle est placée au niveau haut (1).
Par contre, lorsque le microcontrôleur doit envoyer des données au buffer d’entrée de l’afficheur, il envoie un niveau 0 pour chaque octet transmis.
Il faut noter que l’une des entrées de contrôle de l’afficheur, la broche R/W, est positionnée de façon permanente à la masse (0 logique), pour la simple raison que, dans notre application, le microcontrôleur écrit seulement dans l’afficheur et qu’il ne lit aucune information sur ce dernier.
Figure 1 : Schéma électrique du thermostat simple et performant à affichage digital.
La sonde LM135H utilisée dans le thermostat
Figure 2a : La sonde vue de dessous.
Figure 2b : Schéma interne de la sonde.
L’élément utilisé comme capteur de température est un petit circuit intégré en boîtier métal type TO-46 (il ressemble à un transistor de signal), qui peut être assimilé à une diode zener, dont la tension entre les pattes “+” et “–” vaut 10 mV par degré Kelvin de la température à laquelle il est exposé.
Les caractéristiques du composant sont invariables dans une plage de courant comprise entre 400 μA et 5 mA. Ainsi, il est très facile de déterminer la résistance série à appliquer entre lui et la tension d’alimentation.
Il est également possible de décaler légèrement la tension de cette zener en appliquant un potentiel de référence sur la patte “ADJ”. Dans notre cas, nous le faisons à l’aide du trimmer R3.
Le circuit intégré est produit par National Semiconductor et s’appelle LM135H. Pour la précision, celle-ci est la référence du modèle pouvant fonctionner entre –55 et +150 °C.
Le LM235H et la version industrielle (–40 à +125 °C) et le LM335H et le type commercial, limité à un fonctionnement entre –40 et +100 °C, mais qui peut théoriquement mesurer entre –50 et +150 °C. Donc, comme sonde, nous pouvons utiliser soit la version LM135H (plus coûteuse, mais avec une étendue de mesure plus large), soit la version commune LM335H.
En ce qui concerne la courbe de fonctionnement (tension/température), il est rappelé que notre composant est un circuit électronique basé sur un thermistor, capable de maintenir (à condition que l’on reste entre les valeurs de courant précitées) la tension à ses bornes, à une valeur de 10 mV/°K.
Pour ceux qui ne savent pas ce qu’est un degré Kelvin, rappelons que c’est l’unité de mesure de la température dans le système international et que cela correspond quantitativement à 1 °C.
L’alimentation
Cela dit, passons à présent à l’analyse de la section d’alimentation, qui accepte en entrée, une tension comprise entre 12 et 15 volts et permet de fournir une tension de 5 volts parfaitement stabilisée, à l’intention du microcontrôleur, du capteur de température et aussi pour l’afficheur LCD.
La particularité de cette alimentation réside dans le fait que nous n’avons pas utilisé le classique 7805 mais un LM317T dans sa configuration classique.
Le motif de ce choix est à rechercher essentiellement dans les exigences (afin que le microcontrôleur délivre des mesures de températures précises) d’alimenter le PIC16F876 et le capteur U2, avec 5 volts très exactement.
Les régulateurs de la série 78xx, ont tous une inévitable dérive des caractéristiques électriques, et, bien qu’ils soient très stables, il arrive parfois de trouver dans le commerce, des 7805 ayant une tension de sortie de 5,2 volts et d’autres fournissant 4,8 ou 4,9 volts.
L’utilisation d’un LM317T permet, avec l’aide d’un bon trimmer, de régler le potentiel de la broche U, à 5,00 volts très précisément. Bien entendu, il faut utiliser un voltmètre de bonne qualité, capable de mesurer les tensions continues avec une tolérance qui soit, la plus faible possible. Un autre détail à préciser, concerne la sonde de température U2, qui est, en substance, un petit circuit intégré en boîtier métal à 3 pattes, référencé LM135H, fabriqué par National Semiconductor (voir figure 2).
A l’intérieur de ce dernier, nous trouvons un circuit de précision, capable de présenter à ses extrémités, une tension directement proportionnelle à la température ambiante dans laquelle il se trouve. Pour comprendre comment il fonctionne, nous devons assimiler le LM135H à une diode zener, qui, entre les pattes + et –, présente une tension continue de 10 mV pour chaque degré Kelvin.
Si le 0 °K est équivalent à –273,15 °C, nous pouvons voir que, par exemple, à +20 °C (293,15 °K), le chip présente une tension de 2,9315 volts, à +100 °C, il délivre 3,9315 volts.
En appliquant un potentiel de référence à la patte “ADJ” (adjustment, réglage en français), il est possible de retoucher, en la déplaçant en haut ou en bas, l’échelle des tensions que l’on peut obtenir. Nous avons exploité cette option, en insérant le trimmer R3 dans cette sortie.
Le motif est assez évident : à cause d’inévitables tolérances de fabrication, tous les LM135H disponibles dans le commerce ne donnent pas tous les mêmes tensions. Afin de garantir que chaque circuit réalisé par nos lecteurs pourra fonctionner au mieux et êtres réglés avec précision, nous avons prévu ce réglage sur la sonde.
Le trimmer R3 devra donc être réglé en dernier, après avoir exposé la sonde à une température connue. Une dernière chose : il existe trois versions du capteur, qui sont LM335H (gamme commerciale, échelle de température comprise entre –40 et +100 °C), LM235H (gamme industrielle, fonctionnant entre –40 et +125 °C) et LM135H (gamme militaire, capable de mesurer une température entre –50 et +150 °C).
Cette dernière version est celle que vous devez utiliser, si vous voulez mesurer des températures comprises entre –50 et +150 °C, comme le permet effectivement le circuit.
La fonction thermostat, reste toutefois paramétrable entre –20 et +100 °C.
Dans le cas ou la plage de températures ne doit pas être si importante, choisissez le LM235H ou bien le LM335H.
Après cette parenthèse sur le capteur de température, nous pouvons voir ce qu’il reste à analyser.
Le trimmer R12 sert pour régler le contraste de l’afficheur LCD.
Quant au relais, nous pouvons l’employer, en utilisant le thermostat, soit pour contrôler une installation de chauffage, soit pour contrôler une installation d’air conditionné, indépendamment du réglage “heating/cooling” (chauffage/refroidissement), tout en bénéficiant de l’hystérésis, en augmentation ou en diminution de la température dans tous les cas.
Si nous voulons contrôler un climatiseur, nous devons utiliser le contact NF, parce que ce dernier, “normalement fermé”, sera ouvert lorsque la température deviendra inférieure au seuil, pour ensuite se refermer au-dessus des 21 °C.
Dans ce cas, l’hystérésis est négative.
De façon analogue, si on choisi le mode “cooling” (refroidissement) et si on veut allumer une chaudière, il convient de la relier au contact NF.
En supposant avoir choisi le seuil à 20 °C, celle-ci s’allume à 19 °C et s’éteint à 20 °C.
En utilisant le contact “normalement ouvert” NO, on obtient, par contre, la commande normale du climatiseur, qui est donc mis en service au-dessus de 20 °C et éteint au-dessous des 19 °C ; l’hystérésis est ici positive, en utilisant la chaudière, il deviendrait négatif.
Figure 3 : Schéma d’implantation des composants du thermostat.
Figure 4 : Photo de l’un de nos prototypes du côté composants. Pour pouvoir essayer différentes sondes, nous avons utilisé des picots en bande sécable (en bas, à droite).
Figure 5 : Dessin, à l’échelle 1, du circuit imprimé du thermostat.
Liste des composants
R1 = 270 Ω
R2 = 1 kΩ
R3 = 10 kΩ multitour
R4 = 10 kΩ multitour
R5 = 10 kΩ multitour
R6 = 10 kΩ
R7 = 10 kΩ
R8 = 10 kΩ
R9 = 4,7 kΩ
R10 = 10 kΩ
R11 = 47 kΩ
R12 = 220 Ω trimmer MH
R13 = 1 kΩ
R14 = 1 kΩ trimmer multitour
C1 = 220 μF 16 V électrolytique
C2 = 100 nF multicouche
C3 = 100 μF 16 V électrolytique
C4 = 22 pF céramique
C5 = 22 pF céramique
C6 = 47 μF 16 V électrolytique
C7 = 47 μF 16 V électrolytique
D1 = Diode 1N4007
D2 = Diode 1N4007
T1 = NPN BC547B
U1 = Régulateur LM317
U2 = Capteur de température LM135H
U3 = PIC16F876-20-MF321
Q1 = Quartz 4 MHz
P1 = Poussoir NO pour ci
P2 = Poussoir NO pour ci
P3 = Poussoir NO pour ci
RL1 = Relais min. 12 V 1 RT pour ci
DISPLAY = Afficheur LCD 1 ligne de 16 caract.
Divers :
1 Bornier 2 pôles
1 Bornier 3 pôles
1 Support 16 broches mâles en bande sécable
1 Support 19 broches femelles en bande sécable
1 Circuit imprimé réf. S321
Le microcontrôleur PIC16F876-MF321
Figure 6 : Le microcontrôleur PIC16F876-MF321.
Celui utilisé dans notre projet, est un des plus récents microcontrôleurs de la société Microchip. Il est encapsulé dans un boîtier dip à 28 broches (à pas étroit de 7,5 mm). Il contient un puissant CPU RISC de 8 bits. Ce PIC dispose de 8 ko de Flash-Eprom, 368 octets de RAM, 3 ports E/S (RA, RB, RC) dont 1 de 6 lignes et 2 de 8 lignes.
Ce microcontrôleur est équipé, en interne, de trois timers, d’un convertisseur A/D, d’une résolution de 10 bits, pouvant être assigné sur 5 entrées différentes et d’une EEPROM (mémoire programmable électriquement) d’une capacité de 256 octets.
Son oscillateur peut fonctionner avec un quartz jusqu’à 20 MHz, garantissant une vitesse de fonctionnement réellement intéressante. La mémoire Flash de 8 ko utilise des mots de 14 bits, elle est donc adaptée pour être utilisée avec un compilateur Basic genre Picbasic Pro Compiler.
Le fonctionnement normal
Cela dit, poursuivons en analysant le programme du microcontrôleur qui, après avoir initialisé les ports E/S, vérifie l’état des poussoirs. Si aucun n’est appuyé, il active la routine de fonctionnement normal. Si l’un des boutons est activé, on entre en mode programmation.
Voyons l’hypothèse où nous nous trouvons dans la première condition, un timer est initialisé, suivant les paramètres par défaut, donc ceux écrit en EEPROM interne durant une précédente phase de caractérisation.
Ce timer est utilisé pour cadencer l’exécution cyclique des mesures de la tension produite par le capteur U2, donc pour déterminer l’espace entre deux mesures consécutives. Cet intervalle peut être réglé entre 0,5 et 1,5 seconde.
Le programme d’acquisition démarre ensuite. Il utilise le convertisseur A/D (analogique/digital) interne du PIC16F876-MF321, pour digitaliser la valeur analogique du potentiel que la sonde produit en fonction de la température.
Chaque lecture détermine les données qui sont ensuite envoyées au “databus” (bus de données) de l’afficheur.
Les mêmes données sont comparées avec celles correspondant au seuil imposé manuellement. Du résultat de la comparaison dépend l’état de la sortie RB3.
Si la valeur binaire est différente, la broche 24 reste au 0 logique. Par contre, lorsque la température externe est en mesure de fournir un potentiel qui, traduit en format numérique, détermine la même valeur binaire que celle imposé manuellement et résident en EEPROM, le microcontrôleur porte la broche 24 au niveau logique. Le transistor T1 se met alors à conduire commandant ainsi l’activation du relais RL1. Cette situation perdure tant que la température ne change pas.
En réalité, notre thermostat a une certaine hystérésis. De ce fait, il ne déclenche pas toujours à la valeur théorique imposée, mais dans une certaine plage, réglable entre 1 et 5 °C.
Considérant que le convertisseur A/D a une résolution de 10 bits (1 024 en binaire) et que les références, aux broches du port RA2 (par l’intermédiaire du trimmer R4) et RA3 (par R5) sont distantes de 2,05 volts, chaque unité binaire “pèse” environ 2 mV. L’échelle correspondante, donnée par la caractéristique température/tension du capteur U2, est étendue entre –20 et +100 °C. Cela revient à dire, que chaque unité binaire du convertisseur A/D vaut environ 0,117 °C.
Après le cycle de mesure, de visualisation et de comparaison avec le seuil placé en EEPROM, le programme recommence au début. Il contrôle de nouveau l’état des poussoirs et si 3 n’est encore pas appuyé, il répète le cycle de mesure.
Figure 7 : Un de nos prototypes, le montage terminé. Les trois boutons poussoirs sont montés sur le côté soudures du circuit imprimé (voir texte).
Réglage du thermostat
Figure 8 : Réglage du thermostat.
De par sa conception, notre thermostat est universel et peut être destiné soit au contrôle de systèmes de chauffage, soit de climatisation.
Il suffit pour cela de connecter de façon adéquate les contacts du relais et de paramétrer le menu dans le mode choisi. Ce dernier, influe sur l’inversion du moment auquel le relais est mis en service ou désactivé, ainsi que le sens de l’hystérésis.
Pour le réglage du thermostat, vous devez disposer d’un multimètre, qui permet de mesurer des tensions continues et garantissant deux chiffres après la virgule de résolution.
Fixez la pointe négative à la masse et la positive sur la patte “OUT” du régulateur U1. Tournez lentement le curseur du trimmer R14, à l’aide d’un petit tournevis, jusqu’à l’obtention d’une tension de 5,00 volts exactement.
Pour le réglage du convertisseur A/D interne au PIC16F876-MF321, nous vous conseillons de régler les marges à l’aide de R4 et R5, en vous servant du multimètre.
Connectez la pointe positive du multimètre à la broche 4 du PIC16F876 et tournez le trimmer R4 jusqu’à la lecture de 4,230 volts exactement (Vref+).
Connectez ensuite cette pointe à la broche 5, agissez sur le trimmer R5 et réglez-le pour lire 2,180 volts exactement (Vref–). L’ADC du microcontrôleur fonctionne alors dans le meilleur mode.
Le dernier réglage concerne la sonde et, pour cela, il faut la maintenir à une température connue, mesurable par comparaison avec un thermomètre de précision ou bien en procédant de manière empirique : prenez un cube de glace et attendez qu’il commence à fondre, puis appuyez-vous sur la partie métallique de la sonde (les pattes de la sonde ne doivent pas toucher l’eau) et attendez quelques instants, afin que la température affichée à droite de l’afficheur commence à baisser. Lorsqu’elle se stabilise, réglez la sonde sur 0,0 °C (qui correspond au point de fusion de la glace) en agissant lentement sur le trimmer R3 (patte “ADJ”de la sonde).
Votre dispositif est parfaitement réglé, également en ce qui concerne le thermomètre et il est donc prêt à l’emploi.
Figure 9 : Programmation du thermostat
En appuyant au moins 3 secondes sur P3, sur l’afficheur apparaît “Selectmode” qui clignote trois fois.
Dans ce mode, on entre en phase de programmation. A ce point, apparaissent alternativement deux messages “1:cooling” et “2:heating”.
Il est possible, à cet instant, de choisir le mode de fonctionnement, en se rappelant qu’en mode “cooling” (refroidissement) le relais se désactive à une température égale au seuil, moins l’hystérésis ; à l’inverse, en mode “heating” (chauffage), il se désactive lorsque la température excède la somme de celle imposée, plus l’hystérésis.
Le mode 1 est sélectionné en appuyant sur P1, le mode 2 en appuyant sur P2. Dans chaque cas, le choix permet le passage à la programmation des paramètres suivants.
Les paramètres suivants sont aussi précédés par trois clignotements du message en question (“Thrs”, “Hyst” et “Acq-time”) et sont suivis de la valeur numérique modifiable en utilisant P1 (augmentation), P2 (diminution) et P3 (confirmation).
Thrs représente le seuil auquel le thermostat doit couper et est exprimé en °C (réglable entre –20 °C et +100 °C).
Hyst, indique la valeur de l’hystérésis en °C (réglable entre 1 °C et 5 °C).
Acq-time représente le temps d’acquisition du thermomètre exprimé en dixième de secondes (de 0,5 à 1,5 seconde).
Dès la fin de la phase de programmation, le thermostat passe en fonctionnement normal, affichant à gauche de l’afficheur la température de seuil imposée et à droite la température ambiante relevée, exprimée en degrés centigrades.
L’imposition des paramètres
Passons à présent à l’imposition des paramètres de fonctionnement du thermostat, paramètres pouvant êtres sélectionnés à l’aide d’un menu auquel on accède en appuyant au moins trois secondes la touche P3 et dans lequel on doit utiliser les touches P1 (pour incrémenter) et P2 (pour décrémenter).
Voyons à présent les différentes procédures en les énumérant une à une, dans le même ordre que celui où elles apparaîtront en déroulant le menu (voir figure 9).
Select mode (Sélection du mode) : Sélectionne la modalité de fonctionnement (cooling = refroidissement ; heating = réchauffement).
Thrs (Threshold - seuil) : Température de seuil du thermostat.
Hyst (Hysteresis - hystérésis) : Importance de l’écart entre le seuil d’allumage et d’extinction du relais.
Acq-time (Acquiring-time - délais d’acquisition) : Intervalle entre l’acquisition d’une température et l’acquisition de la suivante.
Lorsqu’on entre dans le mode programmation, le message “Select Mode” apparaît sur l’afficheur en clignotant trois fois. Puis, alternativement, apparaissent les messages “1:cooling” et “2:heating”.
A ce moment, il est possible de choisir le mode de fonctionnement, en se rappelant qu’en mode “cooling” (refroidissement), le relais se désactive à une température égale à la température de seuil, mois l’hystérésis. A l’inverse, en mode “heating” (chauffage), il se désactive lorsque la température dépasse le seuil imposé, plus l’hystérésis.
On choisi le premier mode à l’aide du poussoir P1 et le second à l’aide du poussoir P2. Dans chaque cas, le choix permet le passage au paramètre suivant.
Si on ne désire pas modifier le paramètre par défaut, il suffit de presser P3.
Le paramètre suivant est représenté par le seuil auquel le thermostat doit agir et est mis en évidence par trois clignotements successifs du message “Thrs”. Après quoi, l’afficheur présente une valeur numérique avec, sur sa droite, le symbole “C”. Par exemple, 20 C, signifie que le seuil actuellement imposé est de 20 °C. Pour le changer, (rappelez-vous que l’on peut choisir entre –20 et +100 °C), il faut agir sur P1 ou P2 : le premier permet d’incrémenter, le second de décrémenter.
Chaque pression équivaut à la variation d’une unité.
En pressant P3, on passe à la phase suivante, introduite par les trois clignotements du message “Hyst”, permettant le choix de la largeur de l’hystérésis.
Il est possible de l’espacer entre 1 et 5 degrés centigrades. De la même façon que précédemment, P1 incrémente la valeur, P2 la décrémente, toujours d’une unité à chaque pression.
Pour mémoriser ce qui apparaît sur l’afficheur LCD, il suffit de presser P3.
Le message “Acq-time”, clignotant apparaît, à la suite duquel, apparaissent automatiquement un numéro et le message “dsec”, qui représente le temps, exprimé en dixièmes de secondes, qui s’écoule entre une mesure et la suivante, effectuée par le microcontrôleur.
En fait, la fréquence “refresh” (rafraîchissement) des mesures.
Avec P1, on incrémente la valeur d’une unité à la fois et, avec P2, on la baisse de la même quantité. Il est possible de choisir entre un minimum de 5 et un maximum de 15 “dsec”, équivalent à 0,5 et 1,5 seconde.
En pressant P3, on sort du menu de programmation, condition mise en évidence par l’apparition, à gauche de l’afficheur, de la valeur du seuil choisie, pour l’intervention du thermostat.
Dans un second temps, il apparaît également (à droite) la température lue par le “CAN” du microcontrôleur. Il faut noter que chaque fois que l’on active la procédure, en pressant et en tenant pressé P3 durant au moins 3 secondes, la sortie de la commande du relais est désactivée et, si RL1 est excité, il retombe.
La réalisation pratique
Après avoir décrit le fonctionnement, nous pouvons voir comment construire et régler le thermostat. La première chose à faire, est de réaliser ou de se procurer le circuit imprimé donné, à l’échelle 1, en figure 5. Si vous décidez de réaliser vous-même le circuit imprimé, vous pourrez mettre à profit la méthode expliquée en détail dans ELM 26, page 59 et suivantes.
Le circuit imprimé gravé et percé, vous pouvez monter les composants en vous aidant du schéma d’implantation de la figure 3 et des différentes photos. Commencez par les résistances, les diodes, puis le trimmer R12, le support pour le microcontrôleur. Vous continuerez par les condensateurs, en prenant soins de respecter la polarité des modèles électrolytiques.
Placez ensuite les trimmers multitours, tous du type vertical. Insérez et soudez le quartz pour le microcontrôleur, puis le transistor T1, dont le méplat est orienté en direction de R8 et R10.
Le relais est un modèle miniature (ITT-MZ ou compatible), avec une bobine en 12 volts. Le régulateur LM317T, est monté en orientant son côté métallique vers le condensateur C2.
La sonde LM135H est reliée à la platine, à l’aide de trois fils, en faisant attention de ne pas intervertir ses pattes (aidez-vous du schéma d’implantation).
Pour le brochage de la sonde, reportez-vous au dessin de la figure 2.
Pour éviter tout court-circuit entre les pattes, vous pouvez les gainer avec une coupe de fil dont vous aurez retiré le conducteur.
Mettez maintenant en place, du côté soudures, les 3 poussoirs pour circuit imprimé (se sont des modèles NO - normalement ouverts - au pas de 5 mm). Comme les trous ne sont pas métallisés, vous pouvez les agrandir légèrement et d’abord souder sur la piste correspondant à chaque passage un petit morceau de queue de résistance (un via) que vous laisserez dépasser de 3 ou 4 millimètres sur la face composants.
Lorsque vous insérerez chaque poussoir, vous souderez ses pattes sur cette métallisation de fortune (mais qui fonctionne très bien !).
L’afficheur à utiliser avec le thermostat, doit être un modèle à 1 ligne de 16 caractères, équipé d’un contrôleur standard HD44780 (Hitachi ou compatible).
L’afficheur est monté en “sandwich” du côté des soudures (voir les illustrations).
Il faut donc disposer de picots à wrapper en bande sécable.
L’assemblage terminé, insérez le PIC16F876-MF321 dans son support, en plaçant le repère -détrompeur en forme de “U” vers les deux trimmers.
Figure 10 : En plus de mesurer à chaque instant la température relevée par sa sonde, notre thermostat est adapté pour maintenir la température d’un local à une valeur imposée. Il permet de commander des chauffages ou des installations d’air conditionné, en sélectionnant les contacts du relais de sortie. Il est possible de choisir entre les modes «heating» ou «cooling» à l’aide d’un menu très simple, assisté par un afficheur.
Données techniques
Champs de température réglable .........................
–20 à +100 °CTempérature mesurable ..................................
–50 à +150 °CTolérance ..............................................
0,5 °CHystérésis .............................................
1 à 5 °CRafraîchissement de la mesure ..........................
0,5 à 1,5 secondeTension d’alimentation .................................
12 VccCourant maximum consommé ............................... 60 mA
Sortie sur relais NO et NF, paramétrage de l’hystérésis par excès ou par défaut, fonction thermomètre, indication sur afficheur LCD, programmation à l’aide de boutons poussoirs.
Figure 11 : Un de nos prototypes monté et réglé. Nous avons prévu des borniers à vis, pour l’alimentation et pour les contacts du relais de sortie. La sonde sera montée sur des picots en bande sécable.
Le réglage
Passons à la phase de réglage, pour laquelle vous devez vous munir d’un bon multimètre, commuté en position voltmètre continu et d’une alimentation qui fournisse du 12 à 15 volts avec un courant de 100 milliampères.
Reliez le moins et le plus de l’alimentation, respectivement aux points “–” et “+” VAL, puis vérifiez que l’afficheur s’allume et qu’au bout de quelques instants, apparaissent les indications relatives aux valeurs par défaut pour le thermostat (à gauche) et à la température courante (à droite). Pour le reste, reportez-vous à la figure 9.
Aucun commentaire:
Enregistrer un commentaire