Door internet-of-things zou het aantal apparaatjes met batterij wel eens tot gigantische aantallen kunnen toenemen, met gevolgen voor het milieu van dien. We spraken met Przemyslaw Pawelczak en Vito Kortbeek van de TU Delft over de oplossing: batterijloze elektronica.
Van industriële toepassingen, gezondheidszorg en landbouw tot slimme huizen en smart cities, de verwachting is dat met internet verbonden apparaten voorzien van sensoren overal om ons heen gaan verschijnen. Over hoeveel apparaten we het dan hebben, daarover verschillen de meningen. Schattingen over de toename van het aantal internet-of-things-apparaten lopen uiteen van 25 tot 500 miljard tegen 2030. Hoe het ook zij, al die apparaten moeten ons leven makkelijker maken, maar er is een keerzijde bij dergelijke aantallen. Iot-apparaten beschikken vrijwel altijd over batterijtjes en als die niet goed verwijderd en gerecycled worden aan het eind van de levenscyclus van de elektronica, kon dat wel eens tot flinke milieuvervuiling leiden.
:fill(white):strip_exif()/i/2004620488.jpeg?f=imagemedium)
Dat voorkomen, was een van de drijfveren van Przemyslaw Pawelczak. Hij is assistant professor van de Embedded and Networked Systems Group aan de TU Delft en al jaren bezig met onderzoek naar een duurzamer, minder vervuilend internet-of-things. Elektronica batterijloos maken, lijkt niet zo moeilijk, ook niet bij internet-of-things, waarbij de apparaten vaak zonder aansluiting op het elektriciteitsnet moeten kunnen functioneren.
Die kunnen immers werken op omgevingsenergie, zoals zonne-energie, kinetische energie en thermische energie. Een beetje zonnepaneel is al voldoende om kleine sensorapparaatjes van stroom te voorzien, klaar. Maar zo makkelijk is dat niet, vertellen Pawelczak en Vito Kortbeek, promovendus in Pawelczak’s groep. Kortbeek: "Ook met een zonnepaneel werkt een systeem alleen als er stroom is. Hoeveel energie er beschikbaar is, hangt af van de omstandigheden zoals de aanwezigheid van zonlicht. Zoiets is onvoorspelbaar. Als je niks speciaals doet, start zo'n systeem telkens helemaal opnieuw op als er geen energie is en gaat er werk verloren, net als bij je pc als die plotsklaps uitvalt. De moeilijkheid zit hem in doorgaan waar je was." Het vakgebied dat zich hiermee bezighoudt is intermittent computing, rekentaken door systemen die met tussenpozen moeten kunnen functioneren en waarbij de uitvoering door reboots wordt gescheiden.
De condensator als buffer
Apparaten hebben batterijen nodig om de tijd bij te houden en de juiste tijd is vereist voor correcte werking van software. Zo moet een apparaat na een herstart weten waar het op welk moment was gebleven om de draad weer op te pakken. Haal de batterij weg en onderbrekingen worden een probleem. Laat nu juist bij iot-apparaten die stroom betrekken van omgevingsenergie, het risico op onderbreking groot zijn. Simpelweg het toevoegen van een realtime klok zonder batterij alleen is niet voldoende, vanwege de relatief lange opstarttijd van deze klok-elektronica.
Elektronica zonder batterij moet het hebben van energieopslag in condensatoren. Kortbeek: "Die dienen als buffer. Condensatoren zijn veel minder vervuilend voor het milieu dan lithium-ion-batterijen. Ook gaan ze veel langer mee door de andere opbouw." Een nadeel is dat die slechts een fractie kunnen opslaan van een batterij. Het gevolg is dat korte cycli kunnen ontstaan met herstarten van het apparaat als een zonnepaneel genoeg stroom levert, en uitval als de hoeveelheid onder een bepaalde hoeveelheid komt. Dit kan meerdere reboots per seconde en daarmee zogenoemde write-after-read- en time-based violations opleveren .
Pawelczak en zijn teamleden bij de TU Delft en de Northwestern University onderzochten daarom in de voorgaande jaren methodes om de software op andere manieren bewust te maken van de tijd. Zo'n methode ontwikkelden ze in de vorm van het Time-sensitive Intermittent Computing System, een framework dat werkt met checkpunten die weggeschreven worden naar non-volatiel werkgeheugen zoals fram en daarbij duidelijk maakt aan software hoe het om moet gaan met die checkpoints. Daarbij ontwikkelden ze ook hardware, die veertig keer sneller start dan realtime klokken, even zuinig is en een hogere resolutie biedt.
Om aan te tonen wat er mogelijk is met de ontwikkelde hardware en software voor batteryless intermittent computing, ontwikkelden de onderzoekers vorig jaar het spelplatform Engage. Dit is een draagbare spelcomputer die lijkt op de Game Boy en die gebruikmaakt van energie van enkele zonnepaneeltjes aangevuld met de kinetische energie die de gebruiker genereert met het indrukken van de knoppen. De Engage valt door zijn afhankelijkheid van die energie en de opslag in condensatoren regelmatig uit. Voor elke tien seconden die je aan het spelen bent, is er zo'n seconde aan spelonderbreking. Zodra er weer energie is, kan de speler dankzij de checkpoints direct verder spelen vanaf het exacte moment dat de spelcomputer uitviel, zonder dat daarvoor dus een batterij aanwezig is.
Dat medewerkers en studenten aan de universiteit aan zulke projecten werken is natuurlijk leuk, maar echte impact zouden ze alleen maken als ook de gemeenschap van makers met batterijloze elektronische apparaten op basis van omgevingsenergie in de weer zou gaan. Pawelczak en collega's hebben daarom een do-it-yourself-pakket samengesteld, met de naam BFree.
Weerstation met zonnepaneeltje
Ze hopen het maken van elektronica zonder batterij, zoals 'eeuwigwerkende' sensoren op zonne-energie, zo veel toegankelijker te maken voor ontwerpers, hobbyisten en programmeurs. Pawelczak: "We willen de elektronica-hobbyisten bewust maken van het feit dat een batterij niet noodzakelijk is. We richten ons daarbij op iot-applicaties voor bepaalde taken die in theorie oneindig moeten kunnen werken. We hopen dat eindgebruikers dit gaan testen en ontdekken wat de gebruikersscenario's kunnen zijn en waar de beperkingen liggen." Een toepassing die ze zelf bedacht hebben is het maken van een weerstation met zonnepaneeltje, vult Kortbeek aan: "Voor als je als gebruiker niet wilt dat je batterij tussen je bloemen belandt." De onderzoekers richten zich nog niet op elektronica met hoger verbruik, al zou in theorie het gebruik van meerdere geschakelde condensatoren mogelijk zijn.
Wie zelf aan de slag wil heeft vijf dingen nodig, is de belofte: een Adafruit Metro M0 Express-computingbord, een BFree-shield met nvm-controllersoftware, een build van BFree-core, een interpreter op basis van CircuitPython, een klein zonnepaneeltje of andere technologie voor omgevingsenergie en een condensator die als buffer dient. Basiskennis van Python zou voldoende zijn om met BFree aan de slag te kunnen gaan. Alles bij elkaar zou een gebruiker enkele tientjes kwijt zijn om met BFree aan de slag te kunnen. Bestaande Python-projecten zouden moeten werken door de interpreter. Kortbeek benadrukt wel dat het een onderzoeksproject is en dat er dus nog bugs aanwezig kunnen zijn.
De BFree-shield met zonnepaneeltje wordt op het Adafruit-bordje geplaatst, voorzien van de condensator. De BFree-software interpreteert Python-programma’s voor werking op batterijloze technologie en gebruikers zouden hier dan ook geen omkijken naar hebben. De software bepaalt daarvoor wanneer de checkpoint-snapshots aangemaakt moeten worden. Volgens Kortbeek kunnen gebruikers handmatig ook zelf instellen binnen welke periodes checkpoints weggeschreven moeten worden, afhankelijk van gebruikersscenario's en op welke momenten hoeveel energie vereist is voor de toepassing. Ze kunnen daarvoor de voltagetriggers in de Python-library aanpassen. Die snapshots bestaan uit de staat van het programma en gekoppelde accessoires en de waarde van variabelen. De interpreter slaat ze op in het fram op de BFree Shield. Als een diy-project stroom kwijtraakt en herstart als er weer even voldoende energie is, werkt deze verder op basis van het laatste checkpoint dat weggeschreven is.
/i/2004620496.png?f=imagenormal)
checkpointdata (data uit volatiel geheugen en registerwaarden) via de SPI-bus naar de BFree-shield.
Voor CircuitPython is gekozen omdat deze door Adafruit gesteunde afgeleide van MicroPython eenvoudig in gebruik is. Het platform is vooralsnog gericht op de Adafruit Metro M0 Express met ARM Cortex M0 en niet op andere platformen, maar volgens Pawelczak en Kortbeek is dit een populair computingbord voor iot-toepassingen.
Een beperking van het BFree-platform is dat instellingen van gekoppelde onderdelen zoals sensoren niet meegenomen worden bij de checkpoints. Die initialisatie van de configuratie moet de gebruiker nog wel zelf programmeren. De hoeveelheid fram is volgens Kortbeek geen beperking: voor de opslag van de checkpoints en overige data is slechts 64KB vereist, waar de BFree-shield over 256KB kan beschikken. Dit opent wel mogelijkheden om te experimenteren met geavanceerdere checkpointmechanismen. Daarnaast denken de onderzoekers na over shields met meerdere sensoren en emulatoren voor energy harvesting om de prestaties van de applicatie te testen. Bovenal hopen ze dat de makergemeenschap met killer-applicaties komt die ze zelf nog niet voorzien hebben.
Pawelczak denkt dat de door het team ontwikkelde technologie van invloed kan worden op het ontwerp van komende generaties apparaten en een internet-of-things mogelijk maakt dat schaalbaarder is dan nu het geval is: "De toekomst van iot is batterijloos."
De onderzoekers hebben de schematische tekeningen van de shield vrijgegeven en alle code staat op GitHub. Ze presenteren hun werk op UbiComp 2021, een evenement op het gebied van ubiquitous computing. Meer details staan in het onderzoekspaper BFree: Enabling Battery-free Sensor Prototyping with Python.