Indholdsfortegnelse:
Video: TinyLiDAR til IoT: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Hvis du ser dig omkring, vil du bemærke, at mange smarte små enheder bruges i hverdagen. De er typisk batteridrevne og er normalt forbundet til internettet (også kaldet 'skyen') på en eller anden måde. Det er alt hvad vi kalder 'IoT' -enheder, og de er hurtigt ved at blive almindeligt sted i verden i dag.
For IoT -systemingeniører bruges en masse designindsats på at optimere strømforbruget. Årsagen til dette skyldes naturligvis den begrænsede kapacitet, der er tilgængelig i batterier. Udskiftning af batterier i store mængder i fjerntliggende områder kan være et meget dyrt forslag.
Så dette instruerbare handler om at optimere strømmen i tinyLiDAR.
TL; DR opsummering
Vi har en ny "Real Time" -målingstilstand (fra firmware 1.4.0) for at hjælpe med at maksimere batterilevetid i IoT -enheder.
Klem mere juice fra batterier
Intuitivt kan vi øge driftstiden ved blot at reducere IoT -enhedernes strømforbrug. Okay, så det er indlysende! Men hvordan kan du gøre dette effektivt og korrekt beregne den forventede driftstid? Lad os finde ud af det…
Trin 1: Ren energi
Der er mange måder at gøre dette på, men vi foretrækker at bryde det ned til det grundlæggende og konvertere alt til energi. Elektrisk energi måles i Joule (symbol J) og per definition:
En Joule er den energi, der spredes som varme, når en elektrisk strøm på en ampere passerer gennem en modstand på en ohm i en periode på et sekund.
Da energi (E) også er spænding (V) x ladning (Q), har vi:
E = V x Q
Q er Aktuel (I) x tid (T):
Q = I x T
Så energi i Joules kan udtrykkes som:
E = V x I x T
hvor V er spændingen, I er strømmen i ampere og T er tiden i sekunder.
Lad os antage, at vi har en batteripakke, der består af fire AA alkaline (LR6) batterier, der er forbundet i serie. Dette vil give os en samlet startspænding på 4*1,5v = 6v. Udløbet af et alkalisk AA -batteri er ca. 1,0v, så den gennemsnitlige spænding vil være omkring 1,25v. Ifølge databladet "Fragtet kapacitet afhænger af den påførte belastning, driftstemperatur og afbrydelsesspænding." Så vi kan antage cirka 2000mAhr eller bedre for en applikation med lavt afløb, f.eks. En IoT -enhed.
Derfor kan vi beregne, at vi har 4 celler x 1,25V pr. Celle x 2000mAhr * 3600s = 36000 J energi tilgængelig fra denne batteripakke, før den skal udskiftes.
Af hensyn til enklere beregninger kan vi også antage, at konverteringseffektiviteten er 100% for vores systemregulator og ignorere værtskontrollens strømforbrug.
Et ord om cykling
Nej, ikke typen du kører på! Der er et par tekniske begreber kendt som "Power Cycling" og "Sleep Cycling". Begge kan bruges til at sænke strømforbruget, men der er en forskel mellem de to. Den første indebærer at lukke din enhed, indtil den er nødvendig, og derefter tænde den kun i kort tid for at udføre en måling osv. Selvom denne metode er fristende at bruge på grund af dens nul -strøm, er der en ulempe, hvor det vil tage nogle ikke-triviel tid til at starte op igen og forbrænde energi, mens du gør det.
Det andet koncept indebærer bare at holde enheden i dvaletilstand med håb om, at den vil vågne hurtigere, men du vil brænde en begrænset mængde strøm, mens den sover. Så hvad er bedst at bruge?
Det afhænger af, hvor ofte du skal vågne.
Trin 2: Kør numrene
Vi ønsker at finde den samlede energi (E) normaliseret til 1 sekund for hvert scenerio, der er anført nedenfor.
Sag A: Tc = 1sek; foretag en afstandsmåling hvert andet tilfælde B: Tc = 60sek; foretag en afstandsmåling hvert minut. Sag C: Tc = 3600sek; foretag en afstandsmåling hver time.
For at gøre dette kan vi sige, at Tc er cyklustiden for vores målinger, tonere den aktive tid og afbryde den inaktive tid og omarrangere vores energiformler som vist her:
For tinyLiDAR er opstartstiden cirka 300 ms eller mindre, og i løbet af denne tid vil det i gennemsnit tage 12,25 mA, mens den fungerer fra en reguleret 2,8 volt forsyning. Derfor vil den forbruge cirka 10,3 mJ energi for hver opstart.
Søvn/hvilestrøm for tinyLiDAR er et ultralavt 3uA. Dette er langt lavere end den månedlige selvafladningshastighed på 0,3% for en alkalisk batteripakke, så vi vil undersøge ved hjælp af kun "søvncyklus" -metoden her.
Hvorfor ikke undvære mikro og gå direkte til VL53 -sensoren?
Svaret på dette er ikke helt så indlysende. I de tidlige dage med smartphoneudvikling lærte vi, at det var en sikker metode til at reducere batteriets levetid at holde den energisultede højhastighedsprocessor i live for at afspille mp3'er. Allerede dengang gjorde vi alt for at bruge "applikationsprocessorer" med lavere strøm til periferiopgaver som at spille musik. Det er ikke meget anderledes i dag og faktisk kan man sige, at det er endnu vigtigere, da vi miniaturiserer alle disse IoT -enheder med hver faldende batterikapacitet. Så det er et klart aktiv for enhver batteridrevet applikation at bruge en applikationsprocessor med meget lav effekt til den eneste opgave at styre VL53-sensoren og levere data klar til videre behandling.
tinyLiDAR målemetoder
Det er muligvis ikke tydeligt i brugermanualen på dette tidspunkt [men vil være på et tidspunkt, da vi altid opdaterer vores brugermanual:)] - der er faktisk 3 forskellige målemetoder i tinyLiDAR.
MC -tilstand
Fra starten af tinyLiDAR var vi besat af at forsøge at få hurtigere målinger fra VL53 ToF -sensoren. Så vi optimerede vores firmware til at få de hurtigste og mest konsekvente streamingdata fra den. Dette indebar indførelse af buffering. Lidt buffering er en god ting, da det giver værtscontrolleren (dvs. Arduino) mulighed for hurtigt at få sine måledata og gå videre til vigtigere ting. Derfor er buffering absolut nødvendigt, og på grund af dette er vi i stand til at opnå streaminghastigheder på over 900Hz, selv på den relativt langsomme Arduino UNO. Derfor vil den hurtigste responstid være ved brug af tinyLiDAR's MC eller "kontinuerlig" tilstand.
BTW, hvis du nogensinde får en chance, skal du slutte et serielt kabel til TTY -udgangsstiften på tinyLiDAR, og du vil se, hvad denne MC -tilstand gør. Det måler bogstaveligt talt en måling så hurtigt som muligt og fylder dermed I2C -bufferen med de absolut nyeste data. Desværre, da det kører med fuld hastighed, brænder det også den maksimale mængde strøm. Se nedenfor for den aktuelle vs tid -graf for denne MC -tilstand.
SS -tilstand
Den næste tilstand er, hvad vi kalder "SS" for "enkelt trin" -tilstand. Dette er dybest set den samme højtydende tilstand ovenfor, men i stedet for i en enkelt trinløkke. Så du kan få hurtige svar fra tinyLiDAR, men data kommer fra den forrige prøve, så du bliver nødt til at tage to målinger for at få de allernyeste data. Se nedenfor for den aktuelle vs tid -graf for denne SS -tilstand.
Begge ovenstående tilstande har passet godt til regningen for de fleste brugere, da de var hurtige og nemme at bruge - bare udsted en "D" -kommando og læs resultaterne. Dog…
Fremad til IoT-verdenen, hvor hver milli-Joule tæller, har vi et nyt paradigme.
Og det er det stik modsatte af, hvad vi har kodet i tinyLiDAR! For IoT -verdenen har vi brug for enkeltmålinger med sjældne mellemrum for at spare strøm og forlænge driftstiden.
RT -tilstand
Heldigvis kan vi nu sige, at vi har en løsning til dette scenario fra firmware 1.4.0. Det kaldes "RT" -tilstand for "real -time" målinger. Og det implementerer dybest set en trigger, vent og læs metode. For at bruge det kan du stadig bare udstede "D" -kommandoen for at starte målingen, men for denne RT -tilstand skal du vente et passende stykke tid, før målingen er færdig og derefter læse resultaterne. tinyLiDAR går automatisk til sin laveste hviletilstand for sub 3uA imellem prøver. Det er faktisk stadig enkelt at bruge og endnu mere energieffektivt nu, da du kun skal tage en måling i stedet for to for at få de allernyeste data, dvs. nulbuffering.
Se nedenfor for den aktuelle vs tid -graf for denne nye RT -tilstand.
Trin 3: Faktiske målinger
Brug af MC -kontinuerlig tilstand til sjældne IoT -målinger giver lidt mening, da vi kun har brug for enkelte målinger. Derfor kan vi i stedet fokusere vores opmærksomhed på SS- og RT -tilstande. Betjening af tinyLiDAR fra en reguleret forsyning på +2,8v giver os den laveste effekttab. Så ved at bruge forudindstillingerne med høj nøjagtighed (200 ms) målte vi følgende energiforbrug på tinyLiDAR:
SS/enkelt-trin mode: 31,2 mJ i gennemsnit over 2 målinger
RT/realtidstilstand: 15,5 mJ i gennemsnit over 1 måling
Ved at tilslutte disse ovenstående værdier til vores energiformel og normalisere til et sekund kan vi finde driftstidsforventningerne under forudsætning af at energien fra vores batteripakke er 36000 J.
Case A: aflæsning hvert sekund (tag 2 aflæsninger for at få de nyeste data) Tc = 1sekTon = 210ms pr. Læsning x 2 aflæsninger Toff = Tc - Ton = 580msIon (avg) = 26,5mA pr. Aflæsning Ioff (avg) = 3uA hvilestrøm Vcc = 2,8V forsyningsspænding Aktiv energi forbrugt ved belastning i Joule er Eon = Vcc x Ion x Ton = 2,8V x 26,5mA * 420ms = 31,164mJ Inaktiv energi, der forbruges ved belastning i Joule, er Eoff = Vcc x Ioff x Toff = 2,8V x 3uA x 580ms = 4.872uJ Normalisering til TcE = (Eon + Eoff)/Tc = (31.164mJ + 4.872uJ)/1 = 31.169mJ eller 31.2mJ pr. sekund Runtime i sekunder er derfor den samlede energiforbrug af kilde/energiforbrug, som er 36000J / 31,2mJ = 1155000 sekunder = 320 timer = 13,3 dage
Når vi gentager disse beregninger, kan vi finde runtimes for de andre scenarier:
SS -tilstand
Sag A: 2 aflæsninger pr. Sekund. Normaliseret energi er 31,2 mJ. Derfor er runtime 13,3 dage.
Sag B: 2 aflæsninger pr. Minut. Normaliseret energi er 528uJ. Derfor er driftstiden 2,1 år.
Sag C: 2 aflæsninger pr. Time. Normaliseret energi er 17uJ. Kørselstid beregnes til >> 10 år, hvorfor indlæsning på grund af tinyLiDAR er ubetydelig. Batteripakken vil derfor kun blive begrænset af dets holdbarhed (dvs. ca. 5 år)
RT -tilstand
Sag A: 1 læsning pr. Sekund. Normaliseret energi er 15,5 mJ. Derfor er driftstiden 26,8 dage.
Sag B: 1 læsning pr. Minut. Normaliseret energi er 267uJ. Derfor er driftstiden 4,3 år.
Sag C: 1 Aflæsning pr. Time. Normaliseret energi er 12,7uJ. Kørselstid beregnes til >> 10 år, derfor er belastning på grund af tinyLiDAR ubetydelig. Batteripakken vil derfor kun blive begrænset af dets holdbarhed (dvs. ca. 5 år)
Derfor er den nye realtidstilstand ved hjælp af søvncykling en fordel her for at forlænge driftstiden over 4 år, hvis der foretages en måling hvert minut som vist i sag B.
Bemærk, at værtscontrollerens energiforbrug ikke blev taget i betragtning ved denne analyse, og at batteripakkens specifikationer var på den konservative side. Du kan finde meget mere kraftfulde batterier efter ønske, der passer til dine behov.
Tak fordi du læste og følg med, da vi vil levere et fungerende IoT -eksempel ved hjælp af tinyLiDAR til vores næste instruerbare. Skål!
Anbefalede:
Nem IOT - Appstyret RF Sensor Hub til mellemstore IOT -enheder: 4 trin
Easy IOT - Appstyret RF Sensor Hub til mellemstore IOT -enheder: I denne serie af selvstudier vil vi opbygge et netværk af enheder, der kan styres via et radioforbindelse fra en central hub -enhed. Fordelen ved at bruge en 433MHz seriel radioforbindelse i stedet for WIFI eller Bluetooth er den meget større rækkevidde (med god
LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin
LoRa Messenger til to enheder til afstande Op til 8 km: Tilslut projektet til din bærbare computer eller telefon, og chat derefter mellem enhederne uden internet eller SMS ved hjælp af bare LoRa.Hey, hvad sker der gutter? Akarsh her fra CETech. I dag skal vi lave et projekt, der kan forbindes til din smartphone eller en hvilken som helst
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?
12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): 6 trin
12v til USB Adapter 12v til 5v Transformer (fantastisk til biler): Dette viser dig, hvordan du laver en 12v til USB (5v) adapter. Den mest oplagte anvendelse af dette er til 12v biladaptere, men hvor som helst du har 12v kan du bruge det! Hvis du har brug for 5v til andet end USB, skal du blot springe trinene om tilføjelse af USB -porte over