Taula de continguts:

TinyLiDAR per a IoT: 3 passos
TinyLiDAR per a IoT: 3 passos

Vídeo: TinyLiDAR per a IoT: 3 passos

Vídeo: TinyLiDAR per a IoT: 3 passos
Vídeo: tinyLiDAR DIY ParkingAssist 2024, Juliol
Anonim
TinyLiDAR per a IoT
TinyLiDAR per a IoT

Si mireu al vostre voltant, notareu que s’utilitzen molts petits dispositius intel·ligents a la vida quotidiana. Normalment funcionen amb bateria i normalment es connecten a Internet (també conegut com el "núvol") d'alguna manera. Aquests són tots els que anomenem dispositius "IoT" i s'estan convertint ràpidament en un lloc comú al món actual.

Per als enginyers de sistemes de IoT, es dedica molt a dissenyar l’optimització del consum d’energia. El motiu d’això es deu, per descomptat, a la capacitat limitada disponible a les bateries. Canviar les bateries en grans quantitats en zones remotes pot ser una proposta molt cara.

Per tant, aquest instructiu es tracta d’optimitzar la potència a tinyLiDAR.

TL; resum de DR

Disposem d’un nou mode de mesura “en temps real” (a partir del firmware 1.4.0) per ajudar a maximitzar el temps d’execució de la bateria als dispositius IoT.

Extreure més suc de les bateries

Intuïtivament, podem augmentar el temps d’execució simplement reduint el consum d’energia dels dispositius IoT. D'acord, així que és obvi. Però, com podeu fer-ho de manera eficaç i calcular adequadament el temps d’execució esperat? Anem a esbrinar…

Pas 1: energia pura

Hi ha moltes maneres de fer-ho, però preferim desglossar-lo en els conceptes bàsics i convertir-ho tot en energia. L’energia elèctrica es mesura en Joules (símbol J) i per definició:

Un Joule és l’energia dissipada com a calor quan un corrent elèctric d’un ampli passa per una resistència d’un ohm durant un període d’un segon.

Com que l’energia (E) també és tensió (V) x càrrega (Q), tenim:

E = V x Q

Q és actual (I) x temps (T):

Q = I x T

Per tant, l’energia en Joules es pot expressar com:

E = V x I x T

on V és el voltatge, I és el corrent en amplificadors i T és el temps en segons.

Suposem que tenim una bateria formada per quatre piles alcalines AA (LR6) connectades en sèrie. Això ens donarà un voltatge d’arrencada total de 4 * 1,5v = 6v. El final de vida útil d'una bateria alcalina AA és d'aproximadament 1,0 v, de manera que la tensió mitjana seria d'aproximadament 1,25 v. Segons el full de dades del fabricant, "la capacitat lliurada depèn de la càrrega aplicada, la temperatura de funcionament i la tensió de tall". Per tant, podem suposar aproximadament 2000 mAhr o millor per a una aplicació de baix consum, com ara un dispositiu IoT.

Per tant, podem calcular que tenim 4 cel·les x 1,25V per cel·la x 2000mAhr * 3600sec = 36000 J d’energia disponible d’aquest paquet de bateries abans de substituir-la.

Per tal de fer càlculs més senzills, també podem suposar que l’eficiència de conversió és del 100% per al nostre regulador del sistema i ignorar el consum d’energia del controlador amfitrió.

Una paraula sobre el ciclisme

No, no és el tipus en què condueixis! Hi ha un parell de conceptes tècnics coneguts com a "Power Cycling" i "Sleep Cycling". Tots dos es poden utilitzar per reduir el consum d'energia, però hi ha una diferència entre tots dos. El primer consisteix a apagar el dispositiu fins que sigui necessari i, després, a engegar-lo només durant un breu període de temps per realitzar una mesura, etc. quantitat de temps no trivial per arrencar una còpia de seguretat i cremar energia mentre ho feu.

El segon concepte consisteix a mantenir el dispositiu en mode de repòs amb l'esperança que es despertarà més ràpidament, però cremaràs una quantitat finita de corrent mentre dorm. Quin és el millor ús?

Depèn de la freqüència amb què us cal despertar.

Pas 2: executeu els números

Volem trobar l'energia total (E) normalitzada a 1 segon per a cada escenari que s'enumera a continuació.

Cas A: Tc = 1seg; fer una mesura de distància cada segon Cas B: Tc = 60sec; feu una mesura de distància cada minut. Cas C: Tc = 3600 seg; feu una mesura de distància cada hora.

Per fer-ho, podem dir que Tc és el temps de cicle per a les nostres mesures, tonificar el temps actiu i eliminar el temps inactiu i reordenar les nostres fórmules energètiques com es mostra aquí:

Imatge
Imatge

Per a tinyLiDAR, el temps d’inici és d’uns 300 ms o menys i durant aquest temps trigarà una mitjana de 12,25 mA mentre funciona amb un subministrament regulat de 2,8 v. Per tant, consumirà aproximadament 10,3 mJ d’energia per cada arrencada.

El corrent de repòs / repòs de tinyLiDAR és de 3uA ultra baix. Això és molt inferior a la taxa d’autodescàrrega mensual del 0,3% d’un paquet de bateries alcalines, de manera que aquí només investigarem l’ús del mètode “sleep cycling”.

Per què no prescindir del micro i anar directament al sensor VL53?

La resposta a això no és tan òbvia. Als primers dies del desenvolupament de telèfons intel·ligents, vam aprendre que mantenir viu el processador d’alta velocitat amb fam per poder reproduir mp3 era un mètode infal·lible per reduir la durada de la bateria. Fins aleshores vam fer tots els esforços possibles per utilitzar "processadors d'aplicacions" de menys potència per a tasques de perifèria com reproduir música. Avui no és molt diferent i, de fet, es podria dir que és encara més important ja que miniaturitzem tots aquests dispositius IoT amb cada vegada que disminueixen les capacitats de la bateria. Per tant, l’ús d’un processador d’aplicacions d’energia ultra baixa per a l’única tasca de controlar el sensor VL53 i proporcionar dades preparades per a un posterior processament és un bé definitiu per a qualsevol aplicació amb bateria.

Modes de mesura tinyLiDAR

Pot ser que no estigui clar al manual de l'usuari en aquest moment [però ho serà en algun moment, ja que sempre actualitzem el nostre manual d'usuari:)]: en realitat, hi ha 3 modes de mesura diferents a tinyLiDAR.

Mode MC

Des dels inicis de tinyLiDAR, estàvem obsessionats a intentar obtenir mesures més ràpides amb el sensor ToF VL53. Per tant, hem optimitzat el nostre microprogramari per obtenir-ne les dades de transmissió més ràpides i consistents. Això implicava introduir memòria intermèdia. Una mica de memòria intermèdia és bo, ja que permet al controlador d’amfitrió (és a dir, Arduino) obtenir les seves dades de mesura en un instant i passar a coses més importants. Per tant, la memòria intermèdia és absolutament necessària i, per això, aconseguim velocitats de transmissió superiors a 900Hz, fins i tot amb el relativament lent Arduino UNO. Per tant, el temps de resposta més ràpid serà en utilitzar el mode MC o el mode "continu" de tinyLiDAR.

BTW, si mai teniu oportunitat, hauríeu de connectar un cable sèrie al pin de sortida TTY de tinyLiDAR i veureu què fa aquest mode MC. Literalment pren una mesura el més ràpid possible i, en fer-ho, omple el seu buffer I2C amb les dades més recents absolutes. Malauradament, com que funciona a tota velocitat, també està cremant la quantitat màxima d'energia. Vegeu a continuació el gràfic actual vs temps d’aquest mode MC.

Imatge
Imatge

Mode SS

El següent mode és el que anomenem "SS" per al mode "pas únic". Aquest és bàsicament el mateix mode d'alt rendiment anterior, però en un sol bucle de pas. Per tant, podeu obtenir respostes ràpides de tinyLiDAR, però les dades seran de la mostra anterior, de manera que haureu de prendre dues mesures per obtenir les dades més recents. Vegeu a continuació el gràfic actual vs temps d’aquest mode SS.

Imatge
Imatge

Els dos modes anteriors s’adapten molt bé a la factura per a la majoria d’usuaris, ja que eren ràpids i fàcils d’utilitzar; només heu d’emetre una ordre "D" i llegir els resultats. Malgrat això …

Avançant cap al món de l’IoT, on cada mili-Joule compta, tenim un nou paradigma.

I és exactament el contrari del que hem codificat a tinyLiDAR. Per al món de l’IoT necessitem mesures individuals a intervals poc freqüents per tal de conservar l’energia i ampliar el temps d’execució.

Mode RT

Afortunadament, ara podem dir que tenim una solució per a aquest escenari a partir del firmware 1.4.0. S'anomena mode "RT" per a mesures "en temps real". I bàsicament implementa un mètode d'activació, espera i lectura. Per utilitzar-lo, només podeu emetre l'ordre "D" per iniciar la mesura, però per a aquest mode RT heu d'esperar un temps adequat perquè acabi la mesura i després llegir els resultats. tinyLiDAR passa automàticament al seu estat de repòs més baix de sub 3uA entre mostres. En realitat, encara és senzill d’utilitzar i encara és més eficient energèticament, ja que només cal fer una mesura en lloc de dues per obtenir les dades més recents, és a dir, un buffer zero.

Vegeu a continuació el gràfic actual vs temps d’aquest nou mode RT.

Imatge
Imatge

Pas 3: Mesures reals

L’ús del mode continu MC per a mesures poc freqüents de l’IoT té poc sentit, ja que només necessitem mesures individuals. Per tant, podem centrar la nostra atenció en els modes SS i RT. El funcionament de tinyLiDAR a partir d’un subministrament regulat de + 2,8v ens proporciona la menor dissipació d’energia. Per tant, en utilitzar els preajustats d’alta precisió (200 ms), vam mesurar el següent consum d’energia a tinyLiDAR:

Mode SS / pas únic: 31,2 mJ de mitjana en 2 mesures

RT / mode en temps real: 15,5 mJ de mitjana en una mesura

Connectant aquests valors anteriors a la nostra fórmula energètica i normalitzant-nos a un segon, podem trobar les expectatives d’execució assumint que l’energia de la nostra bateria és de 36000 J.

Cas A: lectura cada segon (feu 2 lectures per obtenir les darreres dades) Tc = 1secTon = 210ms per lectura x 2 lectures Toff = Tc - Ton = 580msIon (mitjana) = 26,5mA per lectura Ioff (mitjana) = 3uA corrent en repòs Vcc = Tensió d’alimentació de 2,8 V L’energia activa consumida per la càrrega en Joules és Eon = Vcc x Ió x Ton = 2,8 V x 26,5mA * 420ms = 31,164 mJ L’energia inactiva consumida per la càrrega en Joules és Eoff = Vcc x Ioff x Toff = 2,8V x 3uA x 580ms = 4.872uJ Normalització a TcE = (Eon + Eoff) / Tc = (31.164mJ + 4.872uJ) / 1 = 31.169mJ o 31.2mJ per segon El temps d'execució en segons és, per tant, l'energia total de la font / energia consumida que és 36000J / 31,2 mJ = 1155000 segons = 320 hores = 13,3 dies

Repetint aquests càlculs, podem trobar els temps d’execució dels altres escenaris:

Mode SS

Cas A: 2 lectures per segon. L’energia normalitzada és de 31,2 mJ. Per tant, el temps d'execució és de 13,3 dies.

Cas B: 2 lectures per minut. L’energia normalitzada és de 528uJ. Per tant, el temps d'execució és de 2,1 anys.

Cas C: 2 lectures per hora. L’energia normalitzada és de 17uJ. El temps d'execució es calcula en >> 10 anys, de manera que la càrrega a causa de tinyLiDAR és insignificant. Per tant, la bateria només estarà limitada per la seva vida útil (és a dir, aproximadament 5 anys)

Mode RT

Cas A: 1 lectura per segon. L’energia normalitzada és de 15,5 mJ. Per tant, el temps d'execució és de 26,8 dies.

Cas B: 1 lectura per minut. L’energia normalitzada és 267uJ. Per tant, el temps d'execució és de 4,3 anys.

Cas C: 1 lectura per hora. L’energia normalitzada és de 12,7 uJ. El temps d'execució es calcula en >> 10 anys, de manera que la càrrega a causa de tinyLiDAR és insignificant. Per tant, la bateria només estarà limitada per la seva vida útil (és a dir, aproximadament 5 anys)

Per tant, el nou mode en temps real que utilitza el ciclisme de son és un avantatge aquí per ampliar el temps d’execució dels darrers 4 anys si es pren una mesura cada minut, tal com es mostra al cas B.

Tingueu en compte que el consum d'energia del controlador amfitrió no es va tenir en compte per a aquesta anàlisi i que les especificacions de la bateria eren del costat conservador. Podeu trobar bateries molt més potents segons desitgeu, segons les vostres necessitats.

Gràcies per llegir i estigueu atents, ja que proporcionarem un exemple d’IoT que funciona amb tinyLiDAR per a la nostra propera instrucció. Ànims!

Recomanat: