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.
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".
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 :
- JP1 en position [AB] : tension de +5 V sur AN1 (R2
court-circuitée) -> mode "allumage" seulement. Les LED
s'allument
progressivement de 0% à 100%, et quand elles sont complètement
allumées, elles s'éteignent rapidement et le cycle d'allumage
recommence de 0% à 100%.
- JP1 en position [BC] : tension de 0 V sur AN1 (R3
court-circuitée) -> mode "extinction" seulement. Les LED
s'éteignent
progressivement de 100% à 0%, et quand elles sont
complètement éteintes, elles s'allument rapidement et le cycle
d'extinction recommence de 100% à 0%.
- JP1 retiré : tension
de 2,5 V sur AN1 (R2 et R3 en diviseur de tension) -> modes
alternés
"extinction" et "allumage". Les LED s'allument progressivement de 0% à
100% et s'éteignent progressivement de 100% à 0% selon un cycle infini.
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.
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 !
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 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.
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.