Table des matières:
Vidéo: TinyLiDAR pour l'IoT : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Si vous regardez autour de vous, vous remarquerez que de nombreux petits appareils intelligents sont utilisés dans la vie de tous les jours. Ils sont généralement alimentés par batterie et généralement connectés à Internet (alias le « cloud ») d'une manière ou d'une autre. Ce sont tous ce que nous appelons des appareils « IoT » et ils deviennent rapidement monnaie courante dans le monde d'aujourd'hui.
Pour les ingénieurs système IoT, beaucoup d'efforts de conception sont consacrés à l'optimisation de la consommation d'énergie. La raison en est bien sûr due à la capacité limitée disponible dans les batteries. Le remplacement des batteries en grande quantité dans les régions éloignées peut être une proposition très coûteuse.
Donc, cette instructable concerne l'optimisation de la puissance dans tinyLiDAR.
TL;Résumé DR
Nous avons un nouveau mode de mesure "Real Time" (à partir du firmware 1.4.0) pour aider à maximiser l'autonomie de la batterie dans les appareils IoT.
Presser plus de jus des batteries
Intuitivement, nous pouvons augmenter la durée d'exécution en réduisant simplement la consommation d'énergie des appareils IoT. Bon alors c'est évident ! Mais comment pouvez-vous le faire efficacement et calculer correctement le temps d'exécution attendu ? Découvrons-le…
Étape 1: Énergie pure
Il existe de nombreuses façons de le faire, mais nous préférons le décomposer à l'essentiel et tout convertir en énergie. L'énergie électrique se mesure en Joules (symbole J) et par définition:
Un Joule est l'énergie dissipée sous forme de chaleur lorsqu'un courant électrique d'un ampère traverse une résistance d'un ohm pendant une période d'une seconde.
Puisque l'énergie (E) est aussi tension (V) x charge (Q), on a:
E = V x Q
Q est courant (I) x temps (T):
Q = I x T
L'énergie en Joules peut donc s'exprimer sous la forme:
E = V x I x T
où V est la tension, I est le courant en ampères et T est le temps en secondes.
Supposons que nous ayons un bloc-piles composé de quatre piles alcalines AA (LR6) connectées en série. Cela nous donnera une tension de démarrage totale de 4*1.5v = 6v. La fin de vie d'une pile alcaline AA est d'environ 1,0 V, donc la tension moyenne serait d'environ 1,25 V. Selon la fiche technique mfr "La capacité fournie dépend de la charge appliquée, de la température de fonctionnement et de la tension de coupure." Nous pouvons donc supposer environ 2000mAhr ou mieux pour une application à faible consommation telle qu'un appareil IoT.
Par conséquent, nous pouvons calculer que nous avons 4 cellules x 1.25V par cellule x 2000mAhr * 3600sec = 36000 J d'énergie disponible à partir de cette batterie avant qu'elle ne doive être remplacée.
Pour simplifier les calculs, nous pouvons également supposer que l'efficacité de conversion est de 100 % pour notre régulateur de système et ignorer la consommation d'énergie du contrôleur hôte.
Un mot sur le cyclisme
Non, pas le type sur lequel vous roulez ! Il existe quelques concepts techniques connus sous le nom de "Power Cycling" et "Sleep Cycling". Les deux peuvent être utilisés pour réduire la consommation d'énergie, mais il existe une différence entre les deux. La première consiste à éteindre votre appareil jusqu'à ce qu'il soit nécessaire, puis à ne l'allumer que pendant une courte période pour effectuer une mesure, etc. Bien que cette méthode soit tentante à utiliser en raison de son courant d'arrêt nul, il y a un inconvénient où il faudra un temps non négligeable pour redémarrer et brûler de l'énergie tout en le faisant.
Le deuxième concept consiste simplement à maintenir l'appareil en mode veille dans l'espoir qu'il se réveillera plus rapidement, mais que vous brûlerez une quantité limitée de courant pendant qu'il dort. Alors, quel est le meilleur à utiliser ?
Cela dépend de la fréquence à laquelle vous devez vous réveiller.
Étape 2: exécutez les numéros
Nous voulons trouver l'énergie totale (E) normalisée à 1 seconde pour chaque scène listée ci-dessous.
Cas A: Tc = 1sec; prendre une mesure de distance toutes les secondes Cas B: Tc = 60sec; prendre une mesure de distance toutes les minutes. Cas C: Tc = 3600sec; prendre une mesure de distance toutes les heures.
Pour ce faire, nous pouvons dire que Tc est le temps de cycle de nos mesures, ton le temps actif et le temps inactif et réorganiser nos formules énergétiques comme indiqué ici:
Pour tinyLiDAR, le temps de démarrage est d'environ 300 ms ou moins et pendant ce temps, il faudra en moyenne 12,25 mA tout en fonctionnant à partir d'une alimentation régulée de 2,8 V. Par conséquent, il consommera environ 10,3 mJ d'énergie pour chaque démarrage.
Le courant de veille/de repos pour le tinyLiDAR est un ultra-faible 3uA. C'est bien inférieur au taux d'autodécharge mensuel de 0,3 % d'une batterie alcaline, nous allons donc étudier ici en utilisant uniquement la méthode du « cycle de veille ».
Pourquoi ne pas se passer du micro et passer directement au capteur VL53 ?
La réponse à cette question n'est pas si évidente. Au début du développement des smartphones, nous avons appris que garder le processeur haute vitesse gourmand en énergie pour lire des mp3 était une méthode infaillible pour réduire la durée de vie de la batterie. Même à l'époque, nous nous sommes efforcés d'utiliser des "processeurs d'application" à faible consommation pour les tâches périphériques telles que la lecture de musique. Ce n'est pas très différent aujourd'hui et en fait, on pourrait dire que c'est encore plus important alors que nous miniaturisons tous ces appareils IoT avec chaque capacité de batterie décroissante. Ainsi, l'utilisation d'un processeur d'application à très faible consommation d'énergie pour la seule tâche de contrôler le capteur VL53 et de fournir des données prêtes pour un traitement ultérieur est un atout certain pour toute application alimentée par batterie.
Modes de mesure tinyLiDAR
Cela peut ne pas être clair dans le manuel d'utilisation pour le moment [mais le sera à un moment donné car nous mettons toujours à jour notre manuel d'utilisation:)] -- il existe en fait 3 modes de mesure différents dans tinyLiDAR.
Mode MC
Depuis la création de tinyLiDAR, nous étions obsédés par l'idée d'obtenir des mesures plus rapides à partir du capteur VL53 ToF. Nous avons donc optimisé notre firmware pour en tirer les données de streaming les plus rapides et les plus cohérentes. Cela impliquait l'introduction de la mise en mémoire tampon. Une petite mise en mémoire tampon est une bonne chose car elle permet au contrôleur hôte (c'est-à-dire Arduino) d'obtenir ses données de mesure en un éclair et de passer à des choses plus importantes. Par conséquent, la mise en mémoire tampon est absolument nécessaire et, grâce à cela, nous sommes en mesure d'atteindre des taux de diffusion supérieurs à 900 Hz, même sur l'Arduino UNO relativement lent. Par conséquent, le temps de réponse le plus rapide sera d'utiliser le mode MC ou "continu" de tinyLiDAR.
BTW, si jamais vous en avez l'occasion, vous devez connecter un câble série à la broche de sortie TTY sur tinyLiDAR et vous verrez ce que fait ce mode MC. Il prend littéralement une mesure aussi vite que possible et, ce faisant, remplit sa mémoire tampon I2C avec les dernières données absolues. Malheureusement, comme il fonctionne à pleine vitesse, il brûle également le maximum d'énergie. Voir ci-dessous pour le graphique courant vs temps de ce mode MC.
Mode SS
Le mode suivant est ce que nous appelons « SS » pour le mode « single step ». Il s'agit essentiellement du même mode haute performance ci-dessus, mais dans une seule boucle pas à pas à la place. Ainsi, vous pouvez obtenir des réponses rapides de tinyLiDAR, mais les données proviendront de l'échantillon précédent, vous devrez donc prendre deux mesures pour obtenir les toutes dernières données. Voir ci-dessous pour le graphique courant vs temps de ce mode SS.
Les deux modes ci-dessus conviennent parfaitement à la plupart des utilisateurs car ils sont rapides et faciles à utiliser - il suffit d'émettre une commande "D" et de lire les résultats. Toutefois …
En avançant vers le monde de l'IoT où chaque milli-joule compte, nous avons un nouveau paradigme.
Et c'est exactement le contraire de ce que nous avons codé dans tinyLiDAR ! Pour le monde de l'IoT, nous avons besoin de mesures uniques à des intervalles peu fréquents afin d'économiser l'énergie et d'allonger la durée d'exécution.
Mode RT
Heureusement, nous pouvons maintenant dire que nous avons une solution pour ce scénario à partir du firmware 1.4.0. C'est ce qu'on appelle le mode "RT" pour les mesures "en temps réel". Et il implémente essentiellement une méthode de déclenchement, d'attente et de lecture. Pour l'utiliser, vous pouvez toujours simplement émettre la commande "D" pour démarrer la mesure, mais pour ce mode RT, vous devez attendre un temps approprié pour que la mesure se termine, puis lire les résultats. tinyLiDAR passe automatiquement à son état de repos le plus bas de moins de 3 uA entre les échantillons. Il est en fait toujours simple à utiliser et encore plus économe en énergie maintenant, car vous n'avez qu'à prendre une mesure au lieu de deux pour obtenir les toutes dernières données, c'est-à-dire zéro tampon.
Voir ci-dessous pour le graphique courant vs temps de ce nouveau mode RT.
Étape 3: Mesures réelles
L'utilisation du mode continu MC pour les mesures IoT peu fréquentes n'a pas de sens puisque nous n'avons besoin que de mesures uniques. Par conséquent, nous pouvons concentrer notre attention sur les modes SS et RT à la place. Le fonctionnement de tinyLiDAR à partir d'une alimentation régulée de +2,8 V nous offre la plus faible dissipation de puissance. Ainsi, en utilisant les préréglages de haute précision (200 ms), nous avons mesuré la consommation d'énergie suivante sur tinyLiDAR:
Mode SS/pas à pas: 31,2 mJ en moyenne sur 2 mesures
Mode RT/temps réel: 15,5 mJ en moyenne sur 1 mesure
En branchant ces valeurs ci-dessus dans notre formule énergétique et en les normalisant à une seconde, nous pouvons trouver les attentes en matière d'autonomie en supposant que l'énergie de notre batterie est de 36 000 J.
Cas A: lecture toutes les secondes (prendre 2 lectures pour obtenir les dernières données)Tc = 1secTon = 210ms par lecture x 2 lectures Toff = Tc - Ton = 580msIon(avg) = 26,5mA par lecture Ioff(avg) = 3uA courant de repos Vcc = Tension d'alimentation 2,8V L'énergie active consommée par la charge en Joules est Eon = Vcc x Ion x Ton = 2,8V x 26,5mA * 420ms = 31,164mJ L'énergie inactive consommée par la charge en Joules est Eoff = Vcc x Ioff x Toff = 2,8V x 3uA x 580ms = 4,872uJ Normalisation à TcE = (Eon + Eoff)/Tc = (31,164mJ + 4,872uJ)/1 = 31,169mJ ou 31,2mJ par seconde Le temps d'exécution en secondes est donc l'énergie totale de la source/énergie consommée qui est de 36000J / 31,2 mJ = 1155000 secondes = 320 heures = 13,3 jours
En répétant ces calculs, nous pouvons trouver les temps d'exécution pour les autres scénarios:
Mode SS
Cas A: 2 lectures par seconde. L'énergie normalisée est de 31,2 mJ. Par conséquent, la durée d'exécution est de 13,3 jours.
Cas B: 2 lectures par minute. L'énergie normalisée est de 528uJ. Par conséquent, la durée d'exécution est de 2,1 ans.
Cas C: 2 lectures par heure. L'énergie normalisée est de 17uJ. La durée d'exécution est calculée à >> 10 ans, donc la charge due à tinyLiDAR est négligeable. La batterie ne sera donc limitée que par sa durée de vie (c'est-à-dire environ 5 ans)
mode RT
Cas A: 1 lecture par seconde. L'énergie normalisée est de 15,5 mJ. Par conséquent, la durée d'exécution est de 26,8 jours.
Cas B: 1 Lecture par minute. L'énergie normalisée est de 267uJ. Par conséquent, la durée d'exécution est de 4,3 ans.
Cas C: 1 Lecture par heure. L'énergie normalisée est de 12,7 uJ. La durée d'exécution est calculée à >> 10 ans, donc la charge due à tinyLiDAR est négligeable. La batterie ne sera donc limitée que par sa durée de vie (c'est-à-dire environ 5 ans)
Par conséquent, le nouveau mode temps réel utilisant le cycle de veille est ici un avantage pour prolonger la durée d'exécution au-delà de 4 ans si une mesure est prise toutes les minutes, comme indiqué dans le cas B.
Notez que la consommation d'énergie du contrôleur hôte n'a pas été prise en compte pour cette analyse et que les spécifications de la batterie étaient plutôt prudentes. Vous pouvez trouver des batteries beaucoup plus puissantes selon vos besoins.
Merci d'avoir lu et restez à l'écoute car nous fournirons un exemple IoT fonctionnel à l'aide de tinyLiDAR pour notre prochain instructable. À votre santé!
Conseillé:
Pédale Bluetooth pour appareil photo pour smartphone : 13 étapes (avec photos)
Interrupteur à pédale Bluetooth pour un appareil photo pour smartphone : ces jours-ci, je suis en train de créer des Instructables, des vidéos youtube et des articles de blog. Pour rendre le blog productif, il est essentiel de prendre beaucoup de photos aussi détaillées que possible. Ce n'est pas si facile à faire car un être humain n'a que deux mains. J'ai besoin de
Steam Punk Your UPS pour obtenir des heures de disponibilité pour votre routeur Wi-Fi : 4 étapes (avec photos)
Steam Punk Your UPS pour obtenir des heures de disponibilité pour votre routeur Wi-Fi : 12V CC ! Vous êtes également confronté au [typiquement
Minuterie 555 pour émettre un signal pour interrompre l'Atmega328 : 7 étapes
Minuterie 555 pour émettre un signal d'interruption Atmega328 : L'objectif principal de ce circuit est d'économiser de l'énergie. Donc, je ne vais pas parler d'arduino car la carte elle-même a une surcharge électrique inutile pour un produit final. C'est super pour le développement. Mais, pas très bon pour les projets finaux fonctionnant sur batt
Caméra de documents pour ordinateur portable à 5 $ pour la visioconférence : 4 étapes (avec photos)
Caméra de documents pour ordinateur portable à 5 $ pour la visioconférence : publiée en 20200811 par John E. Nelson [email protected] www.instructables.com/id/A-Sub-10-MetaPrax-Documen
Objectif kaléidoscope amusant pour appareil photo pour smartphone : 3 étapes
Objectif kaléidoscope amusant pour appareil photo pour smartphone : dans ce projet, je vous montre comment créer un petit objectif kaléidoscope amusant qui s'adapte à votre smartphone ! C'est très cool d'expérimenter avec des objets aléatoires posés autour de la maison et de voir quel genre de réflexions peuvent être faites