Dernière mise à jour :
31/08/2014
Présentation
Voici le descriptif d'un circuit simple qui permet d'allumer
une des trois puces lumineuses d'une LED tricolore, en fonction de la
température.
Le circuit fait appel à un microcontrôleur PIC 16F88, mais on pourrait
tout aussi bien utiliser des AOP ou des comparateurs de tension (sans
doute mon côté sadique qui revient). Cinq réglages sont mis à
disposition,
deux pour définir la plage de température et deux pour
les seuils. Ah oui, vous avez raison, 2 + 2 = 4.
Je retiens.
Schéma
Le circuit est basé sur un PIC 16F88 (et non sur des AOP, faites un effort SVP) qui possède un CAN (Convertisseur
Analogique Numérique).
Le CAN est exploité pour mesurer la température
qu'il fait. L'intérêt du circuit est qu'il comporte très peu de composants. L'inconvénient est qu'il ne comporte aucun AOP.
Tension d'entrée
Quelle tension d'entrée ? Il y en a cinq ! Ah oui, c'est exact, précisons davantage :
- tension
sur RA4/AN4 (NTC) : issue du pont diviseur de tension constitué par RT1
et R1, cette tension est proportionnelle à la température du
capteur RT1 (résistance NTC - à coefficient de température
négatif) et pourquoi pas, de la température ambiante si le capteur
n'est pas laissé à l'abandon dans un frigo lui-même placé dans une
étuve. Plus la CTN (NTC) est chaude et plus la valeur de sa résistance
chute. Vue comment elle est câblée dans le pont diviseur, la tension
délivrée par le pont monte avec la température.
- tension sur RA3/AN3 (Vref+) : tension de référence haute du CAN interne du PIC.
- tension sur RA2/AN2 (Vref-) : tension de référence basse du CAN interne du PIC.
- tension sur RA1/AN1 (Seuil2) : définit le seuil de transition d'allumage des LED Verte et Rouge.
- tension sur RA0/AN0 (Seuil1) : définit le seuil de transition d'allumage des LED Bleue et Verte.
Remarque
: la tension qui représente la température peut aussi provenir d'un
capteur évolué tel que le LM35 (dans ce cas RT1 et R1 disparaissent),
cela ne me vexera pas.
Fonctionnement
A intervales
réguliers (10 fois par seconde), le PIC lit les cinq tensions
analogiques présentes sur les entrées RA0/AN0 à RA4/AN4. En fonction
des valeurs lue, il allume la LED bleue, la verte ou la rouge, selon
les "codes" suivant :
- La pleine échelle du
CAN est définie par les deux réglages Vref- et Vref+. La tension Vref-
doit impérativement être inférieure à VRef+.
- Les deux seuils travaillent dans la pleine échelle du CAN, le Seuil1 doit être inférieur au Seuil2.
- La
LED bleue s'allume quand la valeur numérisée de la tension présente en
RA4/AN4 (NTC) est inférieure à la valeur numérisée du Seuil1. La
LED verte s'allume quand la valeur numérisée de la tension présente
en RA4/AN4 (NTC) est comprise entre les deux seuils Seuil1 et
Seuil2. La LED rouge s'allume quand la valeur numérisée de la tension
présente
en RA4/AN4 (NTC) est supérieure à Seuil2.
Un exemple ?Vref-
= 0 V et Vref+ = +5 V : la pleine échelle du CAN (0 à 1023) couvre une
plage de tension d'entrée de 0 V à +5 V (5 V entre min et max) :
- si tension en entrée de CAN = 0 V, alors valeur numérisée = 0 (1023 / 5 * 0)
- si tension en entrée de CAN = +1 V, alors valeur numérisée = 205 (1023 / 5 * 1)
- si tension en entrée de CAN = +2,5 V, alors valeur numérisée = 512 (1023 / 5 * 2,5)
- si tension en entrée de CAN = +4 V, alors valeur numérisée = 819 (1023 / 5 * 4)
- si tension en entrée de CAN = +5 V, alors valeur numérisée = 1023 (1023 / 5 * 5)
Si
on fixe le Seuil1 à +2 V (valeur numérisée = 410) et le Seuil2 à +3 V
(valeur numérisée = 614) et que la tension NTC (RA4/AN4) est de
1,5 V (valeur numérisée = 307) à la température de 10°C, alors seule la
LED bleue s'allume. En gardant les mêmes seuils et si la tension
NTC (RA4/AN4) est de 2,2 V (valeur numérisée = 450) à la température de
25°C, alors c'est la LED verte qui s'allume.
Un autre exemple ?Vref- = +2 V et Vref+ = +3 V : la pleine échelle du CAN (0 à 1023)
couvre une plage de tension d'entrée de +2 V à +3 V (1 V entre min et
max) :
- si tension en entrée de CAN = +2 V, alors valeur numérisée = 0 (1023 / (3-2) * (2-2))
- si tension en entrée de CAN = +2,2 V, alors valeur numérisée = 205 (1023 / (3-2) * (2,2-2))
- si tension en entrée de CAN = +2,6 V, alors valeur numérisée = 614 (1023 / (3-2) * (2,6-2))
- si tension en entrée de CAN = +3 V, alors valeur numérisée = 1023 (1023 / (3-2) * (3-2))
Si
on fixe le Seuil1 à +2,3 V (valeur numérisée = 307) et le Seuil2 à +2,7 V
(valeur numérisée = 716) et que la tension NTC (RA4/AN4) est de 2,5 V
(valeur numérisée = 512) à la température de 30°C, alors seule la LED
verte s'allume. En gardant les mêmes seuils et si la tension NTC
(RA4/AN4) est de 2,8 V (valeur numérisée = 818) à la température de 35°C, alors c'est la LED rouge qui s'allume.
Connecteur ICSP... Quezako ?
Ce
connecteur permet simplement de programmer le PIC en circuit. Si vous
disposez d'un programmateur de PIC avec des supports DIL et que vous ne
comptez pas reprogrammer le PIC 16F88 plus tard, point besoin de ce
connecteur ICSP que vous pouvez supprimer. Pour ma part, j'utilise le
programmateur PICkit2 de Microchip pour la programmation "In Situ".
Sinon, ça se passe sur ma platine de développement EasyPic de
MikroElektronika.
Prototype
Réalisé
sur platine de développement EasyPic7 et petite plaque
d'expérimentation sans soudure pour le déport de la CTN et de la LED.
Le
schéma montre 3 LED individuelles mais j'ai utilisé une LED tricolore à
4 broches (cathode commune). Tel que j'ai réglé mon prototype, la LED
bleue s'allume tant que la température est inférieure à +20 °C. La
LED verte s'allume pour une température comprise entre +20 °C et +23 °C
et la LED rouge s'allume quand la température dépasse +23 °C. Pour les
tests, j'ai simplement posé mon doigt sur la CTN (NTC en anglais). A
noter que cela fonctionnait mieux avec ma main gauche qu'avec la main
droite, cette dernière était plus froide à cause des manipulations de
la souris. J'ai utilisé une CTN de 15 kO mais vous pouvez sans problème
en utiliser une d'une autre valeur (10 kO à 100 kO par exemple), il
vous suffit de donner à R1 une valeur similaire (disons de valeur
égale, pour simplifier la vie). Bien sûr, la courbe de variation
température / tension obtenue avec une CTN n'est pas linéaire, mais
franchement, pour cette application je m'en fiche complètement. Avec un
LM35 à la place du pont diviseur RT1/R1, on disposerait d'une courbe
d'évolution linéaire, à vous de voir en fonction de vos besoins.
Logiciel du PIC
Logiciel pour PIC 16F88, code source MikroPascal (V6.4.x) et fichier compilé (*.hex) dispo dans l'archive suivante :
Indicateur
coloré 002.zip (31/08/2014)
Si vous souhaitez recevoir par la poste un PIC
préprogrammé et prêt à utiliser, merci de
consulter la page
PIC
- Sources.
Circuit imprimé
Non réalisé. Vue 3D pour aperçu des
composants utilisés.
Historique
31/08/2014
- Première mise à disposition.