Table des matières:

TinyLiDAR pour l'IoT : 3 étapes
TinyLiDAR pour l'IoT : 3 étapes

Vidéo: TinyLiDAR pour l'IoT : 3 étapes

Vidéo: TinyLiDAR pour l'IoT : 3 étapes
Vidéo: Урок 80: Как измерить расстояние с помощью лазерного дальномера VL53L0X GY-530 для Arduino 2024, Novembre
Anonim
TinyLiDAR pour l'IoT
TinyLiDAR pour l'IoT

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:

Image
Image

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.

Image
Image

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.

Image
Image

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.

Image
Image

É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é: