Raport. Analizator chodu AnCh

Podobne dokumenty
Wyznaczanie krzywej rotacji Galaktyki na podstawie danych z teleskopu RT3

Cyfrowe Ukªady Scalone

Raport. Grająca płytka GraP

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Laboratorium Procesorów Sygnałowych

Lab. 02: Algorytm Schrage

Uczenie Wielowarstwowych Sieci Neuronów o

Kurs obsªugi interfejsu I2C.

Parametryzacja przetworników analogowocyfrowych

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007

LXV OLIMPIADA FIZYCZNA ZAWODY III STOPNIA

Ultrasonic Ranging Module on STM32F4

Systemy wbudowane Mikrokontrolery

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

WZMACNIACZE SELEKTYWNE LC

Expandery wejść MCP23S17 oraz MCP23017

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

Tester pilotów 315/433/868 MHz

Dokumentacja techniczna

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJ CEGO KWALIFIKACJE ZAWODOWE CZERWIEC 201

PERSON Kraków

Ćwiczenie: "Ruch harmoniczny i fale"

Przykªady problemów optymalizacji kombinatorycznej

Dyskretyzacja i kwantyzacja obrazów

Tester pilotów 315/433/868 MHz MHz

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Stanowisko uruchomieniowe dla mikrokontrolerów HC08 Instrukcja u»ytkownika

LABORATORIUM STEROWANIE SILNIKA KROKOWEGO

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Wizualizacja Danych Sensorycznych. Raport. Laboratoryjny Robot Mobilny. Politechnika Wrocªawska Wydziaª Elektroniki

Komunikacja w mikrokontrolerach Laboratorium

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

INSTRUKCJA OBSŁUGI TERMOMETR CYFROWY TES-1312A

Zasilacz stabilizowany 12V

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

x y x y x y x + y x y

Funkcje wielu zmiennych

1. Wprowadzenie do C/C++

KB-01. Sterownika silnika krokowego bipolarnego dwufazowego INSTRUKCJA OBSŁUGI. 9. Eksploatacja sterownika KB-01:

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Wykład 2. Interfejsy I 2 C, OneWire, I 2 S

SILNIKI ASYNCHRONICZNE INDUKCYJNE

Instrukcja obsługi programu Pilot PS 5rc

Mikroprocesorowy regulator temperatury RTSZ-2 Oprogramowanie wersja 1.1. Instrukcja obsługi

Maªgorzata Murat. Modele matematyczne.

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie offline.

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Wyposażenie multimedialne

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

1. Wprowadzenie do C/C++

1 Trochoidalny selektor elektronów

1 Bª dy i arytmetyka zmiennopozycyjna

EC1000 KATALOG SYSTEMÓW STEROWANIA

Przetwarzanie sygnaªów

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Szkolenia specjalistyczne

Program SMS4 Monitor

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

SYSTEM PRZERWA Ń MCS 51

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

SAMOCHODOWA KAMERA HD

1/9. CCTV Tester. Instrukcja obsługi ver Wymagania systemowe: - Windows XP, Windows Vista, Windows 7 - wolny port USB -.NET Framework 3.

2 Liczby rzeczywiste - cz. 2

WICZENIE 2 Badanie podstawowych elementów pasywnych

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Radiowy miernik opadów Nr art Przekaz danych następuje na częstotliwości 433 MHz, bez konieczności instalowania przewodów.

Operacje morfologiczne

1.2. Architektura rdzenia ARM Cortex-M3...16

Interfejs RS485-TTL KOD: INTR. v.1.0. Wydanie: 2 z dnia Zastępuje wydanie: 1 z dnia

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

Aplikacja interfejsu ethernetowego UNIV

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

Metody numeryczne i statystyka dla in»ynierów

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

tel/fax lub NIP Regon

INSTRUKCJA OBSŁUGI MC-2810 CYFROWY SYSTEM GŁOŚNIKOWY 5.1 KANAŁÓW DO KINA DOMOWEGO

VinCent Office. Moduł Drukarki Fiskalnej

Parametry wymagane. Tak. Podać. Tak. Tak/Nie. Tak/Nie. Tak. Tak. Tak. Proszę podać. Tak. Proszę podać. Tak. Proszę podać

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Systemy mikroprocesorowe - projekt

Krzywe i powierzchnie stopnia drugiego

Technika mikroprocesorowa. Konsola do gier

Instrukcja obsługi programatora AVR Prog USB v2

Transkrypt:

Projekt Sterowniki robotów Raport Analizator chodu AnCh Skªad grupy (4): Sebastian Jamrozi«ski, 218546 Hubert Grzegorczyk, 218596 Termin: srtp11 Prowadz cy: mgr in». Wojciech Domski 12 czerwca 2017

Spis tre±ci 1 Opis projektu 2 2 Konguracja mikrokontrolera 2 3 Konguracja peryferiów 4 3.1 SPI2................................................ 4 3.2 LCD................................................ 4 3.3 QUADSPI............................................. 4 3.4 USART.............................................. 4 3.5 TIMER6.............................................. 4 3.6 Podsumowanie peryferiów.................................... 4 3.7 GPIO............................................... 4 4 Opis wykorzystywanych ukªadów 4 4.1 Akcelerometr........................................... 5 4.2 yroskop............................................. 5 5 Opis dziaªania programu 5 5.1 Algorytm rozpoznawania chodu................................. 5 5.2 Opis algorytmu.......................................... 5 5.3 Wªa±ciwy algorytm........................................ 7 6 Mo»liwo±ci aplikacji 8 7 Podsumowanie 8 1

1 Opis projektu Projekt ma na celu takie oprogramowanie zestawu rozwojowego, by na podstawie odczytów ukªadów sensorycznych (MEMS) móc stwierdzi kto nosi pªytk w danym momencie. Projekt zakªada,»e osoba nosz ca pªytk ma j przymocowan do jednej z nóg, imituj c noszenie telefonu w kieszeni. W tej cz ±ci projektu udaªo si uruchomi wszystkie potrzebne peryferia oraz ukªady znajduj ce si na pªytce ewaluacyjnej. Udaªo si tak»e nawi za komunikacj niezb dn podczas debugowania urz dzenia. Skutecznie wykorzystano procesor zmiennoprzecinkowy do obliczania transformaty fouriera czy innych zwi zanych z tym oblicze«. Zaimplementowano na mikrokontrolerze algorytm pozwalaj cy na klasykacj u»ytkowników, który wcze±niej byª rozwijany na komputerze. 2 Konguracja mikrokontrolera Na rysunku 1 i 2 przedstawiono konguracj mikrokontrolera. U»yto najwi kszego mo»liwego taktowania w celu jak najszybszego liczenia operacji zmiennoprzecinkowym takich jak transformata Fouriera. Rysunek 1: Konguracja pinów mikrokontrolera 2

3 Rysunek 2: Ustawienia taktowania mikrokontrolera

3 Konguracja peryferiów 3.1 SPI2 U»yty zostaª protokóª komunikacji SPI w trybie Full-Duplex Master na pinach PD4, PD3 oraz PD1 (kolejno MOSI, MISO i SCK). Przy taktowaniu procesora 80MHz baudrate wynosi 10MHz. Jako chip select wykorzystywane s piny PD7 dla»yroskopu oraz PE0 dla akcelerometru. 3.2 LCD W projekcie wykorzystywany jest interfejs do wy±wietlacza LCD. Jak wida na rysunku 1 wykorzystuje on bardzo du» ilo± pinów. Wykorzystano standardowe ustawienia zaimplementowane w bibliotekach do STM32L476Discovery, mi dzy innymi parametr Duty Selection ustawiony zostaª na 1/4. 3.3 QUADSPI Pami ash podª czona jest do mikrokontrolera za pomoc szybkiego protokoªu QUADSPI wykorzystuj cego 4 linie danych. Pr dko± transmisji zostaªa ustawiona na 80MHz. 3.4 USART Do debugowania u»yto portu USART2 w trybie asynchronicznym na pinach PD6 i PD5 z baudratem 115200 bitów na sekund. 3.5 TIMER6 Jako podstawy czasu u»yto timera 6 generuj cego cyklicznie co 60ms przerwanie. Aby to osi gn ustawiono prescaler na 1000 oraz counter period na 4799. 3.6 Podsumowanie peryferiów Poni»ej przedstawiono podsumowanie najwa»niejszych pinów u»ywanych przez peryferia mikrokontrolera. Nie uwzgl dniono pinów u»ywanych przez wy±wietlacz LCD. PERIPHERALS MODES FUNCTIONS PINS QUADSPI Quad SPI Line QUADSPI_BK1_IO0 PE12 QUADSPI Quad SPI Line QUADSPI_BK1_IO1 PE13 QUADSPI Quad SPI Line QUADSPI_BK1_IO2 PE14 QUADSPI Quad SPI Line QUADSPI_BK1_IO3 PE15 QUADSPI Quad SPI Line QUADSPI_NCS PE11 QUADSPI Quad SPI Line QUADSPI_CLK PE10 SPI2 Full-Duplex Master SPI2_MISO PD3 SPI2 Full-Duplex Master SPI2_MOSI PD4 SPI2 Full-Duplex Master SPI2_SCK PD1 USART2 Asynchronous USART2_RX PD6 USART2 Asynchronous USART2_TX PD5 3.7 GPIO W projekcie wykorzystywane s tak»e cyfrowe wyj±cia oraz wej±cia, mi dzy innymi dla 2 diod LED czy do obsªugi joysticka. Ich podª czenie mo»na znale± w dokumentacji pªytki ewaluacyjnej [3]. 4 Opis wykorzystywanych ukªadów Sposób podª czenia ukªadów na pªytce STM32L476DISCOVERY mo»na znale±c w jej opisie [3]. Sposób inicjalizacji akcelerometru oraz»yroskopu opisany jest w ich dokumentacjach technicznych [1] i [2]. 4

4.1 Akcelerometr Akcelerometr zostaª zainicjalizowany w trybie ci gªego pomiaru z cz stotliwo±ci 50Hz oraz skali pomiaru ±4g. Aby to osi gn nale»y ustawi odpowiednie warto±ci w rejestrach opisane w poni»szej tabeli: Rejestr (adres rejestru) CTRL_REG1_A(0x20) CTRL_REG4_A (0x23) warto± 0x27 0x21 4.2 yroskop yroskop zostaª zainicjalizowany w trybie ci gªego pomiaru z cz stotliwo±ci 95Hz oraz skali pomiaru ±500 stopni na sekund. Ustawiono tak»e tryb zapisu pomiaru w notacji little-endian. Aby to osi gn nale»y ustawi odpowiednie warto±ci w rejestrach opisane w poni»szej tabeli: Rejestr (adres rejestru) CTRL_REG1 (0x20) CTRL_REG4 (0x23) warto± 0x23F 0x10 5 Opis dziaªania programu 5.1 Algorytm rozpoznawania chodu W projekcie zastosowano autorski algorytm rozpoznawania chodu klasykuj cy u»ytkowników na podstawie moduªów sygnaªu z akceleromertru oraz»yroskopu. W opisie dziaªania algorytmu sygnaªem nazywany b dzie moduª przyspieszenia liniowego o dªugo±ci okna 128 próbek zbieranych co 60ms, co przekªada si na sygnaª o dªugo±ci okoªo 7,7s. Nazwijmy u»ytkowników H oraz S. 5.2 Opis algorytmu W trakcie badania sygnaªu zauwa»ono,»e harmoniczne sygnaªów chodu u»ytkowników H oraz S zachowuj swoje proporcje wzgl dem siebie niezale»nie od momentu rozpocz cia badania sygnaªu, a co istotniejsze, s inne dla chodu H i S jak pokazano na rysunku 3. 5

1 2 3 4 5 Rysunek 3: Charakterystyczny ksztaªt skªadowych widma chodu. Zauwa»my,»e jeste±my w stanie uniezale»ni analiz od pr dko±ci chodu obserwuj c jedynie amplitud lub moc kolejnych pików widma, pomijaj c tym samym cz stotliwo± na której si one pojawiaj. Ponadto, skaluj c wysoko± pików tak, by pierwszy z nich zawsze przyjmowaª warto± 1, uniezale»niamy estymacj od caªkowitej mocy sygnaªu. Otrzymujemy w ten sposób ci g warto±ci charakteryzuj cy danego u»ytkownika. Kolejn eksperymantalnie wyznaczon wªasno±ci jest to,»e im wy»sze harmoniczne badamy, tym bardziej si one mi dzy sob ró»ni pomi dzy sygnaªami 1. Posiadaj c te informacje opracowano algorytm czerpi cy dane z przeskalowanych pików 3, 4 oraz 5 otrzymanych z estymacji na oknie 128 próbek z ponad 10 minut pomiarów dla sygnaªów H oraz S. Narzucaj c na wyznaczone w ten sposób piki interpretacj geometryczn otrzymujemy ªatwo separowalne obszary punktów widoczne na rysunku 4. Piki 3, 4 oraz 5 w przestrzeni 3D Sygnał S Sygnał H Sygnał S Sygnał H Piki po rotacji Rysunek 4: Charakterystyczny ksztaªt skªadowych widma chodu 1 Nie nale»y zapomina,»e nie posiadamy peªnej informacji o sygnale z powodu ignorowania fazy sygnaªu jak i ograniczonego pasma obserwacji (w przypadku próbkowania 60ms jest to 16, 5Hz). 6

Rysunek 5: Charakterystyczny ksztaªt skªadowych widma chodu - rzut na pªaszczyzn XY Dokonuj c odpowiedniej rotacji owych chmur punktów, mo»liwe staje si rozró»nianie przynale»no±ci punktu do u»ytkownika na podstawie pojedynczej zmiennej (w przypadku ukazanym na rysunku 5 s to zmienne x). Estymator = [ ( 1 0 0 ) Rot( v, α) P ik 345 = ( ) w 1 w 2 w 3 P ik 345, (1) gdzie P ik 345 oznacza wektor pionowy skªadaj cy si z przeskalowanych pików 3, 4 oraz 5. 5.3 Wªa±ciwy algorytm Zaimplementowany algorytm oblicza FFT moduªu sygnaªu z akcelerometru oraz»yroskopu, poszukuje gªównego piku znajduj c maksimum warto±ci w caªym widmie, po czym korzysta z wielokrotno±ci jego indeksu do znalezienia kolejnych pików. By unikn drobnych uktuacji w poªo»eniu kolejnych pików sumowane s okolice danego indeksu i suma ta zwracana jest jako warto± piku, dziel c przy tym ka»dy z nich przez pierwszy, z zaªo»enia najwi kszy, pik 2. Tak wyznaczanych jest 5 pierwszych pików. Pierwszy z nich jest ignorowany, gdy» zawsze wynosi 1, a drugi z nich jest pomijany ze wzgl du na niewielk ilo± niesionych informacji. Do kolejnych trzech warto±ci stosowana jest transformacja (2) wywodz ca si z obrotu chmur punktów (rysunki 4 i 5) z odj ciem pewnej staªej, tak by rozró»nia osoby testuj c czy estymator jest dodatni b d¹ nie. Estymator = ( w x w y w z ) P ik 345 const, (2) Warto± Estymator obliczana jest odpowiednio z innymi staªymi ( w x w y w z ) i const tak, by dodatnia warto± oznaczaªa sygnaª H, a ujemna sygnaª S zarówno dla sygnaªu z akcelerometru oraz sygnaªu»yroskopu. W ostatnim kroku dodawane s do siebie warto±ci Estymator pochodz ce od akcelerometru oraz»yroskopu w celu zwi kszenia redundancji danych. Na rysunku 6 przedstawiono wykres estymacji wzgl dem czasu dla sygnaªu zebranego podczas pracy nad algorytmem. 2 w ten sposób realizowane jest skalowanie 7

Rysunek 6: Charakterystyczny ksztaªt skªadowych widma chodu - rzut na pªaszczyzn XY 6 Mo»liwo±ci aplikacji Aplikacja pozwala na 2 tryby dziaªania: ˆ zapis danych do pami ci ash z mo»liwo±ci ich pó¹niejszego wysªania przez UART, ˆ analiz chodu. Na rysunku 7 przedstawiono diagram przepªywu stworzonej aplikacji. 7 Podsumowanie Udaªo si zrealizowa wszystkie postawione zadania, a analiza chodu dziaªa z zaskakuj co dobr skuteczno±ci. Literatura [1] ST, LSM303C, czerwiec 2014 [2] ST, L3GD20, luty 2013 [3] ST, UM1879 User manual Discovery kit with STM32L476VG MCU, marzec 2016 8

Rysunek 7: Diagram przepªywu aplikacji 9