
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Ja paskatīsities apkārt, pamanīsit, ka ikdienas dzīvē tiek izmantotas daudzas gudras ierīces. Tie parasti tiek darbināti ar baterijām un parasti ir kaut kādā veidā savienoti ar internetu (pazīstami arī kā “mākonis”). Tās visas ir tās, ko mēs saucam par “IoT” ierīcēm, un mūsdienās tās ātri kļūst par ierastu vietu pasaulē.
IoT sistēmu inženieriem daudz projektēšanas tiek tērēts, lai optimizētu enerģijas patēriņu. Tas, protams, ir saistīts ar ierobežoto akumulatoru ietilpību. Bateriju nomaiņa lielos daudzumos attālos rajonos var būt ļoti dārgs piedāvājums.
Tātad šī pamācība ir paredzēta jaudas optimizēšanai tinyLiDAR.
TL; DR kopsavilkums
Mums ir jauns “reālā laika” mērīšanas režīms (sākot ar programmaparatūru 1.4.0), lai palīdzētu maksimāli palielināt akumulatora darbības laiku IoT ierīcēs.
Vairāk sulas izspiešana no baterijām
Intuitīvi mēs varam palielināt darbības laiku, vienkārši samazinot IoT ierīču enerģijas patēriņu. Labi, tas ir skaidrs! Bet kā jūs varat to izdarīt efektīvi un pareizi aprēķināt paredzamo darbības laiku? Noskaidrosim…
1. solis: tīra enerģija
Ir daudz veidu, kā to izdarīt, bet mēs izvēlamies to sadalīt līdz pamatiem un visu pārvērst enerģijā. Elektrisko enerģiju mēra džoulos (simbols J) un pēc definīcijas:
Džouls ir enerģija, kas tiek izkliedēta kā siltums, kad viena pastiprinātāja elektriskā strāva vienu sekundi iziet cauri vienas omas pretestībai.
Tā kā enerģija (E) ir arī spriegums (V) x lādiņš (Q), mums ir:
E = V x Q
Q ir pašreizējais (I) x laiks (T):
Q = I x T
Tātad enerģiju džoulos var izteikt šādi:
E = V x I x T
kur V ir spriegums, I ir strāva ampēros un T ir laiks sekundēs.
Pieņemsim, ka mums ir akumulators, kas sastāv no četrām sērijveidā savienotām AA sārma (LR6) baterijām. Tas mums dos kopējo sākuma spriegumu 4*1,5v = 6v. AA sārma baterijas kalpošanas laiks ir aptuveni 1,0 v, tāpēc vidējais spriegums būtu aptuveni 1,25 V. Saskaņā ar mfr datu lapu "Piegādātā jauda ir atkarīga no pielietotās slodzes, darba temperatūras un izslēgšanas sprieguma." Tātad mēs varam pieņemt aptuveni 2000 mAh vai labāk, ja lietojumprogramma ar zemu aizplūšanu, piemēram, IoT ierīce.
Tāpēc mēs varam aprēķināt, ka mums ir 4 šūnas x 1,25 V uz vienu šūnu x 2000 mAh * 3600 sekundes = 36000 J enerģijas, kas pieejama no šī akumulatora, pirms tā ir jānomaina.
Vienkāršāku aprēķinu dēļ mēs varam arī pieņemt, ka mūsu sistēmas regulatoram konversijas efektivitāte ir 100%, un ignorēt resursdatora kontrollera enerģijas patēriņu.
Vārds par riteņbraukšanu
Nē, ne tas tips, ar kuru brauc! Ir daži tehniski jēdzieni, kas pazīstami kā "Power Cycling" un "Sleep Cycling". Abus var izmantot, lai samazinātu enerģijas patēriņu, taču starp tiem ir atšķirība. Pirmais ietver ierīces izslēgšanu, līdz tā ir nepieciešama, un pēc tam ieslēgšanu tikai uz īsu laiku, lai veiktu mērījumus utt. Lai gan šī metode ir vilinoša, jo to izmanto nulles izslēgšanas strāvas dēļ, ir trūkums, kas prasīs zināmu laiku. nav mazsvarīgs laiks, lai sāktu dublēšanu un sadedzinātu enerģiju.
Otrais jēdziens ietver tikai ierīces saglabāšanu miega režīmā, cerot, ka tā pamodīsies ātrāk, bet miega laikā jūs sadedzināsit ierobežotu strāvas daudzumu. Tātad, kuru vislabāk izmantot?
Tas ir atkarīgs no tā, cik bieži vajag pamosties.
2. solis: palaidiet numurus
Mēs vēlamies atrast kopējo enerģiju (E), kas normalizēta līdz 1 sekundei katram zemāk uzskaitītajam scenārijam.
A gadījums: Tc = 1sec; veiciet attāluma mērījumus katru otro gadījumu B gadījums: Tc = 60 sekundes; mēriet attālumu katru minūti. Lieta C: Tc = 3600sek; veiciet attāluma mērījumus katru stundu.
Lai to izdarītu, mēs varam teikt, ka Tc ir mūsu mērījumu cikla laiks, ton aktīvais laiks un neaktīvā laika izslēgšana un pārkārto mūsu enerģijas formulas, kā parādīts šeit:

TinyLiDAR palaišanas laiks ir aptuveni 300 ms vai mazāk, un šajā laikā tas aizņems vidēji 12,25 mA, strādājot no regulēta 2,8 V barošanas avota. Tādējādi katrai palaišanai tas patērēs aptuveni 10,3 mJ enerģijas.
Miega/klusuma strāva tinyLiDAR ir īpaši zema 3uA. Tas ir daudz zemāks par sārma akumulatora komplekta pašizlādes ātrumu 0,3% mēnesī, tāpēc mēs izpētīsim, izmantojot tikai "miega cikla" metodi.
Kāpēc neatteikties no mikro un doties tieši pie VL53 sensora?
Atbilde uz šo jautājumu nav tik acīmredzama. Viedtālruņu izstrādes pirmajās dienās mēs uzzinājām, ka jaudas izsalkušā ātrgaitas procesora saglabāšana dzīvā, lai atskaņotu mp3, bija droša metode, lai samazinātu akumulatora darbības laiku. Jau toreiz mēs darījām visu iespējamo, lai perifērijas pienākumos, piemēram, mūzikas atskaņošanā, izmantotu mazjaudas “lietojumprogrammu procesorus”. Mūsdienās tas nav daudz atšķirīgs, un patiesībā jūs varētu teikt, ka tas ir vēl svarīgāk, jo mēs miniaturizējam visas šīs IoT ierīces ar katru akumulatora jaudas samazināšanos. Tāpēc īpaši mazjaudas lietojumprogrammu procesora izmantošana vienīgajam uzdevumam kontrolēt VL53 sensoru un nodrošināt datus, kas ir gatavi turpmākai apstrādei, ir neapšaubāma priekšrocība jebkurai lietojumprogrammai, kas darbojas ar akumulatoru.
tinyLiDAR mērīšanas režīmi
Iespējams, ka lietotāja rokasgrāmatā tas pašlaik nav skaidrs [bet tas būs kādā brīdī, jo mēs vienmēr atjauninām savu lietotāja rokasgrāmatu:)] - tinyLiDAR faktiski ir 3 dažādi mērīšanas režīmi.
MC režīms
Kopš tinyLiDAR pirmsākumiem mēs bijām apsēsti ar mēģinājumiem iegūt ātrākus mērījumus no VL53 ToF sensora. Tāpēc mēs optimizējām savu programmaparatūru, lai no tās iegūtu visātrākos un konsekventākos straumēšanas datus. Tas ietvēra buferizācijas ieviešanu. Neliela buferizācija ir laba lieta, jo tā ļauj saimniekdatoram (ti, Arduino) ātri iegūt mērījumu datus un pāriet uz svarīgākām lietām. Tāpēc buferizācija ir absolūti nepieciešama, un tāpēc mēs varam sasniegt straumēšanas ātrumu, kas pārsniedz 900 Hz, pat salīdzinoši lēnajā Arduino UNO. Tādējādi ātrākais reakcijas laiks būs, izmantojot tinyLiDAR MC vai "nepārtrauktu" režīmu.
BTW, ja jums kādreiz rodas iespēja, jums jāpievieno seriālais kabelis TTY izejas tapai tinyLiDAR, un jūs redzēsit, ko dara šis MC režīms. Tas burtiski veic mērījumus pēc iespējas ātrāk, un, to darot, tas aizpilda savu I2C buferi ar absolūtajiem jaunākajiem datiem. Diemžēl, tā kā tas darbojas pilnā ātrumā, tas arī sadedzina maksimālo jaudu. Šī MC režīma pašreizējā un laika grafiku skatiet tālāk.

SS režīms
Nākamais režīms ir tas, ko mēs saucam par "SS" "viena soļa" režīmam. Tas būtībā ir tāds pats augstas veiktspējas režīms iepriekš, bet vienā pakāpē. Tātad jūs varat saņemt ātras atbildes no tinyLiDAR, bet dati būs no iepriekšējā parauga, tāpēc, lai iegūtu jaunākos datus, jums būs jāveic divi mērījumi. Šī SS režīma pašreizējā un laika grafiku skatiet zemāk.

Abi iepriekš minētie režīmi ir lieliski piemēroti rēķinam lielākajai daļai lietotāju, jo tie bija ātri un vienkārši lietojami - vienkārši izdodiet komandu "D" un izlasiet rezultātus. Tomēr…
Virzoties uz IoT pasauli, kur katrs mili-Joule ir svarīgs, mums ir jauna paradigma.
Un tas ir tieši pretēji tam, ko esam iekodējuši tinyLiDAR! IoT pasaulei mums ir nepieciešami atsevišķi mērījumi retos intervālos, lai taupītu enerģiju un pagarinātu darbības laiku.
RT režīms
Par laimi, tagad mēs varam teikt, ka mums ir risinājums šim scenārijam kā programmaparatūrai 1.4.0. To sauc par "RT" režīmu "reālā laika" mērījumiem. Un tas būtībā īsteno sprūda, gaidīšanas un lasīšanas metodi. Lai to izmantotu, jūs joprojām varat vienkārši izdot komandu "D", lai sāktu mērīšanu, taču šim RT režīmam jāgaida atbilstošs laiks, līdz mērījums tiks pabeigts, un pēc tam jālasa rezultāti. tinyLiDAR automātiski pāriet zemākajā miera stāvoklī, kas ir zemāks par 3uA starp paraugiem. Patiesībā tas joprojām ir vienkārši lietojams un pat energoefektīvāks, jo, lai iegūtu jaunākos datus, ti, jāveic tikai viens mērījums, nevis divi, t.i., buferizācija.
Šī jaunā RT režīma pašreizējā un laika grafiku skatiet zemāk.

3. darbība: faktiskie mērījumi
MC nepārtrauktā režīma izmantošana retiem IoT mērījumiem nav jēgas, jo mums ir nepieciešami tikai atsevišķi mērījumi. Tādējādi mēs varam koncentrēt savu uzmanību uz SS un RT režīmiem. Izmantojot tinyLiDAR no regulēta barošanas avota +2,8 V, mēs nodrošinām viszemāko enerģijas izkliedi. Tātad, izmantojot augstas precizitātes (200 ms) sākotnējos iestatījumus, mēs izmērījām šādu enerģijas patēriņu tinyLiDAR:
SS/viena soļa režīms: 31,2 mJ vidēji 2 mērījumos
RT/reālā laika režīms: vidēji 15,5 mJ 1 mērījuma laikā
Pievienojot šīs iepriekš minētās vērtības mūsu enerģijas formulai un normalizējot līdz vienai sekundei, mēs varam atrast ekspluatācijas laika cerības, pieņemot, ka mūsu akumulatora enerģija ir 36000 J.
A gadījums: lasīšana katru sekundi (lai iegūtu jaunākos datus, veiciet 2 rādījumus) 2.8V barošanas spriegums Aktīvā enerģija, ko slodze patērē džoulos, ir Eon = Vcc x Ion x Ton = 2.8V x 26.5mA * 420ms = 31.164mJ Neaktīvā enerģija, ko patērē slodze džoulos, ir Eoff = Vcc x Ioff x Toff = 2.8V x 3uA x 580ms = 4.872uJ Normalizēšana līdz TcE = (Eon + Eoff)/Tc = (31.164mJ + 4.872uJ)/1 = 31.169mJ vai 31.2mJ sekundē Izpildlaiks sekundēs ir kopējā avota/patērētās enerģijas enerģija, kas ir 36000J / 31,2 mJ = 1155000 sekundes = 320 stundas = 13,3 dienas
Atkārtojot šos aprēķinus, mēs varam atrast citu scenāriju izpildes laiku:
SS režīms
A gadījums: 2 rādījumi sekundē. Normalizētā enerģija ir 31,2mJ. Tāpēc darbības laiks ir 13,3 dienas.
B gadījums: 2 rādījumi minūtē. Normalizētā enerģija ir 528uJ. Tāpēc darbības laiks ir 2,1 gads.
C gadījums: 2 rādījumi stundā. Normalizētā enerģija ir 17uJ. Izpildlaiks tiek aprēķināts >> 10 gados, tāpēc tinyLiDAR dēļ slodze ir niecīga. Tāpēc akumulatora bloku ierobežo tikai tā glabāšanas laiks (t.i., apmēram 5 gadi)
RT režīms
A gadījums: 1 lasījums sekundē. Normalizētā enerģija ir 15,5 mJ. Tāpēc darbības laiks ir 26,8 dienas.
B gadījums: 1 lasījums minūtē. Normalizētā enerģija ir 267uJ. Tāpēc darbības laiks ir 4,3 gadi.
C gadījums: 1 lasījums stundā. Normalizētā enerģija ir 12,7uJ. Izpildlaiks tiek aprēķināts >> 10 gados, tāpēc tinyLiDAR dēļ slodze ir niecīga. Tāpēc akumulatora bloku ierobežos tikai tā glabāšanas laiks (t.i., apmēram 5 gadi)
Tādējādi jaunais reālā laika režīms, kas izmanto miega ciklus, ir ieguvums, lai pagarinātu darbības laiku pēdējos 4 gadus, ja katru minūti tiek veikts viens mērījums, kā parādīts B gadījumā.
Ņemiet vērā, ka šai analīzei netika ņemts vērā saimniekdatora enerģijas patēriņš un akumulatora bloka specifikācijas bija konservatīvas. Jūs varat atrast daudz jaudīgākas baterijas pēc jūsu vēlmēm.
Paldies, ka lasījāt un sekojiet līdzi, jo mēs sniegsim funkcionējošu IoT piemēru, izmantojot tinyLiDAR mūsu nākamajai pamācībai. Priekā!
Ieteicams:
Easy IOT - lietotņu kontrolēts RF sensora centrs vidēja darbības diapazona IOT ierīcēm: 4 soļi

Easy IOT - lietotņu kontrolēts RF sensoru centrmezgls vidēja darbības diapazona IOT ierīcēm: šajā apmācību sērijā mēs izveidosim ierīču tīklu, ko var vadīt, izmantojot radio saiti no centrālās centrmezgla ierīces. Ieguvums no 433MHz seriālā radio savienojuma izmantošanas WIFI vai Bluetooth vietā ir daudz lielāks diapazons (ar labu
CircuitPython un TinyLiDAR: vienkāršs piemērs: 3 soļi

CircuitPython un TinyLiDAR: vienkāršs piemērs: MicroElectronicDesign tinyLiDAR ir uz ST VL53L0X balstīts lidojuma laika (ToF) diapazona modulis ar i2c kopnes savienojumu. Adafruit mikrokontrolleru plates ir viegli savienojamas ar šo sensoru, jo tās var runāt par i2c protokolu, izmantojot savu datu tapu
TinyLiDAR jūsu garāžā!: 10 soļi

TinyLiDAR jūsu garāžā!: DIY WiFi garāžas durvju atvēršanas projekts Tā ir tik liela iespēja! Tāpēc šī pamācības dēļ es
Vai es varu izmantot TinyLiDAR Scratch ?: 3 soļi

Vai es varu izmantot TinyLiDAR … Scratch ?: Ik pa laikam mēs saņemam pieprasījumus, lai pajautātu, vai tinyLiDAR strādās pie konkrētās skaitļošanas platformas. Lai gan tinyLiDAR tika izstrādāts kā vienkārši lietojams LiDAR sensors Arduino UNO, nekas netraucē to izmantot uz citas plates
TinyLiDAR uz Pi?: 9 soļi (ar attēliem)

TinyLiDAR uz Pi?: Sveiki vēlreiz! Nu, tagad, kad esat pavadījis kvalitatīvu laiku ar tinyLiDAR un savu Arduino - jūsu Raspberry Pi varbūt jūtas mazliet vientuļš;) Pi ir I2C ports, vai ne? Tātad, kāpēc ne savienot to un izmēģināt to tur ?! Labs plāns, bet, ja jūs jau esat izmēģinājis