Sulautettujen järjestelmien tehonkulutusprofiilin ymmärtämiseen kiinnitetään yhä enemmän huomiota. Esimerkiksi IoT/IIoT-anturit saattavat joutua toimimaan akkujen varassa jopa vuosia. Siksi on tärkeää tietää, kuinka pitkään laite voi säilyä lepotilassa ja kyetä silti reagoimaan nopeasti keskeytyksiin.
Artikkelin kirjoittaja Mark Patrick toimii komponenttien jakeluyhtiö Mouser Electronicsin teknisen markkinoinnin päällikkönä EMEA-alueella. |
Tässä artikkelissa tarkastellaan langattomasti verkkoon liitetyn tyypillisen laitteen energiatarpeita sekä haasteita, joita järjestelmien suunnittelijat kohtaavat mitatessaan tehonkulutusta ja yrittäessään ennustaa tarkasti akun toiminta-aikaa.
Paljonko tehoa kuluu?
Sulautettujen IoT/IIoT-järjestelmien kattavuus laajenee sekä sovellusten monimuotoisuuden että etäkäytön osalta. Sen myötä akkujen käyttämisestä verkon reunalaitteiden tehonsyöttöön on tullut normaali käytäntö. Tekniikan näkökulmasta akun hyödyntäminen on kätevä tapa syöttää tehoa järjestelmälle. Haasteena on kuitenkin selvittää, kuinka paljon akkukapasiteettia tarvitaan virransyötön ylläpitämiseksi tietyn ajan.
Yksittäiset nappikennot tarjoavat riittävästi energiaa erittäin niukasti tehoa kuluttaville antureille useiden vuosien ajaksi, mutta nekin on lopulta vaihdettava. Tästä aiheutuvat työ- ja matkakustannukset ovat suhteettoman suuret kennojen hintaan nähden, ja satojen laitteiden hallinnasta tulee kestämätöntä. Ladattava akkukenno ja erilaiset energiankeruutekniikat (esim. aurinkopaneeli) auttavat huomattavasti, mutta ne taas vaikuttavat laitteen fyysiseen kokoon.
Laitteen tehonkulutusprofiilin ymmärtämisestä tulee kriittinen mittari akun käyttöiän ja kapasiteettivaatimusten ennustamisessa. Profiili on dynaaminen mitta, joka kertoo myös tehonkulutuksen huiput ja laaksot pelkän kulutuslukeman lisäksi. Akkukemiasta riippuen jotkut akkutyypit eivät kykene toipumaan tehohuipuista yhtä nopeasti kuin toiset, joten näiden kuormitushuippujen syiden selvittäminen on ratkaisevan tärkeää.
Kun tehohuippujen ja lepotilan aikana kulkevan tyhjäkäyntivirran syyt on selvitetty, niiden pienentämiseksi voidaan hyödyntää ohjelmistotekniikoita esimerkiksi asettamalla mikro-ohjain lepotilaan tai muuttamalla tehtävien ajoitusta.
Energiankulutuksen mittaaminen
Jos langattomasti verkkoon liitetyn IIoT-anturin virrankulutusta yritetään käytön aikana mitata digitaalisella yleismittarilla, se näyttää vain keskimääräisen kulutuksen, mutta ei anna tarkkaa kuvaa koko tilanteesta. Siksi kannattaa perehtyä IoT-laitteissa tyypillisesti käytettävien mikro-ohjainten datalehtiin. Niistä saa hyvän käsityksen virrankulutuksen todellisesta toiminta-alueesta. Mikro-ohjainpiiri koostuu pääasiassa ohjainosasta (MCU) ja lähetin-vastaanottimesta, ja useimmat valmistajat antavat mahdollisuuden kytkeä piirin radiotoiminnot pois päältä erillään piirin MCU-lohkosta.
Hyvä esimerkki on Silicon Labsin piiri FR32BG22 Series 2 Bluetooth Wireless SoC. Sen suurin virrankulutus on 8,2 mA, joka esiintyy silloin, kun RF-lähetin tuottaa 6 dBm lähtötehon. Kun piiri on syvässä unitilassa (EM4), virrankulutus putoaa vain 0,17 mikroampeeriin. Näin laaja virrankulutuksen dynaaminen vaihtelu, joka voi tapahtua mikrosekunneissa, kuvaa hyvin haasteen laajuutta. Myös piirin oheislaiteliitännät ja GPIO-väylä kuluttavat tehoa käytön aikana IoT-laitteen varsinaisten toimintojen lisäksi, joten nekin on huomioitava kokonaisvaltaisen näkökulman saamiseksi.
Minkä tahansa laitteen kuluttaman virran mittaamiseen voidaan käyttää shunttivastusta, joka kytketään piiriin. Tämä pieniohminen, tyypillisesti toleranssiltaan 1% resistanssi sijoitetaan tavallisesti sulautetun järjestelmän virransyöttölinjaan. Shunttivastuksen yli vaikuttavan jännitteen mittaaminen mahdollistaa sen läpi kulkevan virran laskemisen. Sen resistanssille on löydettävissä optimaalinen arvo oikean toiminnan varmistamiseksi. Jos vastusarvo on liian suuri, se synnyttää liian suuren jännitehäviön ja alentaa mikro-ohjaimen syöttöjännitettä. Liian alhainen resistanssiarvo puolestaan vaikeuttaa hyvin pienten virtojen mittaamista.
Tehonsyötön virheenkorjauksen käsite ilmestyi ensimmäisen kerran kuvaan sulautettujen järjestelmien suunnittelussa yli kymmenen vuotta sitten. Tavanomaiset virheenkorjauksen JTAG-mittausyksiköt ovat nykyään saatavissa virtamittaustoimintojen kera. Monet suositut sulautettujen järjestelmien työkalupaketit ja IDE-kehitysympäristöt tukevat niitä, mutta tyypillisesti ne eivät tarjoa uusimpien sulautettujen järjestelmien edellyttämää laajaa dynamiikka-aluetta ja suurta mittaustarkkuutta.
Qoitech-yhtiön kehittämä Otii Arc on esimerkki mittausyksiköstä, joka vastaa yhä kasvavaan kysyntään sulautettujen järjestelmien tarkoista energiankulutuksen reaaliaikaisista mittauksista.
Reaaliaikainen virtamittaus laajalla dynamiikalla
Qoitechin kehittämä Otii Arc -laite (kuva 1) sisältää ohjelmoitavan teholähteen ja analysaattorin samassa kompaktissa yksikössä. Kattava ohjelmistosovellus tarjoaa laitteelle käyttöliittymän ja se on saatavissa kaikille suosituille käyttöjärjestelmille. Mittausyksikkö voi näyttää ja tallentaa virran reaaliaikaisesti nanoampeerin tarkkuudella ja sen suurin näytenopeus on 4 ks/s. Markkinoiden laajin dynaaminen virtamittausalue ulottuu kymmenistä nanoampeereista viiteen ampeeriin, mikä tekee yksiköstä ihanteellisen käytettäväksi minkä tahansa sulautetun järjestelmän kanssa.
Kuva 1. Qoitechin kehittämä Otii Arc on kannettava kompakti laite.
Otii Arc -yksikön syöttöteho voidaan ottaa joko USB-lähteestä tai ulkoisesta DC-lähteestä. Testattavalle laitteelle (DUT) syötettävä lähtöjännite on ohjelmoitavissa välille 0,5 – 5 VDC yhden millivoltin askelin. Mittausyksikkö kykenee antamaan jatkuvaa 2,5 ampeerin virtaa ja huippuvirta voi enimmillään olla jopa 5 A. Ulkoista teholähdettä tarvitaan, jos halutaan syöttää suurempia virtoja kuin USB-portista on saatavissa.
Otii Arcissa on UART-liitäntä, kaksi GPIO-tuloa, kaksi GPIO-lähtöä ja kaksi jännitteentunnistusnastaa. UART-liitännän avulla DUT-laitteen virheenkorjausviestit näytetään reaaliaikaisten virtamittausten rinnalla. Tämän UART-ominaisuuden avulla sulautetun järjestelmän kehittäjä voi koodissaan korostaa tehtäviä tai tarkkailupisteitä osoittamaan tiettyjä sovellustoimintoja. UART-viestit mahdollistavat sovelluskoodin synkronoinnin reaaliaikaisiin virtamittauksiin. Esimerkki tästä nähdään kuvassa 2.
Kuva 2. UART-virheenkorjausviestien synkronointi Otii Arc -mittausyksikön reaaliaikaisten virtamittausten kanssa.
Otii Arc -ohjelmisto mahdollistaa reaaliaikaisten mittausjaksojen tallennuksen ja varastoinnin. Tämä ominaisuus on erityisen kätevä vertailtaessa koodin tai laitteiston parannusten vaikutuksia sulautetun järjestelmän toimintaan kehitystyön protovaiheessa. GPIO-nastat mahdollistavat DUT-laitteen tilanastojen näkymisen mittausyksikön näytöllä reaaliajassa, mikä entisestään auttaa virheenkorjausprosessia.
Tunnistusnastat mahdollistavat DUT-laitteen muiden tehonsyöttölinjojen mittaamisen tai helpottavat pääteholähteen jännitteen nelijohtimista valvontaa. Mittausyksikössä on myös ohjelmoitava virtakuorma akun purkamisen helpottamiseksi ja sen profiilin tallentamiseksi. Otii Arc voi sen jälkeen emuloida tallennettua akkuprofiilia päälähtöjännitteellään. Näiden ominaisuuksien käyttämiseen tarvitaan Otii-akkutyökalupaketin ohjelmistolisenssi, joka on saatavissa optiona.
Kuvassa 3 nähdään CR2032-nappikenno, joka on liitetty Otii Arciin akun purkautumisen profilointia varten. Akun testausprofiilin asetukset nähdään kuvassa 4. Käyttäjä voi asettaa virtakuorman voimakkuuden ja kestoajan suureksi tai pieneksi. Myös iteraatiokierrosten toistomäärä voidaan asettaa halutuksi.
Kuva 3. Otii Arc -mittausyksikköön kiinnitetty CR2032-nappiparisto purkautumisen profilointia varten.
Kuva 4. CR2032-nappikennon profilointiasetukset.
Kuvan 4 profilointiasetuksissa korkean virran asetusarvo on 40 mA ja alhaisen virran arvo 100 µA. Kullekin virta-alueelle asetettu aika ja toistojaksojen määrä vastaavat 30 päivän pituista purkausjaksoa.
Otii Arc -yksikön avulla sulautetun järjestelmän kehittäjä voi nopeasti tutkia, kuinka paljon kehitetty prototyyppi kuluttaa tehoa ja missä vaiheessa. Mikro-ohjaimen lepotilan manipuloinnin ja oheislaitteiden toimintojen sammuttamisen lisäksi yksikkö antaa mahdollisuuden myös muiden tehonsäästöideoiden tutkimiseen.
Hyvä esimerkki on langattomassa tiedonsiirrossa käytettävä protokolla. Useimpien verkon reunalla toimivien langattomien IoT-anturien tarvitsee välittää vain hyvin vähän dataa, esimerkiksi lämpötila- ja kosteuslukemia 15 minuutin välein. Joidenkin langattoman datansiirron protokollien, verkkoreititysten ja tietoturvamenettelyjen luonteena kuitenkin on, että esimerkiksi 40 tavua dataa sisältävä viesti voi helposti kasvaa useiden kilotavujen kokoiseksi.
Qoitech-yhtiön laatima tekninen dokumentti osoittaa, kuinka langattoman protokollan valinta vaikuttaa energiankulutukseen. Kuvan 5 yhteenveto havainnollistaa tuloksia testisarjasta, joka on tehty käyttäen langatonta NB-IoT-moduulia eri protokollilla ja suojausasetuksilla.
Kuva 5. Vertailu eri datansiirtoprotokollien vaikutuksista energiankulutukseen.
Tehonkulutus nopeasti selville
Sulautetun IoT-järjestelmän akun käyttöajan määrittäminen on hyvin ongelmallista. Ilman kulutetun energian tarkkaa mittaamista akun ennustettu käyttöaika on parhaimmillaankin vain arvio.
Langattomaan datansiirtoon tarkoitettujen SoC-piirien datalehdet antavat hyvän kuvan tilanteesta, mutta ne eivät ota huomioon esimerkiksi langattoman linkin muodostamisen ja datan lähettämisen dynaamista luonnetta. Tehonkulutuksen huiput vaikuttavat myös akun pitkän aikavälin suorituskykyyn, joten kyky mallintaa todennäköistä käyttäytymistä tulee korvaamattoman tärkeäksi.
Qoitechin nopeatoiminen Otii Arc -laite, joka on nyt saatavissa Mouserin jakelukanavista, kykenee ohjaamaan kohteen tehonjakelua, analysoimaan energiankulutusta reaaliajassa ja synkronoimaan virheenkorjauskoodia samassa kompaktissa yksikössä. Siitä on tulossa korvaamaton väline kenen tahansa kehittäjän työpöydälle.