Obsah:

TinyLiDAR pro IoT: 3 kroky
TinyLiDAR pro IoT: 3 kroky

Video: TinyLiDAR pro IoT: 3 kroky

Video: TinyLiDAR pro IoT: 3 kroky
Video: tinyLiDAR First Steps 2024, Listopad
Anonim
TinyLiDAR pro IoT
TinyLiDAR pro IoT

Když se rozhlédnete kolem, všimnete si, že v každodenním životě se používá spousta chytrých malých zařízení. Obvykle jsou napájeny baterií a obvykle jsou nějakým způsobem připojeny k internetu (aka „cloud“). Všem těmto zařízením říkáme „IoT“a v dnešním světě se rychle stávají běžným místem.

Pro IoT System Engineers je vynaloženo velké úsilí na optimalizaci spotřeby energie. Důvodem je samozřejmě omezená kapacita baterií. Výměna baterií ve velkých množstvích v odlehlých oblastech může být velmi nákladný problém.

Tento návod je tedy o optimalizaci výkonu v tinyLiDAR.

Souhrn TL; DR

Máme nový režim měření „v reálném čase“(od firmwaru 1.4.0), který pomáhá maximalizovat dobu provozu baterie v zařízeních IoT.

Vytlačení více šťávy z baterií

Intuitivně můžeme prodloužit dobu běhu jednoduchým snížením spotřeby energie zařízení IoT. Dobře, to je zřejmé! Jak to ale můžete udělat efektivně a správně vypočítat očekávanou dobu běhu? Pojďme to zjistit…

Krok 1: Čistá energie

Existuje mnoho způsobů, jak toho dosáhnout, ale raději to rozdělíme na základy a vše převedeme na energii. Elektrická energie se měří v joulech (symbol J) a podle definice:

Joule je energie rozptýlená jako teplo, když elektrický proud jednoho zesilovače prochází odporem jednoho ohmu po dobu jedné sekundy.

Protože energie (E) je také napětí (V) x náboj (Q), máme:

E = V x Q

Q je aktuální (I) x čas (T):

Q = I x T

Energii v Joulech lze tedy vyjádřit jako:

E = V x I x T

kde V je napětí, I je proud v ampérech a T je čas v sekundách.

Předpokládejme, že máme sadu baterií tvořenou čtyřmi alkalickými bateriemi AA (LR6) zapojenými do série. To nám poskytne celkové počáteční napětí 4*1,5v = 6v. Konec životnosti alkalické baterie AA je přibližně 1,0 V, takže průměrné napětí by bylo přibližně 1,25 V. Podle datového listu výrobce „Dodaná kapacita závisí na použitém zatížení, provozní teplotě a mezním napětí“. Můžeme tedy předpokládat asi 2 000 mAh nebo lépe pro aplikace s nízkým odtokem, jako je zařízení IoT.

Proto můžeme vypočítat, že máme 4 články x 1,25 V na článek x 2000mAhr * 3600sec = 36000 J energie dostupné z této baterie, než bude nutné ji vyměnit.

Kvůli jednodušším výpočtům můžeme také předpokládat, že účinnost převodu je pro náš systémový regulátor 100%, a ignorovat spotřebu energie hostitelského ovladače.

Slovo o jízdě na kole

Ne, ne ten typ, na kterém jedete! Existuje několik technických konceptů známých jako „Power Cycling“a „Sleep Cycling“. Oba lze použít ke snížení spotřeby energie, ale mezi nimi je rozdíl. První z nich zahrnuje vypnutí zařízení, dokud není potřeba, a následné zapnutí pouze na krátkou dobu k provedení měření atd. Přestože je tato metoda lákavá k použití kvůli nulovému vypínacímu proudu, existuje nevýhoda, kdy bude potřeba netriviální množství času na spuštění zálohy a spalování energie.

Druhý koncept zahrnuje pouze udržování zařízení v režimu spánku s nadějí, že se probudí rychleji, ale během spánku spálíte určité množství proudu. Které je tedy nejlepší použít?

Záleží na tom, jak často se potřebujete probudit.

Krok 2: Spusťte čísla

Chceme najít celkovou energii (E) normalizovanou na 1 sekundu pro každou scenerio uvedenou níže.

Případ A: Tc = 1 s; měřte vzdálenost každou sekundu Případ B: Tc = 60 s; proveďte měření vzdálenosti každou minutu. Případ C: Tc = 3600 s; provádět měření vzdálenosti každou hodinu.

Za tímto účelem můžeme říci, že Tc je doba cyklu pro naše měření, tón aktivní doby a vypnutí neaktivního času a přeskupení našich energetických vzorců, jak je znázorněno zde:

obraz
obraz

U tinyLiDAR je doba spuštění asi 300 ms nebo méně a během této doby to bude trvat v průměru 12,25 mA při provozu z regulovaného napájení 2,8 V. Proto při každém spuštění spotřebuje přibližně 10,3 mJ energie.

Klidový/klidový proud pro tinyLiDAR je extrémně nízký 3uA. To je mnohem nižší než 0,3% měsíční míra samovybíjení alkalické baterie, takže zde budeme zkoumat pouze metodu „cyklování spánku“.

Proč se neobejít bez mikro a přejít přímo k senzoru VL53?

Odpověď na to není tak zřejmá. V počátcích vývoje smartphonu jsme se dozvěděli, že udržení vysokorychlostního procesoru hladového po životě pro přehrávání mp3 je jistou metodou ke snížení životnosti baterie. Už tehdy jsme vynaložili veškeré úsilí, abychom mohli používat „aplikační procesory“s nižším výkonem pro periferie, jako je přehrávání hudby. Dnes se to moc neliší a ve skutečnosti by se dalo říci, že je to ještě důležitější, protože miniaturizujeme všechna tato zařízení IoT s každou klesající kapacitou baterie. Takže použití aplikačního procesoru s extrémně nízkou spotřebou k jedinému úkolu ovládání senzoru VL53 a poskytnutí dat připravených k dalšímu zpracování je jednoznačným přínosem pro jakoukoli bateriemi napájenou aplikaci.

Režimy měření tinyLiDAR

V uživatelské příručce to v tuto chvíli nemusí být jasné [ale v určitém okamžiku bude, protože naši uživatelskou příručku vždy aktualizujeme:)] - ve skutečnosti jsou v tinyLiDAR 3 různé režimy měření.

Režim MC

Od počátku tinyLiDAR jsme byli posedlí snahou získat rychlejší měření ze senzoru VL53 ToF. Optimalizovali jsme tedy náš firmware, abychom z něj získali nejrychlejší a nejkonzistentnější streamovaná data. To zahrnovalo zavedení vyrovnávací paměti. Trochu ukládání do vyrovnávací paměti je dobrá věc, protože umožňuje hostitelskému řadiči (tj. Arduinu) rychle získat data o měření a přejít k důležitějším věcem. Proto je ukládání do vyrovnávací paměti naprosto nezbytné a díky tomu jsme schopni dosáhnout přenosových rychlostí přesahujících 900 Hz i na relativně pomalém Arduino UNO. Nejrychlejší doba odezvy tedy bude v režimu MC nebo „nepřetržitém“režimu tinyLiDAR.

BTW, pokud někdy budete mít příležitost, měli byste připojit sériový kabel k výstupnímu kolíku TTY na tinyLiDAR a uvidíte, co tento režim MC dělá. Doslova trvá měření tak rychle, jak je to jen možné, a přitom zaplňuje svůj I2C buffer absolutně nejnovějšími daty. Bohužel, protože běží na plné otáčky, spaluje také maximální množství energie. Níže naleznete aktuální graf vs. čas tohoto režimu MC.

obraz
obraz

Režim SS

Další režim je to, co nazýváme „SS“pro režim „jednoho kroku“. Toto je v zásadě stejný režim vysokého výkonu výše, ale místo toho v jedné krokovací smyčce. Můžete tedy získat rychlé odpovědi od tinyLiDAR, ale data budou z předchozího vzorku, takže budete muset provést dvě měření, abyste získali nejnovější data. Níže naleznete aktuální graf vs čas v tomto režimu SS.

obraz
obraz

Oba výše uvedené režimy jsou pro většinu uživatelů velmi vhodné, protože byly rychlé a snadno použitelné - stačí zadat příkaz „D“a přečíst si výsledky. Nicméně …

Pohybující se vpřed do světa IoT, kde se počítá každý milijoul, máme nové paradigma.

A je to pravý opak toho, co jsme zakódovali v tinyLiDAR! Pro svět IoT potřebujeme jednotlivá měření v občasných intervalech, abychom šetřili energii a prodloužili dobu běhu.

Režim RT

Naštěstí můžeme nyní říci, že pro tento scénář máme řešení od firmwaru 1.4.0. Říká se tomu režim „RT“pro měření „v reálném čase“. A v zásadě implementuje metodu trigger, wait and read. Chcete -li jej použít, můžete stále pouhým vydáním příkazu „D“zahájit měření, ale pro tento režim RT musíte počkat přiměřenou dobu, než měření skončí, a poté přečíst výsledky. tinyLiDAR automaticky přejde do svého nejnižšího klidového stavu mezi 3uA mezi vzorky. Ve skutečnosti je to stále ještě jednoduché a ještě energeticky účinnější, protože k získání nejnovějších dat, tj. Nulového ukládání do vyrovnávací paměti, musíte provést pouze jedno měření místo dvou.

Níže naleznete aktuální graf vs. čas tohoto nového režimu RT.

obraz
obraz

Krok 3: Skutečná měření

Používání kontinuálního režimu MC pro občasná měření IoT má malý smysl, protože potřebujeme pouze jednotlivá měření. Proto můžeme místo toho zaměřit naši pozornost na režimy SS a RT. Provoz tinyLiDAR z regulovaného zdroje +2,8 V nám zajišťuje nejnižší ztrátový výkon. Takže při použití předvoleb Vysoká přesnost (200 ms) jsme na tinyLiDAR změřili následující spotřebu energie:

SS/jednokrokový režim: 31,2 mJ zprůměrováno na 2 měření

RT/režim v reálném čase: 15,5 mJ v průměru na 1 měření

Připojením těchto výše uvedených hodnot do našeho energetického vzorce a normalizací na jednu sekundu můžeme najít běhové očekávání za předpokladu, že energie z naší baterie je 36 000 J.

Případ A: čtení každou sekundu (pro získání nejnovějších údajů proveďte 2 měření) Tc = 1 s Ton = 210 ms na čtení x 2 měření Toff = Tc - Ton = 580 ms Ion (průměr) = 26,5 mA na čtení Ioff (průměr) = 3uA klidový proud Vcc = Napájecí napětí 2,8 V Aktivní energie spotřebovaná zátěží v Joulech je Eon = Vcc x Ion x Ton = 2,8 V x 26,5 mA * 420 ms = 31,164 mJ Neaktivní energie spotřebovaná zátěží v Joulech je Eoff = Vcc x Ioff x Toff = 2,8 V x 3uA x 580ms = 4,872uJ Normalizace na TcE = (Eon + Eoff)/Tc = (31,164mJ + 4,872uJ)/1 = 31,169mJ nebo 31,2mJ za sekundu Doba běhu v sekundách je tedy celková energie spotřebovaného zdroje/energie, která je 36000J / 31,2 mJ = 1155 000 sekund = 320 hodin = 13,3 dnů

Opakováním těchto výpočtů můžeme najít doby běhu pro další scénáře:

Režim SS

Případ A: 2 čtení za sekundu. Normalizovaná energie je 31,2 mJ. Doba běhu je tedy 13,3 dne.

Případ B: 2 čtení za minutu. Normalizovaná energie je 528uJ. Doba běhu je tedy 2,1 roku.

Případ C: 2 čtení za hodinu. Normalizovaná energie je 17uJ. Runtime se počítá na >> 10 let, takže zatížení kvůli tinyLiDAR je zanedbatelné. Sada baterií bude proto omezena pouze její trvanlivostí (tj. Přibližně 5 let)

Režim RT

Případ A: 1 čtení za sekundu. Normalizovaná energie je 15,5 mJ. Doba běhu je tedy 26,8 dne.

Případ B: 1 čtení za minutu. Normalizovaná energie je 267uJ. Doba běhu je tedy 4,3 roku.

Případ C: 1 čtení za hodinu. Normalizovaná energie je 12,7 uJ. Doba běhu se počítá na >> 10 let, takže zatížení kvůli tinyLiDAR je zanedbatelné. Sada baterií bude proto omezena pouze její trvanlivostí (tj. Přibližně 5 let)

Proto je nový režim v reálném čase využívající spánkovou cyklistiku přínosem pro prodloužení doby běhu za poslední 4 roky, pokud je každou minutu provedeno jedno měření, jak ukazuje případ B.

Pamatujte, že spotřeba energie hostitelského ovladače nebyla pro tuto analýzu zohledněna a specifikace bateriového bloku byly na konzervativní straně. Podle potřeby najdete mnohem výkonnější baterie.

Děkujeme za přečtení a sledujte nás, protože poskytneme funkční příklad IoT s použitím tinyLiDAR pro náš další instruktáž. Na zdraví!

Doporučuje: