Uitdaging: “Maak in 3 dagen een Proof of Concept voor het voorkomen van fouten van een lopende bandaandrijving” : Preditive Analysis en Anomaly Detection – Sensoring & Arduino TensorFlowLite & PowerBI Dashboard

16 februari 2022

Deze uitdaging ging ik graag aan: maak in 3 werkdagen een Proof Of Concept waarin een mooie samengang van analoge en digitale elektronica gekoppeld wordt aan embedded computing, machine learning en betekenisvolle dashboards.

Het combineren van sensordata, verwerking met Tiny Machine Learning in TensorFlowLite en weergave van de resultaten ervan in PowerBI leidt binnen mijn klantenkring regelmatig tot nieuwe mogelijkheden in het reduceren van fouten door anomaly detection en predictive maintenance. Zo kan de impact van afwijking in productiesnelheid of kwaliteit direct inzichtelijk worden gemaakt in relatie tot beschikbare voorraad, doorloopsnelheid, verkoopprognose en financiƫle kentallen als rentabiliteit.

Door het trainen van een neural network, het implementeren van een het getrainde algoritme in een embedded computer en vervolgens het realtime meten van sensorwaarden kan proactief besloten worden kritische onderdelen te vervangen. Voor het trainen van de TensorflowLite omgeving gebruik ik EdgeImpulse waarin met behulp van classified sensorwaarden een bepaalde werking of handeling van een machine herkend wordt. Door gebruik te maken van een ruime set aan samples wordt de embedded computer getraind in het herkennen van afwijkingen in trillingen, vibraties, geluid, verbruikt vermogen of andere uitgelezen sensorwaarden.

Voor deze POC heb ik gebruik gemaakt van de LSM9DS1 Inertial Module (IMU sensor) waarmee ik trillingen meet. Door de IMU sensor te plaatsen bij de motor van de lopende band worden trillingen met voldoende dynamiek geregistreerd. Vervolgens heb ik 24 minuten aan sample data verzameld welke vier classes representeren: starten, accelereren, stationair draaien en stoppen. De verzamelde sample data heb ik in EdgeImpulse verwerkt tot een getraind model. Nog voor de in gebruikstelling heb ik het getrainde model getoetst op nauwkeurigheid en voorspelbaarheid en waar mogelijk geoptimaliseerd.

Voor de POC gebruik ik een NeoPixel die een statusindicatie aangeeft. Op de GPIO input/output van de Arduino Nano 33 BLE Sense poorten kunnen uiteraard ook lampen, actuators en maar bijvoorbeeld ook PLCs of relais worden aangesloten. Met behulp van http requests en MQTT pushes worden web enabled API’s aangesproken, waarmee externe processen worden aangestuurd. Een van deze processen is verzamelen van data voor dashboard weergave in Microsoft PowerBI.

De kracht van het weergeven in Microsoft PowerBI ligt in de mogelijkheden tot het koppelen van resultaten met andere databronnen. Naast de krachtige PIBX scripting voor geavanceerde datakoppeling en analyses, biedt een dashboard tool als PowerBI tevens de mogelijkheid om met rollenbeheer op gebruikerstype toegang te geven tot geselecteerde data-elementen.