Embedded

Aan algoritmes en wiskundige formules alleen heb je niets. Een product bestaat ook uit hardware. En daarvoor gelden vaak andere spelregels dan een gewone PC. Kleine apparaten hebben vaak kleine microcontrollers met weinig geheugen en beperkte rekencapaciteit. Daarom hou ik ook rekening met het eindproduct in mijn code. Het beste algoritme geeft tenslotte nog niet altijd de beste oplossing.

Naast het ontwerp van de code is automatisering van het compilatie proces meestal ook een pre. Met behulp van Matlab Coder wordt code omgezet van Matlab naar C of C++ met minimale interventie. De kans op afwijkingen is daardoor minimaal en de kwaliteit en snelheid waarmee geleverd wordt maximaal.

Algoritmes voor embedded systemen
Android data analyse

Android

Werkman Black is een voorbeeld waarbij algoritmes in Matlab ontworpen zijn die daarna via C of C++ conversie direct bruikbaar zijn in een Android applicatie .

iOs data analyse

iOs

Op dezelfde manier kan ook code gemaakt worden ten behoeve van iOs applicaties.

System on a Chip (SoC) data analyse

BLE

Maar ook nog kleiner is een optie. Projecten die draaien om kleine apparaatjes die via BLE communiceren kunnen ook voorzien worden van goede code en algoritmes.

Matlab Coder

Matlab Coder

Code moet soms op minder dan 128 kB draaien maar soms ook meer dan 60.000 regels aan C bevatten zonder vertaalfouten vanuit Matlab. Matlab Coder is mijn werkpaard voor wat vaak de laatste stap is in een project, het generen van code voor embedded applicaties.

Vermogensmeter casus.

Een klant kwam naar me toe met een hulpvraag betreffende vermogensmetingen bij fietsers en wielrenners. Er was behoefte aan een stuk software dat de juiste vermogens informatie uit ruwe krachtmetingen moest halen en de juiste informatie naar een fietscomputer zenden via BLE of ANt+. Dit alles moest werken op een klein chipje met heel weinig geheugen.

Dit project vereiste out-of-the-box denken vanwege het beperkte geheugen en rekenkracht. Door de benodigde algoritmes goed tegen het licht te houden kon het toch gemaakt worden. Het eindresultaat was een goed algoritme, dat binnen de geheugenlimieten blijft en slechts weinig batterijvermogen vergt.

Door mijn ervaring en kennis van dit project heb ik tevens geholpen met de automatisering in de productielijn van dit project. Hierbij was een van de grootste uitdagingen om testen en kalibratie-processen via onder andere Bluetooth verbindingen te automatiseren.

System on a Chip project voorbeeld (SoC)