MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji Dr hab. inż. Jan PIETRASIEŃSKI, prof. WAT Mgr inż. Kamil DZIĘGIELEWSKI Wojskowa Akademia Techniczna REJESTRACJA PARAMETRÓW RUCHU OBIEKTU PRZY UŻYCIU CZUJNIKÓW Z RODZINY MEMS Streszczenie: W niniejszym referacie zostało zaprezentowane rozwiązanie programowo- sprzętowe systemu, do rejestracji parametrów ruchu obiektu, do budowy którego wykorzystano czujniki MEMS. W artykule zostały zaprezentowane wybrane czujniki, rozwiązanie przetwarzania sygnału przy wykorzystaniu mikroprocesora z rodziny AVR oraz zapis danych pomiarowych na układzie pamięci FLASH. OBJECT MANEUVER REGISTRATION USING MEMS SENSORS Abstract: This paper presents software/hardware solution of object maneuver registration system based on MEMS angular rate and acceleration sensors. Moreover chosen sensors are presented. Acquisition and measurement data recording is explained basing on Atmel AVR microcontroller with use of flash memory card. Słowa kluczowe: rejestracja, parametry ruchu, czujniki Keywords: registration, motion parameters, sensors 1. WPROWADZENIE Określanie parametrów ruchu obiektu jest zagadnieniem znajdującym zastosowanie w wielu dziedzinach. Rejestracja parametrów, takich jak przyspieszenia liniowe i prędkości kątowe, jest często wykorzystywana w celu identyfikacji parametrycznej obiektu. Systemy do pomiaru parametrów ruchu znajdują się w wielu urządzeniach mechatronicznych. Obiektem takim może być zarówno pojazd, robot mobilny, jak i bezzałogowy statek latający (BSL). W motoryzacji czujniki ruchu wykorzystywane są w systemach kontroli trakcji, układach antykradzieżowych, jak również w systemach wykrywających zdarzenia krytyczne (kolizje, wypadki). Obecnie bezzałogowe statki latające używane są w takich branżach, jak [1]: organizacja imprez masowych, budownictwo drogowe, dziennikarstwo, geodezja i kartografia, geologia i geotechnika, media, ochrona i monitoring, służby mundurowe, rolnictwo i leśnictwo, teledetekcja i fotogrametria. Układy określania parametrów ruchu obiektu są niezbędnym elementem w systemach autopilotów BSL. Do zaprojektowania odpowiedniego algorytmu sterowania BSL potrzebne są charakterystyki aerodynamiczne takiego obiektu, co wiąże się z potrzebą ich identyfikacji. 643 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji W związku z rosnącym zainteresowaniem systemami określania parametrów ruchu został wykonany układ, którego zadaniem była rejestracja zmierzonych parametrów ruchu obiektu. Pomiar parametrów ruchu wykonano poprzez umieszczenie układu mierzącego parametry ruchu na badanym obiekcie. Dane pomiarowe z czujników, czyli wartości przyspieszeń liniowych i prędkości kątowych w trzech osiach, przetwarzane były przez mikrokontroler, a następnie zapisywanie na pamięci typu FLASH. 2. BUDOWA SYSTEMU System można podzielić na następujące części: układ pomiarowy, układ przetwarzania danych, układ akwizycji. Układem przetwarzania danych jest mikrokontroler. Informacje pomiarowe dostarczane są do układu przetwarzania danych z układu pomiarowego oraz zapisywane za pomocą układu akwizycji danych. Schemat ideowy systemu został przedstawiony na rysunku 1. Rys. 1. Schemat blokowy systemu Wykorzystane elementy Jako jednostka obliczeniowa systemu wykorzystany został mikrokontroler z Atmega32 z rodziny mikrokontrolerów AVR firmy Atmel. Poniżej przedstawione zostały podstawowe parametry układu [2]: częstotliwość zegara 8-16 MHz, niskie zużycie energii (1,1 mA przy 1 MHz, 3 V zasilania w temperaturze 25°C), zintegrowany 8-kanałowy, 10-bitowy przetwornik Analogowo- cyfrowy (A/C), wbudowana obsługa interfejsów I2C oraz SPI. 644 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji Do budowy układu pomiarowego wykorzystane zostały czujniki wykonane w technologii MEMS (z ang. Micro Electro-Mechanical Systems). Żyroskopy wykonane w technologii MEMS w porównaniu do żyroskopów światłowodowych, stosowanych w komercyjnych rozwiązaniach, charakteryzują się mniejszym poborem energii, mniejszymi wymiarami oraz niższą ceną [3]. W rozwiązaniach systemów inercyjnych znajdują zastosowanie głównie akcelerometry elektromechaniczne oraz piezoelektryczne. Akcelerometry piezoelektryczne charakteryzują się szerokim pasmem pomiarowym w porównaniu do akcelerometrów elektromechanicznych, małą stabilnością oraz małą odpornością na uszkodzenia mechaniczne. Akcelerometry MEMS charakteryzują się niewielkimi wymiarami (rzędu kilku milimetrów) oraz dużą odpornością na uszkodzenia mechaniczne [4]. Do pomiaru przyspieszeń liniowych wykorzystano akcelerometr Analog Devices ADXL 345. Jest to trójosiowy akcelerometr z wyjściem cyfrowym o rozdzielczości 13 bitów. Komunikacja pomiędzy czujnikiem a mikrokontrolerem może odbywać się zarówno z użyciem interfejsu SPI, jak i I2C. Rozdzielczość pomiarowa czujnika zależna jest od wykorzystywanego zakresu pomiarowego (odpowiednio dla zakresów rozdzielczość wynosi: 2g – 10 bit, 4g – 11 bit, 8g – 12 bit, 16g – 13 bit). Częstotliwość próbkowania czujnika można zmieniać w zakresie od 6,25 Hz do 3,2 kHz [5]. Początkowo do pomiaru prędkości kątowej został wykorzystany jednoosiowy czujnik Analog Devices ADXRS 612. Następnie system został wyposażony w dodatkowy żyroskop dwuosiowy STMicroelectronics LPR 510AL. Zarówno ADXRS 612, jak i LPR 510AL są żyroskopami z wyjściem analogowym. Wybrane parametry żyroskopów przedstawiono w tabeli 1. Tabela 1. Wybrane parametry wykorzystanych żyroskopów [6, 7] Parametr\Żyroskop ADXRS 612 LPR 510 AL Zakres pomiarowy ± 300 °/s ± 100 °/s, ± 400 °/s Czułość 7 mV/°/s 2,5 mV/°/s, 10 mV/°/s Prąd zasilania 0.35 mA 6,8 mA Zasilanie 5V 3V Do budowy układu wykorzystano zestaw uruchomieniowy z mikrokontrolerem ATmega32. Zaletą wykorzystania takiego zestawu jest łatwość zmiany konfiguracji połączeń elementów systemu, możliwość bezpośredniego zasilania czujników oraz rozbudowy systemu o nowe elementy. Dodatkową zaletą jest umieszczone gniazdo kart pamięci MMC (z ang. Multi Media Card). Wykorzystane czujniki umieszczone były również na zestawach ewaluacyjnych, co eliminowało konieczność wykonywania dedykowanych układów płytek drukowanych, układów zasilania, co znacznie przyspieszyło proces budowy układu pomiarowego. Dane pomiarowe z czujników zapisywane były na karcie pamięci Flash. Pamięć FLASH cechuje niskie zużycie energii oraz duża wytrzymałość na uszkodzenia mechaniczne. Zastosowanie karty pamięci umożliwia również szybkie przeniesienie danych pomiarowych do pamięci komputera w celu dalszej analizy wyników pomiarów. Pomiar parametrów ruchu 645 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji Akwizycja próbek sygnału z żyroskopów została zrealizowana przy wykorzystaniu wewnętrznego przetwornika A/C mikrokontrolera. Konfiguracja parametrów przetwornika, takich jak wybór napięcia zasilania, sposób zapisu danych pomiarowych, wybór kanału przetwornika, odbywa się poprzez zapis odpowiednich wartości do rejestru ADMUX mikrokontrolera. Jako napięcie odniesienia wykorzystano stabilizowane źródło napięcia zestawu ewaluacyjnego. Sterowanie pracą przetwornika (uruchomienie, wybór częstotliwości próbkowania) odbywa się poprzez ustawienie odpowiednich wartości w rejestrze ADSCRA. Dane pomiarowe (10 bitów) zapisywane są w dwóch rejestrach mikrokontrolera. Odczytanie próbek z pamięci podręcznej akcelerometru odbywało się poprzez łącze cyfrowe pracujące w interfejsie szeregowym I2C. Obsługa tego interfejsu wspomagana jest przez mikrokontroler (w nomenklaturze firmy Atmel interfejs ten określany jest jako TWI – z ang. Two Wire Interface). Zaletą wykorzystania interfejsu I2C jest ograniczenie ilości połączeń (do transmisji danych wymagane są dwa przewody). Możliwa prędkość transmisji w tym interfejsie wynosi 400 kbps [2], co umożliwia odczyt danych pomiarowych z częstotliwością 800 Hz [5]. Wymiana danych pomiędzy mikrokontrolerem a akcelerometrem opierała się na zapisie lub odczycie wartości rejestru TWDR mikrokontrolera. W zależności od wartości rejestru TWCR dane z rejestru TWDR były wysyłane do akcelerometru lub dane z akcelerometru były zapisywane do TWDR. Konfiguracja parametrów transmisji, ustawień czujnika oraz dostęp do próbek pomiarowych polegały na zapisie lub odczycie odpowiednich rejestrów danych akcelerometru. Należy zwrócić uwagę na sposób odczytu danych pomiarowych. W użytym akcelerometrze dane z jednego pomiaru zapisywane są w sześciu ośmiobitowych rejestrach. Zapis oraz prezentacja danych pomiarowych Dane pomiarowe zapisywane były przez mikrokontroler na karcie pamięci MMC, w nowo utworzonym pliku. W poszczególnych kolumnach zapisywane były kolejno próbki z odpowiednich czujników. Utworzenie pliku na karcie pamięci, który można odczytać w komputerze z systemem operacyjnym Windows, wymagało zapisu danych na karcie pamięci w formacie FAT (z ang. File Allocation Table). Do zapisu danych w systemie FAT 32 została użyta biblioteka ze strony [8]. Biblioteka ta służy do zarządzania danymi na karcie pamięci z użyciem mikrokontrolera z rodziny AVR. Zapis i odczyt danych na karcie pamięci z użyciem biblioteki [8] odbywał się w oparciu o komendy wysyłane z komputera do mikrokontrolera za pośrednictwem portu RS – 232. W związku z tym wprowadzono modyfikacje do biblioteki w celu umożliwienia bezpośredniego zapisu danych pomiarowych na karcie pamięci bez użycia komputera. Opracowano program komputerowy w środowisku C++ Builder do akwizycji i prezentacji danych pomiarowych z układu pomiarowego na ekranie komputera PC z systemem operacyjnym Windows. Na rysunku 2 został przedstawiony graficzny interfejs wspomnianego oprogramowania. 646 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji Rys. 2. Interfejs graficzny programu do prezentacji danych pomiarowych w trybie online W celu weryfikacji działania systemu wykonane zostały pomiary polegające na umieszczeniu urządzenia na motocyklu. Układ pomiarowy został zamontowany w schowku pod siedzeniem kierowcy. Na rysunkach 3 i 4 zostały przedstawione odpowiednio wykresy przyspieszeń liniowych oraz prędkości kątowych dla przyspieszenia i hamowania. 5 przyspieszenie[g] 4 3 2 y 1 x z 0 0 10 20 30 40 50 -1 -2 -3 t [s] Rys. 3. Wykresy przyspieszeń liniowych podczas przyspieszenia i hamowania motocykla 647 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji 60 prędkość kątowa[°/s] 40 20 giro x 0 giro y 0 10 20 30 40 50 giro z -20 -40 -60 t [s] Rys. 4. Wykresy prędkości kątowych podczas przyspieszenia i hamowania motocykla Porównując wyniki pomiarów opublikowanych w pracy [9] z wynikami pomiarów zaprezentowanymi na rysunkach 3 oraz 4, można stwierdzić poprawność działania opracowanego systemu. 3. PODSUMOWANIE Różnorodność czujników ruchu obecnych na runku stwarza szerokie możliwości ich wykorzystania. Czujniki MEMS sprawdzają się w zastosowaniach mobilnych do pomiaru parametrów ruchu obiektów, takich jak pojazdy drogowe czy BSL. Dostępność i wybór mikrokontrolerów umożliwia dobór optymalnego urządzania do przetwarzania i akwizycji danych pomiarowych w opisywanym systemie. Niskie zużycie energii, wymiary oraz masa przemawiają za użyciem opisanych czujników do budowy taniego systemu wykorzystywanego w wielu rozwiązaniach (identyfikacja parametrów aerodynamicznych BSL, badanie charakterystyk pojazdów). LITERATURA [1] http://www.robokopter.pl. [2] Dokumentacja techniczna ATmega32 firmy Atmel, USA: Atmel, 2009. [3] Tanenhaus M.: Miniature UMU/INS with Optimally Fused Low Drift MEMS Gyro and Accelerometers for Applications in GPS-denied Environments, Position Location and Navigation Symposium (PLANS), 2012. [4] Dong Y., Zwahlen P., Nguyen A.M., Rudolf F., Stauffer J.M., High Performance Inertial Navigation Grade Sigma- Delta MEMS Accelerometer, Mechatronics and Automation, 2009. [5] Dokumentacja techniczna ADXL 345 firmy Analog Devices, USA: Analog Devices, 2013. 648 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji [6] Dokumentacja techniczna ADXRS 612 firmy Analog Devices, USA: Analog Devices, 2007. [7] Dokumentacja techniczna LPR510AL firmy STMicroelectronics, USA: STMicroelectronics, 2009. [8] http://http://www.dharmanitech.com/ [9] Pietrasieński J., Rodzik D., Bużantowicz W., Miernik J., Paramuszczak K., Analiza możliwości detekcji zdarzeń krytycznych z udziałem motocykla. Część I. Wykorzystanie drgań i wibracji motocykla, WAT, Warszawa, 2012. 649 MECHANIK 7/2013 XVII Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji 650