Calcul de l'alimentation pour l'Internet des objets

Dans le lexique des abréviations en vogue, IoT, ou l'Internet des objets, a récemment été supplanté par IIoT, l'Internet des objets industriel. Cette terminologie va de pair avec des concepts comme Industrie 4.0 et Smart Factory (usine intelligente). L'une des caractéristiques du nouvel environnement de contrôle industriel consiste à proposer de remplacer le câblage des capteurs et des points de collecte de données, ou tout au moins de le compléter, par des réseaux sans fil. Les nœuds de capteurs concernés seront ainsi librement déployés aux endroits nécessaires, ils seront alimentés par batterie et fonctionneront à des niveaux de puissance suffisamment faibles pour opérer pendant de nombreuses années sans nécessiter aucune attention.

Comme pour de nombreuses innovations d'ingénierie, certains aspects du concept ne sont pas aussi nouveaux que l'on pourrait le supposer ; l'idée des réseaux de capteurs sans fil existe depuis au moins 20 ans : le groupe de travail de l'IEEE sur les réseaux personnels sans fil a défini la norme 802.15.4 en 2003, et la première édition des normes ZigBee, qui a ouvert la voie à une grande partie de la réflexion initiale sur le sujet, est apparue en 2004. Depuis lors, de nombreuses variantes et fonctionnalités supplémentaires sont venues s'ajouter à la partie sans fil de l'équation, et les concepteurs ont désormais le choix entre de nombreux systèmes libres ou propriétaires. La connectivité sans fil, tout en étant un outil essentiel, n'est qu'un des nombreux domaines où des décisions critiques sont nécessaires. Le fil conducteur qui animera l'ensemble du processus de conception, c'est l'alimentation.

Tableau 1 - Normes sans fil de l'IoT

Tableau 1 - Normes sans fil de l'IoT

*Consommation énergétique en valeurs approximatives basées sur la consommation de modules de communications de TI, STMicroelectronics et Microchip à 3V.

La conception de l'alimentation pour un tel nœud de capteurs présente un certain nombre de défis. L'alimentation viendra d'une batterie principale, ou d'un composant rechargeable qui pourrait être une batterie secondaire ou un condensateur à double couche (« supercondensateur »), ou une combinaison de ces sources. Dans le dernier cas, la recharge peut provenir d'énergie puisée dans l'environnement, en général d'une cellule photovoltaïque. Dans tous ces cas, l'énergie sera une denrée rare ; une réserve pouvant être aussi petite qu'une pile bouton ou qu'une pile AA devra fonctionner pendant des années sans faire appel à un technicien de maintenance pour effectuer un remplacement. Une conception IoT à faible consommation présente une durée de l'ordre de plusieurs années, contrairement aux quelques heures d'énergie de batterie rencontrées dans d'autres contextes.

Dans la réalité, certains paramètres, qui seront recensés dans un cahier des charges et qui pourront faire l'objet de performances garanties, ne peuvent pas être testés de manière absolue. Personne ne peut se permettre de faire fonctionner un prototype pendant 10 ans avant de mettre un produit sur le marché ; par conséquent, les déclarations telles qu'une « batterie d'une durée de vie de 10 ans » s'appuieront, dans une certaine mesure, sur des extrapolations. Par conséquent, le concepteur devra avoir un niveau de confiance élevé dans les mesures, les calculs et les prédictions qui sous-tendent les déclarations relatives à la durée de vie de la batterie.

Le bloc fonctionnel de base comprend un capteur pour mesurer certains paramètres du monde réel, certaines mesures du traitement du signal et du traitement préalable des données, et un lien de communication pour la transmission des données mesurées dans le schéma de contrôle global. Ce nœud doit se réveiller périodiquement, établir des communications avec son hôte, transmettre ses données, et s'arrêter de nouveau. La durée de vie de la batterie est déterminée par la charge globale utilisée ; la réduction de cette consommation à long terme suppose de la réduire à chaque cycle de fonctionnement. Dans de nombreux cas, le nœud présentera un cycle de service très faible ; une mesure nécessitant quelques millisecondes est susceptible de se produire une fois par seconde, ou par minute, voire plus rarement. Par conséquent, l'électricité utilisée en mode veille peut dominer l'utilisation générale.

L'énergie totale utilisée lors de chaque cycle d'exploitation est, de toute évidence, la somme de l'énergie utilisée à chaque instant au cours de ce cycle ; en supposant une tension constante, il s'agit de la zone située dans le graphique courant/durée. Le calcul est simple, mais les implications en termes d'architecture de conception peuvent s'avérer plus complexes.

Il faudra naturellement s'intéresser aux exigences du microcontrôleur autour duquel le nœud sera probablement construit. S'il passe, par exemple, 99 % de son temps dans un état de faible consommation, moins il consomme de micro-ampères dans cet état, mieux c'est. Le microcontrôleur peut proposer une variété d'états de mise hors tension, avec un sommeil plus ou moins profond, et plus ou moins de périphériques actifs. La reprise de l'état d'exploitation est généralement plus longue à partir des états de veille plus profonde, et l'énergie consommée lors de ce réveil doit être comptabilisée lors du calcul de l'énergie sur le cycle. Sommeil plus profond/microsecondes nécessaires au réveil… à ce stade, le concepteur peut ressentir le besoin d'établir une feuille de calcul.

Ce type de réflexion doit s'étendre à chaque bloc fonctionnel dans la conception du nœud de l'IoT. Le capteur lui-même peut-il être lu immédiatement à la mise sous tension, ou a-t-il besoin de temps pour se stabiliser ? Il peut y avoir une amplification et un filtrage dans le domaine analogique, avant la conversion analogique-numérique : cela vaut-il la peine, au regard de l'équilibre énergétique global, d'arrêter ces éléments dans la partie de « sommeil » du cycle ? Si tel est le cas, est-ce que le temps de stabilisation des amplificateurs OP ou d'amplificateurs d'instrumentation rentre dans la fenêtre de réveil du microcontrôleur, ou bien faut-il prévoir un arrangement séparé ? Si un portillonnage de l'énergie sous forme de blocs individuels est jugé utile, alors un circuit de gestion de l'énergie peut être nécessaire, ce qui permettra un contrôle détaillé de la mise sous tension et hors tension, mais cela rajoutera une contribution en termes de courant de repos.

Pour revenir au point de départ ci-dessus, le support de communication préféré contribuera aussi au budget d'alimentation, et présentera des contraintes analogues. La liaison RF prendra du temps et de l'énergie pour établir la connectivité, avant le moindre transfert de données.

Les batteries deviennent elles-mêmes une partie importante du processus de calcul. La première exigence est que la batterie doit fournir facilement la puissance de crête demandée par les applications ; et une fois que l'énergie moyenne aura été déterminée et extrapolée en termes de durée de vie cible, il faudra que la capacité globale soit adéquate. Le célèbre modèle CR2032 a une capacité nominale de 210 - 220 mAh ; si un microcontrôleur doit fonctionner en mode veille (uniquement) pendant 10 ans, il devrait donc utiliser au plus 3 µA (220 mAh/87 600 heures). Ce simple calcul ne tient pas compte du taux de décharge propre à la cellule ; Energizer, par exemple, spécifie que sa pile CR2032 perd environ 1 % de sa capacité par an. En outre, la capacité nominale est indiquée à une charge particulière : 240 mAh dans 15 kΩ vers un point d'extrémité de 2 V, dans le cas de la pile Energizer (ou 200µA lorsqu'elle est « neuve »). La capacité réelle obtenue variera selon la charge, et diminuera en général à des courants plus élevés. Un domaine où les tendances de l'industrie sont utiles concerne la spécification de la durée de vie de la batterie (cellule primaire) ; aujourd'hui, les cellules dites alcalines ou Li-MnO2 sont vendues, y compris dans le commerce, avec une « durée de conservation d’énergie de 10 ans », et leur date limite d'utilisation est fixée en conséquence à une décennie. Par le passé, le simple fait d'obtenir des piles dont la capacité d'utilisation garantie dépassait 10 ans pouvait être compliqué.

Tableau 2 - Stockage d'énergie

Tableau 2 - Stockage d'énergie

De même, bien que l'utilisation de la récupération d'énergie à l'aide d'une certaine forme de réserve d'alimentation rechargeable puisse atténuer le besoin d'optimiser chaque fonction consommatrice d'alimentation, un cycle de vie d'au moins une décennie risque d'impliquer une certaine réduction de la capacité par rapport aux performances d'origine. Les valeurs des cellules primaires et secondaires devraient également être données en se basant sur une estimation prudente, étant donné qu'elles sont destinées à être utilisées dans des conditions difficiles (p. ex. des températures constamment basses).

Même si une longue durée de vie de la batterie est prévue, la conception du nœud IoT basse consommation doit être en mesure de notifier son hôte en cas de panne de sa source d'alimentation. Si les circuits analogiques disposent d'une capacité de réserve, cela peut se faire simplement au moyen d'un comparateur ou d'un ampli OP inutilisé qui va détecter la chute du rail de tension au-dessous d'un niveau pré-défini ; sinon, en dépensant quelques cycles de processeur en plus, il est possible de réaliser cette mesure à l'aide d'une entrée de CAN. Dans les deux cas, le point de déclenchement serait défini de manière à conserver une alimentation suffisante pour envoyer un message approprié.

Cependant, c'est dans le contexte des calculs de consommation du microcontrôleur que les efforts les plus significatifs sont susceptibles d'être déployés. Les mesures clés qui orientent la sélection de l'appareil comprendront la consommation de courant du microcontrôleur (en µA/MHz), une combinaison adéquate de périphériques, sous la direction d'un convertisseur A/N aux performances appropriées, et la complexité du code compilé (nombre de cycles à exécuter du réveil jusqu'à l'arrêt).

Sélection du microcontrôleur

Un des premiers choix à faire sera entre 8, 16 ou 32 bits. On peut supposer qu'un périphérique 8 bits offre la plus faible consommation, et dans de nombreux cas, cela se vérifie. Par exemple, en observant les gammes PIC de Microchip, certains produits 8 bits PIC18F « K42 » XLP consomment 45µA par MHz (jusqu'à 64 MHz) lorsqu'ils sont actifs (https://www.farnell.com/datasheets/2297480.pdf) ; un appareil 16 bits, le PIC24FJ256GA412/GB412, consomme 160 µA/MHz, alors que le PIC32MX de 32 bits consomme 250 µA/MHz. Comme on peut s'y attendre, une puissance plus élevée implique des performances supérieures. Même au sein de l'appareil 8 bits, plusieurs options sont à explorer pour gérer l'alimentation, y compris trois modes d'économie d'énergie distincts pour le cœur, et une série de fonctionnalités XLP (consommation extrêmement faible) qui définissent, par exemple, les paramètres du programmateur et de l'oscillateur. Parmi une liste de périphériques dirigés par un CAN de 12 bits, citons quatre cellules logiques configurables qui sont capables de mettre en œuvre des fonctions logiques séquentielles/combinatoires simples. Cet ajout apparemment mineur à la spécification pourrait permettre d'économiser un package externe, en prenant certaines décisions logiques sans réveiller le cœur, ou avant de le faire.

Un appareil de plus grande largeur de bus pourrait être préféré si, par exemple, l'entrée du capteur est de haute précision et si un filtrage numérique est requis : cela pourrait faire rapidement grimper le nombre de cycles de processeur requis dans un cœur de plus petite taille, et un appareil à rendement supérieur pourrait terminer la tâche bien plus rapidement, et passer en mode veille plus tôt.

Microchip propose également les processeurs SAML21/22 de 32 bits (composants ARM Cortex-M0+ provenant de l'acquisition d'Atmel par Microchip, fonctionnant jusqu'à 48 MHz) qui consomment seulement 32 µA/MHz, donc s'ils répondent aux besoins des applications (leur performance de crête est inférieure aux PC32MX), ils représentent un bon choix, surtout si l'équipe de conception dispose déjà d'une expérience de développement avec ARM.

Texas Instruments est renommé pour ses microcontrôleurs à très faible consommation, notamment avec la sérieMSP430et sa gamme continue de s'élargir. La capacité de « réglage » de la consommation d'une application est illustrée par les caractéristiques des appareils MSP430FG662x et MSP430FG642x, qui ont, en plus du mode actif, un mode veille, où les données sont conservées dans la mémoire RAM et le système peut se réveiller rapidement ; un mode d'arrêt, où l'horloge RTC (horloge temps réel) continue à fonctionner et un mode d'arrêt à très basse consommation.

À 3 V, le mode actif consomme 250 µA/MHz (et le périphérique peut fonctionner jusqu'à 20 MHz, pour une consommation de courant de 5 mA), le mode veille consomme 3,4 µA et les modes d'arrêt consomment 0,2 µA et 0,9 µA respectivement. L'économie d'énergie la plus spectaculaire est réalisée en passant du mode actif au mode de veille, puisque la consommation électrique peut être réduite plusieurs centaines de fois. Toutefois, la différence entre la veille et l'arrêt peut être très importante : d'un côté, cela divise quasiment la consommation par quatre, mais cela permet également à l'horloge temps réel de continuer à fonctionner, fournissant ainsi une caractéristique essentielle pour générer la commande de « réveil ». Par ailleurs, dans la fiche technique, on trouve le temps de réveil pour passer de l'état de veille à l'état de fonctionnement complet ; ici, il s'agit de 3 µs. Au cours de sa période de « réveil », le microcontrôleur fonctionnera à son niveau « entièrement actif » de consommation de courant. Réveiller le même appareil (662x) depuis l'arrêt plutôt que depuis la veille prend 2 ms, et non pas 3 µs. Le calcul du concepteur doit donc prendre en compte le temps passé dans la partie « arrêt » du cycle de service et l'énergie supplémentaire nécessaire pour en revenir, afin de déterminer s'il est utile de passer au niveau d'arrêt le plus profond.

Exemple de calcul de la durée de vie de la batterie pour une application IoT

Figure 1 : Exemple de calcul de la durée de vie de la batterie pour une application IoT

Les paragraphes ci-dessus supposent au préalable que si une connexion sans fil est envisagée, alors un module RF autonome, ou un circuit, fera partie de la conception. Des feuilles de données spécifiques présenteront les chiffres de temps de démarrage et de consommation, et la fuite de courant escomptée en pleine exploitation, ce qu'il faut ajouter à l'ensemble du budget d'alimentation, pour la période du cycle de service où RF est « en marche ». Farnell a compilé la liste de nombreux modules pour réseaux ZigBee, en vue notamment d'une exploitation propriétaire IEEE 802.15.4. Pour ne sélectionner qu'un exemple des exigences de consommation de Zigbee,ETRX35x-LRS de Silicon Labsest un module basé sur une conception monopuce, qui se réveille d'un état de veille profonde en 100 µs, qui consomme environ 30 mA en mode réception et de 50 à 140 mA en transmission, en fonction de la puissance de sortie. Au vu de ces chiffres, il est tout de suite évident que le fait de minimiser le temps de fonctionnement de la RF (en particulier la transmission) constitue la clé d'un maintien efficace du budget énergétique global.

Calculateur d'énergie IoT

Figure 2 : Calculateur d'énergie IoT

Une autre variation consiste à configurer une conception à l'aide d'un microcontrôleur monopuce à fonctionnalité RF intégrée, où le cœur du microcontrôleur a suffisamment de « marge de manœuvre », ou de capacité, pour héberger le code des applications de mesure et de rapports, ainsi que pour exécuter la pile de communication. Un exemple issu de la gamme NXP est leJN5179microcontrôleur sans fil ZigBee et IEEE802.15.4 fourni avec 512 Ko de mémoire Flash et 32 Ko de RAM. Ce circuit a un cœur ARM Cortex-M3, avec des vitesses d'horloge programmables et un émetteur-récepteur RF qui est configurable pour les opérations de liaison génériques, ou pour la conformité ZigBee. Dans cet exemple, la radio diminue sa consommation jusqu'à 100 nA ; le microcontrôleur a un CAN de 10 bits, et des fonctionnalités supplémentaires comme l'intégration de la surveillance de la tension de la batterie.

D'autres stratégies de RF peuvent être appliquées lorsque les circonstances l'exigent, mais en imposant leurs propres spécifications en termes d'alimentation. Lorsque l'environnement d'exploitation dispose déjà d'une couverture WiFi (IEEE802.11/b/g/n), cela peut constituer un moyen pratique de recueillir des données de terrain, mais avec un coût énergétique. Autre produit Silicon Labs, basé sur l'une de ses puces Gecko (encore une fois, un cœur ARM Cortex-M3), leWGM110, dont la fiche technique mentionne un courant d'émission de 261 mA, un courant de réception de 8 mA et un courant de « veille »de 2,2 mA, utilise un courant de 22 µA pour l'état de sommeil profond. Dans un environnement différent, où une grande portée est nécessaire, la norme LoRa peut être applicable.

Un système de partitionnement, comme dans les exemples ci-dessus, peut être la solution pour atteindre les objectifs de durée de vie de la batterie. C'est le cas au niveau de l'extrémité avant d'un nœud de capteurs. Certains systèmes peuvent utiliser un capteur de température analogique, comme le modèle Texas InstrumentsLMT84-Q1, un capteur de température de sortie analogique de 10 µA acceptant une tension de 1,5 V. C'est un dispositif à très faible consommation, de 8,1 µA. Il doit être interrogé par le microcontrôleur et la mesure analogique doit être convertie par le CAN du microcontrôleur, tout cela s'ajoutant à la consommation de courant « active ». L'utilisation d'un capteur de température numérique (également de Texas Instruments) comme leTMP102permet non seulement d'éviter l'implantation d'un CAN dans le microcontrôleur, mais surtout de surveiller en permanence la température, puis d'envoyer un signal d'alerte pour réveiller l'unité centrale si la température sort d'une plage prédéfinie. Cela peut réduire de façon significative la consommation d'énergie en permettant au processeur de rester en mode veille pendant plus longtemps, tout en continuant de surveiller la température.

Si le concepteur opte pour un niveau élevé de contrôle de l'alimentation, un circuit de gestion de l'alimentation (PMIC) entre en jeu. Il en existe d'innombrables modèles et de nombreux fabricants ; un exemple spécialement conçu pour l'application envisagée, avec une longue durée de vie et une alimentation par batterie principale, est le modèle Maxim IntegratedMAX14720. Pour les applications à batterie non rechargeable (pile bouton, double alcaline) où la taille et l'efficacité énergétique sont essentielles. Il intègre cinq dispositifs discrets : un interrupteur d'alimentation, un régulateur linéaire, un régulateur Buck, un régulateur Buck-Boost, et un dispositif de surveillance. Un contrôleur d'alimentation programmable configure la pièce pour une utilisation dans les applications qui exigent un véritable état d'arrêt, ou bien qui fonctionnent en continu. Ce contrôleur fournit un signal de réinitialisation retardé, un séquençage de tension et une temporisation de bouton personnalisée pour la commande marche/arrêt et la réinitialisation matérielle de reprise.

Il dispose en outre d'une caractéristique supplémentaire de « scellage » de la batterie, mis en œuvre de manière électronique, qui déconnecte complètement la batterie avant la mise en service initiale. Cela permet d'expédier des produits avec la batterie incluse ; un avantage moins évident consiste à permettre au fabricant de s'assurer que la batterie installée lors de la mise en service du nœud IoT présente une qualité conforme à la durée de vie envisagée, à savoir dix ans.

Calculs d'énergie pour l'Internet des objets. Publié le 15 mars 2018 par Farnell