Clignoteurs & pummers
Les circuits électroniques qui oscillent, ce qui permet de faire des clignoteurs. Comme pour les voitures. Mais là, on n'a pas une énorme batterie 12 V.
Il existe de nombreuses manières de réaliser un oscillateur, le principal problème dans notre cas étant la consommation électrique. On veut qu'elle soit quasi-nulle pendant les temps d'attente, afin de réserver l'énergie pour l'allumage de la LED.
Rapport cyclique
Faire une LED clignotante revient à faire un oscillateur très basse fréquence, de l'ordre de 1 Hz, avec rapport cyclique élevé de manière à commander l'allumage d'une LED pendant un temps très bref pour limiter la consommation électrique, en tirant parti de la persistance rétinienne.
Mais comme nous allons utiliser l'astuce du doubleur de tension, il sera intéressant de judicieusement choisir ce rapport cyclique pour maitriser la consommation.
Multivibrateur astable
C'est certainement le premier clignoteur électronique que j'ai réalisé vers 1975, avec les composants de l'époque : le fameux multivibrateur astable. Il utilise deux transistors bipolaires, ici les mêmes, mais pas mal de variantes existent.
Chaque couple {résistance, capacité} permet de régler le temps d'allumage de chaque LED. Ce n'est jamais que la charge d'une capacité à travers une résistance.
Je l'avais réalisé de manière à le connecter directement sur une pile 9V, avec une seule LED qui émet un bref flash pour économiser la pile.
Mais ce type de circuit très simple consomme en permanence du courant pour effectuer le cycle charge/décharge des condensateurs, et les bipolaires sont quand même des composants basés sur l'utilisation d'un courant électrique. On va pouvoir faire mieux avec les circuits CMOS, basés sur la tension.
555
À peu près à la même époque, on commençait à pouvoir acheter les premiers circuits intégrés à un prix abordable (il fallait aller dans un magasin spécialisé dans les composants électroniques), et j'ai réalisé un clignoteur avec le fameux 555 ou plutôt le NE555. Bipolaire à l'époque, je sais que maintenant on en trouve une version CMOS qui consomme beaucoup moins.
C'est, comme souvent, un couple {résistance, capacité} qui fixe la fréquence d'oscillation avec son temps de charge caractéristique.
J'ai réalisé le circuit avec mon gros fer à souder de l'époque, en tassant au maximum et en noyant l'ensemble dans de la colle époxy.
La consommation électrique, quelques milliampères, est un bon résultat pour l'époque, mais sans être à la hauteur de la puce spécialisée LM3909 ci-après, que je ne connaissais pas, sans Internet, difficile d'avoir beaucoup d'information, on n'avait que quelques revues mensuelles en français (oubliez les revues américaines peu diffusées en France).
LM3909
Cette fois, il s'agit d'un circuit intégré de 1975, le LM3909, spécialement conçu pour faire clignoter une LED sous 1.5 V, avec une consommation réduite. Ce circuit n'est plus en production depuis longtemps.
La datasheet annonce 3 à 6 mois de fonctionnement sur une pile AA à 1 flash par seconde, avec environ 500 μA de consommation en courant. Un peu trop élevé pour ce qu'on veut faire.
Il est probable que c'était le circuit employé dans les lampes-torches des avions de ligne qui clignotaient rouge en permanence.
Oscillateur à 2 inverseurs
Les circuits intégrés numériques CMOS sont efficaces pour faire des oscillateurs, voici le plus simple :
En ajoutant deux diodes, on pourra alors sélectionner une résistance pour la montée du signal, et une autre pour la descente, et ainsi ajuster le rapport cyclique.
L'usage de portes NAND à 2 entrées (au lieu de simples inverseurs) permettra d'ajouter une commande pour arrêter/démarrer les oscillations.
Ma version de 2010
J'ai voulu refaire un pummer "éternel", qui serait finalement noyé dans de la résine pour assurer une solidité à l'épreuve du temps. Il me fallait donc choisir des composants présentant une fiabilité maximale, autrement dit éviter les accumulateurs et utiliser une supercapacité, ce qui implique une consommation extrêmement faible.
Côté énergie : une capacité de 4.7 F (mazette) sous une tension maximale de 2.5 V, rechargée par une cellule solaire Sanyo AM1437 amorphe, ce qui peut paraitre surprenant car pouvant délivrer une tension de 3 V, un peu trop pour la supercap ! Je perds un peu avec la diode en série, mais cela reste juste.
Sauf qu'en utilisant la ruse du doubleur de tension, j'ai une résistance de 50 kΩ en série avec ma LED rouge, qui va commencer à conduire autour de 1.6 V, et de plus en plus consommer si la tension monte. En fait, la LED va bêtement s'allumer (faiblement) si la tension monte...
Résultat : la tension ne dépasse jamais 1.7 V. C'est donc OK pour la supercap (et après 14 ans de fonctionnement, je confirme).
J'ai utilisé un oscillateur à 2 inverseurs, suivi d'un troisième pour rectifier/isoler le créneau de commande, en technologie CMOS, et bien m'en a pris car les tensions de seuil des MOS sont relativement faibles, et j'ai mesuré une tension minimale de fonctionnement de 783 mV.
Attention, ce ne sont pas toutes les technologies qui vont permettre d'obtenir des résultats pareils. Il vous faudra essayer les composants, éventuellement en épluchant les datasheets pour sélectionner.
En mesurant la tension sur la supercapacité, j'ai pu suivre la consommation réelle de courant :
- Près de 800 mV : < 1 μA
- Vers 1000 mV : ~ 4 μA
- 1.5 V : 10 μA
- 1.6 V : 40 μA
Pour simplifier les calculs, supposons que la consommation soit fixe à 10 μA (ce qui n'est pas le cas).
- Ce pummer ne s'éteint jamais (pas de détection d'obscurité), en 24 h, cela fait 0.86 C de consommation en termes de charges.
- Avec 8 h d'éclairement, il faudrait que la cellule solaire délivre au moins 30 μA pour couvrir la consommation d'un jour, chose aisément atteinte (au soleil c'est plutôt 2000 μA), sauf à mettre le pummer dans sa poche. Il suffit qu'il soit à la lumière.
- Une variation de 800 mV sur la supercapacité de 4.7 V, délivre une charge de 3.7 C qui durera plus de 4 jours entiers à 10 μA.
Au final, ce pummer ne s'est jamais arrêté depuis 14 ans. Il doit falloir le laisser une bonne semaine dans l'obscurité totale pour l'éteindre, je n'ai jamais essayé.
Le pummer de Makezine
On retrouve assez souvent le pummer publié par Makezine, basé sur le circuit intégré 74xx240 composé de 8 inverseurs, avec un enable. C'est un dérivé de l'oscillateur à 2 inverseurs, mais dans une configuration un peu différente (et peu efficace du reste).
Quelques explications s'imposent pour comprendre ce schéma qui n'est pas spécialement facile à lire au premier abord :
- La partie cellule solaire + batterie est très simple et classique, et la tension de la cellule solaire pilote directement les deux broches "enable" des inverseurs, autrement dit le circuit ne fonctionnera que dans l'obscurité.
- 2 fois 3 inverseurs sont en parallèle, ce qui permet de disposer de plus de courant en sortie pour piloter la LED
- Il est fait usage de l'astuce du doubleur de tension à travers une (énorme) capacité de 1000 μF, avec comme particularité d'utiliser la sortie d'un inverseur pour la masse. C'est ce qui produira un "PUMMmmm".
- L'oscillateur est composé de 2 inverseurs et 2 capacités en série, avec les deux entrées reliées par la résistance (schéma pas très courant).
Ce circuit utilise une (grosse) batterie Cadmium-Nickel, je l'ai essayé, et ce n'est pas un foudre de guerre du point de vue consommation électrique. Une supercapacité de 1 F ferait environ 1 heure, on n'est pas loin de la zone du milliampère...
Trigger de Schmitt
Un inverseur présentant une hystérésis, autrement dit une espèce de retard entre la montée et la descente du signal d'entrée, peut être utilisé pour faire un oscillateur :
Le couple {résistance, capacité} permet de choisir la fréquence d'oscillation.
Pour faire varier le rapport cyclique, on ajoutera des diodes pour sélectionner une résistance pour la montée, et une autre pour la descente :
Si on utilise une porte NAND à 2 entrées à trigger de Schmitt, alors on peut se servir de la seconde entrée comme d'une commande pour démarrer/arrêter l'oscillateur.
Mes essais
J'ai essayé diverses configurations et à chaque fois je constatais une augmentation de la fréquence avec la tension, ainsi que de la consommation électrique, genre 10 à 80 μA entre 1.2 et 1.8 V.
J'ai fini par converger vers une solution à LDO : j'ai trouvé un régulateur de tension présentant un courant de fuite exceptionnellement faible, j'ai pu alors utiliser des minuscules diodes PIN, j'en ai mis 7 en série, avec une détection jour/nuit (j'ai utilisé des NAND à trigger de Schmitt).
Notez la simplicité de la diode pour générer une courte impulsion.
J'ai observé :
- 8 μA à 2.5 V
- 6 μA à 1.3 V
Avec une supercapacité de 0.2 F, cela tient juste une nuit, et encore, il faut le charger au soleil. J'avais passé la période à 4.5 secondes, histoire de gratter de la consommation.
Le circuit résultant est vraiment petit, à l'époque c'était mon record du point de vue taille.
Variantes
Quelques variantes plus ou moins amusantes.
Non conventionnel
Voici quelques circuits non conventionnels, qui peuvent éventuellement donner des idées.
LED clignotantes
Mentionnons les LED clignotantes, en fait une LED avec une puce intégrée. Vous trouverez ça chez les fournisseurs habituels de composants.
Elles sont d'un intérêt relatif, leur consommation électrique est énorme, on parle de dizaines de milliampères, et on ne peut pas modifier la fréquence, généralement de l'ordre de 2 Hz. Certaines versions présentent des programmes plus complexes pour imiter les bougies.
Comme ces LEDs clignotantes n'ont que deux pattes, anode et cathode, il faut une tension assez élevée pour fonctionner, forcément.
Capacité déchargée dans la LED
Optocoupleur
Claquage de jonction
Tension de démarrage : 2 mV
Un clignoteur qui démarre à la tension de 2 mV ! Mais il faut fournir du courant, il n'y a pas de miracle côté puissance.
Le clignoteur lui-même est classique, c'est surtout l'élévateur de tension qui est spécial. C'est d'un intérêt relatif pour mon objectif.
Ultra low power LED 1.36 µA
Cet article montre un record en la matière, où il s'agit d'allumer une LED en permanence, du moins donner cette impression :
- Ultra low power LED <1.5µA current consumption when continuously on, optional flashing mode
- July 10 2020 : 1.36µA on a 3V power supply (1 LED, 3µs pulse width, 64Hz repetition rate).
Allumer en permanence n'est pas forcément utile, un clignotement vers 1 Hz est largement suffisant pour repérer un objet. Mais ils voulaient concurrencer ces sources de lumière au tritium, leur projet suivait les traces d'un autre, TritiLED.
Le design est singulièrement complexe. Je ne comprends pas pourquoi faire aussi compliqué. Et c'est finalement assez gros, la taille de la pile oblige.
Microcontrôleur
Un microcontrôleur est commode car on peut le programmer et piloter les sorties comme on veut, et en plus ils présentent souvent des modes divers et variés.
On trouvera sur le web diverses réalisations du genre Arduino ATtiny13, PIC, Padauk PFS154, etc. Surtout que souvent le clignoteur est l'exemple de base pour essayer le microcontrôleur.
On pourra faire des choses moins habituelles, comme un double clignotement, une sorte de battement de cœur, une chose qui n'existe pas naturellement dans l'univers.
MSP430
Le MSP300 de Texas Instrument peut se placer en mode très basse consommation (on parle de microampères) où le processeur est arrêté, hormis une horloge lente qui pourra le réveiller périodiquement.
On fera travailler le processeur à une vitesse très basse lors du réveil afin d'effectuer un créneau sur une ou plusieurs sorties afin de piloter notre LED et consommer le minimum possible. Le microcontrôleur consommera 200 ou 300 μA pendant le temps de pilotage qui ne durera qu'une centaine de microsecondes, une fois par seconde, ce qui fait largement moins d'un microampère en moyenne.
Régulateur de tension
Le principal défaut de la solution au microcontrôleur est de générer une tension régulière pour limiter les problèmes et maitriser la consommation électrique. Dans le cas du MSP430, il s'agissait de produire une tension de 1.8 V, ce que j'ai fait avec un régulateur de tension LDO, pour compenser la variation de tension sur la supercapacité lors de la décharge.
Le plus difficile fut de trouver un régulateur qui présente un courant de fuite aussi faible que possible, et ça n'est pas si évident parmi tous les composants qui existent. L'ISL60002-18 est une exception, mais n'est plus produit, il présentait une consommation inférieure au microampère ! On peut également chercher parmi les références de tension, car nous n'avons pas besoin d'un courant important.
Utilisez votre microcontrôleur préféré.
Avec une LED blanche, ça ne risque pas de conduire sous 1.8 V
La programmation est assez évidente car il suffit de générer un créneau, environ 70 μs, avec une horloge à 1 MHz, puis de mettre le MSP430 en low power mode, avec seulement une horloge pour le réveiller une seconde plus tard. Ce sont des choses très basiques. La version la plus simple et la moins chère du MSP430 suffit largement...
Mes réalisations
J'ai réalisé plusieurs pummers avec un MSP430, qui, sans atteindre des records de consommation, présentent des performances honorables. Le schéma ci-dessus fut le plus efficace, avec un créneau d'attaque du doubleur à 70 μs, inutile de mettre une capacité plus importante pour allumer la LED blanche correctement.
Laborieusement soudés à la main avec qq composants plus petits qu'un millimètre...
Avec une charge à 2.8 V, cela fonctionne plus de deux jours, avec un courant variant de 2.5 à 0.6 μA. Nous sommes dans la zone du microampère !
Au fait, n'essayez pas de mesurer le courant, mais utilisez un voltmètre sur la supercapacité, avec une impédance aussi élevée que possible, et faite vite, débranchez après la mesure.
Vous déduirez ensuite le courant entre deux mesures, connaissant la capacité.
Les meilleures réalisations volent dans le microampère, et c'est déjà pas mal. Mais peut-on faire mieux ? La réponse est oui, page suivante, où j'ai trouvé une astuce d'enfer.