Electronique > Réalisations > Jeux de lumières > Gradateur de lumière 015

Dernière mise à jour : 30/11/2014

Présentation

Ce gradateur de lumière automatique permet d'allumer et d'éteindre une ou plusieurs LED de façon progressive et en continu (en boucle), avec vitesse ajustable.

gradateur_lumiere_015_pcb_3d_a gradateur_lumiere_015b_pcb_3d_a

Il fait usage d'un PIC 12F675 et la sortie se fait en mode PWM / MLI au niveau TTL. Deux montages quasiment identiques sont proposés :
- schéma 015 : version avec transistor de sortie et régulateur de tension 5 V local pour piloter plusieurs LED (tension d'alim comprise entre +8 V et +24 V);
- schéma 015b : version simplifiée sans transistor ni régulateur pour pilotage d'une seule LED (tension d'alim comprise entre +3 V et +5 V).
Ces deux versions physiques utilisent le même logiciel pour PIC, qui lui-même existe en deux versions (une avec oscillateur interne 4 MHz et une avec quartz externe 20 MHz).

Schéma 015

Le schéma qui suit correspond à la version la plus "complexe".

gradateur_lumiere_015

Le coeur du montage est bien sûr le PIC 12F675, dont le code permet de produire un signal PWM dont le rapport cyclique varie progressivement de 0% à 100% et/ou de 100% à 0%.

Mode de fonctionnement (allumage / extinction)
Le mode de fonctionnement est régi par le cavalier JP1/Mode, qui définit la tension continue présente sur l'entrée GP1/AN1 (configurée en entrée analogique), selon règles suivantes :
Le cavalier JP1 n'est là que par commodité et pour un changement aisé du mode une fois le montage asssemblé. Si le mode n'est pas amené à changer, vous pouvez vous passer de ce cavalier. Vous pouvez également vous passer des deux résistances R2 et R3 si le mode choisi est "seulement allumage" ou "seulement extinction" (la broche GP1/AN1 doit dans ce cas être reliée au +5 V ou à la masse).
Remarque : le mode n'est lu qu'au démarrage du logiciel du PIC, un changement nécessite donc un arrêt / marche pour prise en compte.

Vitesse d'allumage et d'extinction
La vitesse de variation de la luminosité dépend de la tension appliquée sur la broche GP0/AN0. Plus la tension "de commande" est faible et plus la vitesse de variation est élevée. Le signal PWM est disponible sur la broche GP2, il est dérivé de l'horloge interne de 4 MHz du PIC, qui via des interruptions du timer1 produit un signal périodique de période 300 us environ. Oserais-je dire que ce signal présente un tout petit défaut ? Allez, je me lance. Toutes les 100 transitions du "signal d'origine PWM", juste avant que la sortie PWM s'active (si rapport cyclique > 0%), on peut observer un petit temps de latence de 170 us qui correspond au temps de lecture de la tension présente à l'entrée GP0/AN0. J'aurais pu supprimer ce petit défaut (qui ne se voit pas au niveau des LED) en ne faisant travailler le CAN qu'à la mise sous tension, mais je tenais à ce que le réglage de vitesse n'impose pas un reset pour en voir l'effet. A titre d'expérimentation, je vous invite aussi essayer la version pour quartz externe 20 MHz (quartz à relier entre les deux broches OSC1 et OSC2 du PIC, avec condensateur de 22 pF entre chacune de ces broches et la masse), cette version présente un ajustement de la courbe de variation qui permet une meilleure linéarité de la perception visuelle de luminosité. Je n'ai pas utilisé la table de correction de la courbe en vitesse d'horloge 4 MHz car cela prenait plus de temps processeur et on commençait à voir scintiller les LED.

Sortie de puissance
Quel grand mot ! Le PIC peut débiter un courant de 20 mA et est donc apte à commander une LED sans artifice tel qu'un transistor additionnel. Oui, mais si on veut allumer plusieurs LED, il faut bien soit une tension d'alim plus élevée (câblage des LED en série), soit un courant de sortie plus conséquent (câblage des LED en parallèle). La solution ? Ajouter un transistor (Q1 / 2N2222) qui assure une commutation sous un courant plus important et sous une tension qui elle aussi peut être plus importante. La présence du régulateur de tension positif de 5 V (U2 / 78L05) permet de conserver une tension de +5 V même si la tension d'alim est plus élevée (ici autorisation de piocher une tension comprise entre +8 V et +24 V). Ce brave petit 2N2222 permet même de câbler plusieurs branches de LED, au cas où votre faim insatiable vous mènerait à un choix extrème.

Schéma 015b

Version simplifié pour commande d'une seule LED, ou à la limite de deux LED si leur tension nominale est inférieure à 2,5 V.

gradateur_lumiere_015b

On a vraiment la même chose qu'avant, sauf qu'on s'est débarrassé du superflux (idéal pour les moins gourmands). L'alimentation ici devra être comprise entre 3 V et +5 V. Le PIC acceptant de fonctionner entre +2,0 V et +5,5 V, je ne vois pas de quel droit je me permet de réduire les limites. Lubies d'un lundi soir pluvieux sans doute. La valeur de la résistance en série avec la LED dépend bien sûr de ses caractéristiques, rappel.

Prototype

A ma connaissance, au moins deux réalisés : le mien et celui de Guillaume, que je remercie pour son retour.

Mon prototype
Réalisé sur platine de développement EasyPic. Je n'allais pas m'en priver, besoin d'aucun assemblage pour tester ce montage !

gradateur_015_proto_001a gradateur_015_proto_001b gradateur_015_proto_001c

J'ai essayé de prendre une photo au moment où la LED câblée sur GP2 (sérigraphie RA2) était de faible luminosité, mais pas facile avec ces APN qui n'ent font qu'à leur tête.

Prototype de Guillaume
Bonjour Rémy, voici une petite variante du gradateur 015. Je voulais un gradateur à 2 LED avec une qui s'éteint doucement pendant que l'autre s'allume progressivement et vice et versa dans un mode continu. Le montage est monté dans un objet déco en forme de soleil et les LED simulent les rayons de soleil (très sympa visuellement). Le fonctionnement est le même que votre gradateur 015, à l'exception qu'il n y'a qu'un seul mode (allumage et extinction dans une boucle infinie) et que la lecture du potentiomètre n'est faite qu'au démarrage car je trouvais le temps de latence de la lecture du CAN trop gênante visuellement. Guillaume

gradateur_015_proto_gx_001a gradateur_015_proto_gx_001b gradateur_015_proto_gx_001c

Merci Guillaume !
Gradateur 015 Guillaume - 23/11/2014

Logiciel du PIC

Fichiers binaires compilés (*.hex) prêts à flasher dans le PIC, dans l'archive zip suivante (utilisable pour les deux schémas 015 et 015b) :
Gradateur lumiere 015 - 12F675 (version du 10/02/2013)
- Fichier *_intosc4.hex pour usage avec oscillateur interne 4 MHz
- Fichier *_extosc20.hex pour usage avec quartz externe 20 MHz
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Réalisés pour les deux versions physiques, le plus compliqué est évidement le plus moche.

gradateur_lumiere_015_pcb_composants  gradateur_lumiere_015b_pcb_composants

Attention : pas de place prévue sur ces circuits pour le quartz externe éventuel... (on peut à la limite le câbler en dessous, je vous laisse faire).

Typons aux formats PDF, EPS et Bitmap 600 dpi

Historique

30/11/2014
- Ajout logiciel PIC et photos de la version simplifiée de Guillaume.
10/02/2013
- Première mise à disposition.