Electronique > Réalisations > Affichage / Mesures > Indicateur coloré 002

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.

indic_couleur_002_pcb_3d_a

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).

indic_couleur_002

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 :
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 :
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.

indic_couleur_002_proto_001a indic_couleur_002_proto_001b indic_couleur_002_proto_001c indic_couleur_002_proto_001d  

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.