Oscillateur à relaxation 200nA pour la récolte d'énergie

Par Cédric Bérenger | 02 décembre 2020

Schéma circuit oscillateur à relaxation.

Schéma d'oscillateur à relaxation 200nA permettant l'activation d'un microcontrôleur pendant quelques millisecondes.

Utiliser une très faible source de courant <1µA

Aujourd'hui les modes basse consommation des microcontrôleurs comme le STM8L051 permettent aux systèmes embarqués d'assurer un service en continu avec une consommation moyenne pouvant descendre à 1.3µA (avec réveil périodique actif), ou encore jusqu'à 350nA (avec réveil sur interruption externe). De tels modes de fonctionnement sont idéaux pour des applications de capteurs sans-fils autonomes grâce à la récolte d'énergie: le système est capable de s’alimenter en grappillant quelques microampères dans l'environnement, via par exemple des cellules photovoltaïques au silicium amorphe, optimisé pour les faibles luminosités en intérieur.

Cependant, pour exploiter la source d'énergie, il n'est pas possible de la relier directement au microcontrôleur. En effet, le microcontrôleur doit s'initialiser avant que le programme ne puisse activer le mode basse consommation. Or cette initialisation, qui dure plusieurs dizaines de millisecondes, consomme plusieurs mA. Ainsi, si le microcontrôleur est directement relié à une faible source d'énergie capable de fournir uniquement quelques µA, alors la tension s’effondre et le système ne démarrera jamais, toute l'énergie étant directement consommé par le microcontrôleur qui essaie de démarrer.

Démarrer le microcontrôleur en amont, une possibilité ?

Une première solution est de démarrer le microcontrôleur manuellement, en lui fournissant une source de tension stabilisée pour l'initialisation, puis en laissant la source de courant faible prendre le relais une fois le système passé en mode basse consommation. Cependant une telle approche n'est pas robuste. En effet, elle suppose que la source d'énergie ne subisse pas de coupure : si le microcontrôleur s'éteint, il quitte le mode basse consommation et essaiera de refaire son initialisation lorsque le courant sera de retour, entraînant une chute de la tension et rendant le redémarrage du système impossible.

La gestion de la coupure est primordiale sur les systèmes où la production énergétique est ponctuelle, comme c'est le cas avec les cellules photovoltaïques. Les applications utilisant des cellules solaires sont soumises aux fluctuations de luminosité ainsi qu' aux cycles jour/nuit. Suivant l'éclairement, il se peut que l'énergie accumulée durant la journée ne suffise pas à assurer la veille basse consommation du système. Amorcer le système manuellement n'est donc pas une solution satisfaisante.

Puces spécialisés dans la récolte d'énergie

Une autre solution est d'utiliser une puce spécialisée dans les applications de récolte d'énergie, comme la bq25570 de Texas Instruments. Ces puces accumulent l'énergie dans une batterie lithium ou des condensateurs, elles ont l'avantage d'optimiser l'énergie récoltée (fonction MPPT pour les panneaux solaires) ainsi que de fournir une tension stabilisée pour le microcontrôleur, peu importe la tension d'entrée. Elle disposent également de mécanismes permettant de communiquer au microcontrôleur l'état du stockage d'énergie et de signaler les futures coupures.

Cependant, de telles puces restent assez chères (plus de $2.816 à 1000 pièces) , elles complexifient le design du circuit en nécessitant condensateurs et inducteurs (circuit de type boost/buck converter), et même si l’efficacité annoncée peut atteindre les 93%, elles consomment au moins 488 nA en fonctionnement. De plus, leur documentation insiste sur le fait que le système peut démarrer à froid avec un dispositif de stockage d'énergie, batterie ou condensateur, presque totalement déchargé, mais non totalement déchargé. Ainsi, si la source de courant est trop faible pour maintenir le système en veille entre deux recharges ponctuelles et que la tension chute en dessous des 100mV, alors le système ne pourra pas redémarrer sans fournir une impulsion suffisamment forte.

De telles puces sont donc adaptés à des systèmes disposant de batteries rechargeables et dont la source de courant délivre en moyenne plusieurs micro-ampères. Elles ne sont pas adaptés à des sources de courants très très faibles, voire résiduelles.

Principe de l'oscillateur à relaxation

Mon idée pour faire fonctionner les microcontrôleurs sur des sources de courants très très faibles < 1µA utilise le principe de l'oscillateur à relaxation. Cela consiste à accumuler lentement l'énergie de la faible source de courant dans un condensateur, puis, lorsque l'énergie atteint un seuil suffisant, à la décharger rapidement pour démarrer le système. Une fois démarré, le système communique rapidement en sans-fils l'état des capteurs avant d'être à court d'énergie et de s'éteindre.

Avec ce principe, le système est robuste face aux coupures et est capable de fonctionner avec des sources de courants beaucoup plus faibles que les 350nA minimum requis par le mode basse consommation du microcontrôleur. En effet, le microcontrôleur n'a même plus besoin de rentrer en mode basse consommation, il dispose périodiquement, pendant un court instant, de tout le courant nécessaire à son fonctionnement. La fenêtre de temps dont dispose le microcontrôleur dépend alors de la taille de la réserve d'énergie, ici la capacité du condensateur.

Animation fontaine japonaise.

Les fontaines japonaises shishi-odoshi illustrent mécaniquement le principe de l'oscillateur à relaxation: accumuler de l'énergie provenant d'une source à faible débit pour ensuite basculer ponctuellement et fournir un courant plus important.

Le circuit électronique et son fonctionnement

Schéma circuit électronique d'oscillateur à relaxation.

Schéma électronique de l'oscillateur à relaxation, également disponible en ligne sur easyEDA.

Le circuit comporte un condensateur C1 de 47uF chargé par une très faible source de courant de 200nA. La tension à laquelle le basculement à lieu est donné par la diode Zener D2: celle-ci est bloquante tant que la tension V1 au bornes du condensateur est inférieure à 4V. Dès lors que la tension dépasse les 4V, le transistor NPN Q2 commence à être activé. L'activation de Q2 déclenche l'activation du transistor PNP Q1, dont l'activation vient renforcer celle de Q2. Il y a donc un cercle vertueux créant une escalade rapide de la tension V2.

La tension V2 active le MOSFET M1 qui active la charge en sortie, le microcontrôleur, ici modélisé par la résistance R4 de 1kOhm. Un fort courant de plusieurs mA s'écoule dans R4, entraînant la décharge du condensateur C1 et donc la chute de la tension V1. Malgré cette chute de tension, la tension de commande V2 du MOSFET M1 est maintenu grâce au condensateur C2 et à la diode D1.

Une fois que le microcontrôleur a terminé ses calculs, il peut réinitialiser les transistors Q1 et Q2 en tirant la patte Sleep vers le niveau bas et ainsi relancer la charge du condensateur C1. La tension de sortie Vout aux bornes du microcontrôleur sera automatiquement coupée après la décharge du condensateur C2 dans la résistance R2. Si le microcontrôleur ne tire pas la patte Sleep au niveau bas, alors la recharge de C1 n'arrivera qu'après sa décharge complète, ce qui n'est pas souhaité, car la plage de tensions utile pour le microcontrôleur est [1.65V, 3V].

La simulation

Ci dessous les résultats de la simulation LT-Spice du circuit. La simulation est également disponible et paramétrable en ligne sur easyEDA.

Graphe cycles de charge/décharge du condensateur.

Charges et décharges périodiques du condensateur (bleu). Le condensateur se charge lentement, puis se décharge rapidement. Le cycle se répète toutes les 13 minutes.

Graphe décharge du condensateur.

Zoom sur la décharge du condensateur. La tension de sortie (orange) augmente rapidement puis chute progressivement en fonction du courant tiré par le microcontrôleur, ici modélisé par une résistance de 1kOhm. La tension met 27ms pour passer de 3V à 1.65V (limite de fonctionnement du STM8L151).

Graphe activation de la tension de sortie.

Zoom sur l'établissement de la tension de sortie lors du basculement. La tension de sortie (orange) passe de 500mV à 3V en 1ms. Le microcontrôleur dispose d'un front suffisamment net pour s'initialiser correctement.

Caractéristiques du circuit

  • Capacité 47uF

  • Courant de la source >= 200nA

  • Charge 1kOhm (1.65mA < courant < 3mA)

  • Période / Temps de charge 13 minutes

  • Sortie active pendant 27ms (de 3V à 1.65V en sortie)

Perspectives

Le montage d'oscillateur à relaxation proposé ici est destiné à la récolte d'énergie provenant de sources de courant très faibles capables de délivrer une tension de plus de 4V, principalement des cellules photovoltaïques. Son fonctionnement est vérifié par la simulation. Mon idée initiale était d'utiliser ce circuit pour alimenter des capteurs sans-fils à l'aide de 10 photodiodes PIN en série, de référence PD15-22C/TR8 ou encore BPW34S. Ces photodiodes sont capables de récolter plus de 200nA même en basse condition de luminosité et même sous éclairage artificiel.

Je prévois de réaliser un PCB pour valider le principe en conditions réelles, je mettrai à jour cet article en conséquence. Je mets également à disposition un Google groupe public pour continuer d'échanger au sujet de la récolte d'énergie.