Zestaw startowy STEVAL-WESU1 to ubieralny – jego obudowa ma formę zegarka! – sensor MEMS 10DoF zintegrowany z czujnikami ciśnienia i temperatury oraz interfejsem Bluteooth Low Energy (BLE). Urządzenie jest zasilane z miniaturowego akumulatora zainstalowanego w efektownej obudowie zegarkowej. Dzięki interfejsowi BLE zestaw może komunikować się z aplikacją uruchomioną na smartfonie lub tablecie z Androidem lub iOS, za której pomocą można rejestrować dane z czujników oraz je analizować, rejestrując zachowanie osoby noszącej STEVAL-WESU1. Przed rozpoczęciem zabawy zestaw trzeba mechanicznie zmontować, bowiem jego poszczególne elementy są dostarczane osobno (fotografia 1). Na szczęście zadanie to nie wymaga specjalnego treningu, poradzi sobie z nim średnio uzdolniony gimnazjalista.
Schemat blokowy zestawu STEVAL-WESU1 pokazano na rysunku 2. Na miniaturowej płytce drukowanej (jej widok pokazano na fotografii 3) zintegrowano mikrokontroler STM32L151VEY6 (z energooszczędnej rodziny STM32L1, Cortex-M3 @32MHz, z 512 kB Flash, 80 kB RAM oraz 16 kB EEPROM) oraz dwa sensory MEMS: LSM6DS3 – integrujący akcelerometr 3D oraz żyroskop 3D i LIS3MDL – 3-osiowy czujnik pola magnetycznego. Użytkownik ma także do dyspozycji czujnik ciśnienia LPS25HB (wykonany w technologii MEMS), w którym znajduje się także czujnik temperatury.
Wbudowany w zestaw interfejs radiowy BLE został wykonany na miniaturowym układzie BlueNRG-MS, a w jego torze antenowym zastosowano scalony filtr harmonicznych zintegrowany z symetryzatorem (balun antenowy – BALF-NRG-01D3), który został opracowany prze producenta specjalnie do współpracy z układem BlueNRG-MS.
W prezentowanym zestawie użyto także dwa inne, interesujące dla konstruktorów urządzeń mobilnych, elementy firmy STMicroelectronics:
− scaloną ładowarkę akumulatorów Li-Ion (STNS01),
− rejestrator pojemności-analizator kondycji akumulatora – układ oznaczony symbolem STC3115.
Prezentowany zestaw – dzięki estetycznemu wykonaniu – można używać jako gadżet rejestrujący naszą codzienną aktywność fizyczną, ale przede wszystkim jest to narzędzie dla konstruktorów zainteresowanych aplikacjami „wearable” oraz – w pewnym zakresie – IoT. Dlatego zestaw wyposażono w przelotkę umożliwiającą dołączenie do niego programatora-debuggera ST-Link (lub z nim zgodnego) oraz 10-żyłowy kabel połączeniowy, za pomocą którego programator jest dołączany do miniaturowego złącza SWD zainstalowanego na płytce zestawu (fotografia 4).
Producent udostępnił także dwa pakiety zaawansowanych bibliotek pozwalających w pełni wykorzystać możliwości sensorów MEMS zainstalowanych w zestawie. Są to:
− osxMotionCP, które służą do rozpoznawania pozycji sensora względem powierzchni Ziemi. Do tego celu jest wykorzystywany akcelerometr z sensora LSM6DS3, którego rejestr danych jest odczytywany z domyślną częstotliwością 50 Hz. Schemat blokowy tego pakietu pokazano na rysunku 5.
− osxMotionAR, które służą do rozpoznawania rodzaju aktywności osoby noszącej sensor (chód, bieganie, jazdę rowerem itp.). Biblioteki wykorzystują akcelerometr z sensora LSM6DS3, którego rejestr danych jest odczytywany z domyślną częstotliwością 16 Hz. Schemat blokowy tego pakietu pokazano na rysunku 6.
Obydwie biblioteki są dostarczane przez producenta bezpłatnie (dostępne do pobrania na stronie internetowej), korzystanie z nich wymaga uzyskania pliku licencyjnego, którego treść jest przechowywana w pliku osx_license.h (ulokowany w katalogu instalacyjnym bibliotek). Licencja jest de facto kluczem do deszyfracji prekompilowanych bibliotek – użytkownik nie ma dostępu do ich źródeł, może natomiast korzystać z ich zawartości za pomocą predefiniowanego API, które jest dokładnie opisane w dokumentacji bibliotek. W uzyskaniu licencji pomaga bezpłatny program narzędziowy OSX License Wizard, który jest instalowany wraz z bibliotekami (widok jego okna pokazano na rysunku 7).
Korzystanie w aplikacjach prezentowanych z bibliotek ułatwia obsługę sensorów MEMS oraz detekcję podstawowych gestów oraz czynności (chód, bieganie, jazda na rowerze, prowadzenie samochodu itp.). Na rysunku 8 pokazano funkcje detekcyjne zaimplementowane w pakietach osxMotionAR i osxMotionCP.
Część z funkcji wykrywających rodzaje ruchów użytkownika prezentowanego zestawu znajduje się w pakiecie osxMotionCP, który jest także dostępny bezpłatnie, korzystanie z niego wymaga uzyskania bezpłatnej licencji – podobnie jak w przypadku bibliotek osxMotionAR. Dzięki tym bibliotekom konstruktor chcący wykorzystać sensory MEMS w swojej aplikacji nie musi zgłębiać teorii kwaternionów i implementować obliczeń na tych obiektach, nie musi uczyć się podstaw filtracji sygnałów za pomocą estymatorów Kalmana, otrzymuje po prostu gotowy wynik w postaci definicji stanu obiektu z sensorami MEMS lub charakteru jego ruchu. Jest to niezwykły prezent dla konstruktorów i programistów, dający dużą przewagę sensorom produkowanym przez STMicroelectronics nad konkurentami. Prezentowane biblioteki są dostępne w trzech wariantach, zoptymalizowanych pod kątem używania w środowiskach bazujących na kompilatorach: GCC, Keil/ARM i IAR, przystosowanych do kompilacji na mikrokontrolery z rdzeniami Cortex-M3 i Cortex-M4F (ze sprzętowo obsługiwanymi instrukcjami DSP).
Biblioteki wykorzystali twórcy wcześniej wspomnianej aplikacji na smartfony/tablety, za której pomocą można m.in. rejestrować dane ze wszystkich sensorów, analizować je wyświetlając różnorodne grafiki (fotografie 9 i 10). Wersja dla Androida wyklucza – niestety – wielu użytkowników, ponieważ została przygotowana na wersję systemu od 4.4 w górę, co powoduje, że użytkownicy nieco starszych urządzeń są wykluczeni z „kręgu wtajemniczenia”. Aplikacja jest dostępna w GooglePlay, a w wersji dla iOS w sklepie AppStore.
Zestaw, który przedstawiliśmy w artykule ma spore walory użytkowe, bowiem ilustruje zarówno dojrzałe sposoby korzystania z sensorów MEMS, pokazuje dobry zestaw podzespołów dla aplikacji mobilnych oraz rozwiązania pozwalające zasilać tak rozbudowane funkcjonalnie urządzenie z miniaturowego akumulatora Li-Ion. W sumie – niezła szkoła inżynierska, polecamy!
Piotr Zbysiński, EP