
Instrukcja obsługi NGIMU
Wersja 1.6
Publikacja publiczna
Aktualizacje dokumentów
Ten dokument jest stale aktualizowany, aby uwzględnić dodatkowe informacje żądane przez użytkowników i nowe funkcje udostępniane w aktualizacjach oprogramowania i oprogramowania sprzętowego. Sprawdź x-io
Technologie webstrona Aby uzyskać najnowszą wersję tego dokumentu i oprogramowania sprzętowego urządzenia.
Historia wersji dokumentu
| Data | Wersja dokumentu | Opis |
| 13 stycznia 2022 | 1.6 |
|
| 16 paź 2019 | 1.5 |
|
| 24 Lip 2019 | 1.4 |
|
| 07 listopada 2017 r. | 1.3 |
|
| 10 stycznia 2017 | 1.2 |
|
| 19 paź 2016 | 1.1 |
|
| 23 września 2016 r. | 1.0 |
|
| 19 maja 2016 | 0.6 |
|
| 29 mar 2016 | 0.5 |
|
| 19 listopada 2015 r. | 0.4 |
|
| 30 czerwca 2015 | 0.3 |
|
| 9 czerwca 2015 | 0.2 |
|
| 12 maja 2015 | 0.1 |
|
| 10 maja 2015 | 0.0 |
|
Nadview
Next Generation IMU (NGIMU) to kompaktowy moduł IMU i platforma akwizycji danych łącząca wbudowane czujniki i algorytmy przetwarzania danych z szeroką gamą interfejsów komunikacyjnych, tworząc wszechstronną platformę doskonale dostosowaną do zastosowań w czasie rzeczywistym i w aplikacjach rejestrujących dane.
Urządzenie komunikuje się za pomocą OSC i dzięki temu jest od razu kompatybilny z wieloma aplikacjami i łatwy do zintegrowania z niestandardowymi aplikacjami dzięki bibliotekom dostępnym dla większości języków programowania.
1.1. Czujniki pokładowe i akwizycja danych
- Żyroskop trójosiowy (±2000°/s, 400 Hz s)ampstawka)
- Akcelerometr trójosiowy (±16g, 400 Hz s)ampstawka)
- Magnetometr trójosiowy (±1300 µT)
- Ciśnienie barometryczne (300-1100 hPa)
- Wilgotność
- Temperatura1
- Pojemność bateriitage, prąd, procenttage i pozostały czas
- Wejścia analogowe (8 kanałów, 0-3.1 V, 10 bitów, 1 kHz s)ampstawka)
- Pomocniczy port szeregowy (zgodny z RS-232) do GPS-ów lub niestandardowej elektroniki/czujników
- Zegar czasu rzeczywistego i
1.2. Przetwarzanie danych na pokładzie
- Wszystkie czujniki są skalibrowane
- Algorytm fuzji AHRS umożliwia pomiar orientacji względem Ziemi w postaci kwaternionu, macierzy obrotu lub kątów Eulera
- Algorytm fuzji AHRS zapewnia pomiar przyspieszenia liniowego
- Wszystkie pomiary są pomiarami czasowymiamped
- Synchronizacja czasuamps dla wszystkich urządzeń w sieci Wi-Fi2
1.3. Interfejsy komunikacyjne
- USB
- Szeregowy (zgodny z RS-232)
- Wi-Fi (802.11n, 5 GHz, wbudowana lub zewnętrzna antena, tryb AP lub klienta)
- Karta SD (dostępna jako dysk zewnętrzny przez USB)
1.4. Zarządzanie energią
- Zasilanie z USB, zewnętrznego zasilacza lub baterii
- Ładowanie akumulatora przez USB lub zewnętrzne źródło zasilania
- Timer snu
1Termometry pokładowe służą do kalibracji i nie są przeznaczone do dokładnego pomiaru temperatury otoczenia.
2 Synchronizacja wymaga dodatkowego sprzętu (routera Wi-Fi i głównego urządzenia synchronizującego).
- Wybudzanie za pomocą wyzwalacza ruchu
- Zegar budzenia
- Zasilanie 3.3 V dla elektroniki użytkownika (500 mA)
1.5. Funkcje oprogramowania
- Interfejs graficzny użytkownika (GUI) i interfejs API (C#) typu open source dla systemu Windows
- Skonfiguruj ustawienia urządzenia
- Wykres danych w czasie rzeczywistym
- Rejestruj dane w czasie rzeczywistym file (plik CSV) file format do użytku z programami Excel, MATLAB itp.)
- Narzędzia do konserwacji i kalibracji Błąd! Zakładka nie została zdefiniowana.
Sprzęt komputerowy
2.1. Przycisk zasilania
Przycisk zasilania służy głównie do włączania i wyłączania urządzenia (tryb uśpienia). Naciśnięcie przycisku, gdy urządzenie jest wyłączone, spowoduje jego włączenie. Naciśnięcie i przytrzymanie przycisku przez 2 sekundy, gdy urządzenie jest włączone, spowoduje jego wyłączenie.
Przycisk może być również używany przez użytkownika jako źródło danych. Urządzenie wyśle timestampkomunikat przycisku ed za każdym razem, gdy przycisk jest naciśnięty. Może to zapewnić wygodne wprowadzanie danych przez użytkownika w aplikacjach czasu rzeczywistego lub użyteczny sposób oznaczania zdarzeń podczas rejestrowania danych. Więcej informacji można znaleźć w sekcji 7.1.1.
2.2. Diody LED
Płytka zawiera 5 wskaźników LED. Każda dioda LED ma inny kolor i dedykowaną rolę. Tabela 1 przedstawia rolę i powiązane zachowanie każdej diody LED.
| Kolor | Wskazuje | Zachowanie |
| Biały | Stan Wi-Fi | Wyłączony – Wi-Fi wyłączone Wolne miganie (1 Hz) – Niepodłączony Szybkie miganie (5 Hz) – Połączono i oczekiwanie na adres IP Solidny – Połączono i uzyskano adres IP |
| Niebieski | – | – |
| Zielony | Status urządzenia | Oznacza, że urządzenie jest włączone. Będzie również migać za każdym razem, gdy zostanie naciśnięty przycisk lub otrzymana zostanie wiadomość. |
| Żółty | Stan karty SD | Wyłączony – Brak karty SD Wolne miganie (1 Hz) – Karta SD jest obecna, ale nie jest używana Solidny – Karta SD jest obecna i trwa logowanie |
| Czerwony | Ładowanie akumulatora | Wyłączony – Ładowarka nie jest podłączona Solidny – Ładowarka podłączona i ładowanie w toku Miga (0.3 Hz) – Ładowarka podłączona i ładowanie zakończone Szybkie miganie (5 Hz) – Ładowarka nie jest podłączona, a poziom naładowania akumulatora wynosi mniej niż 20% |
Tabela 1: Zachowanie diod LED
Wysłanie polecenia identyfikacji do urządzenia spowoduje, że wszystkie diody LED zaczną szybko migać przez 5 sekund.
Może to być przydatne podczas próby zidentyfikowania konkretnego urządzenia w grupie wielu urządzeń. Więcej informacji można znaleźć w sekcji 7.3.6.
Diody LED mogą być wyłączone w ustawieniach urządzenia. Może to być przydatne w aplikacjach, w których światło z diod LED jest niepożądane. Polecenie identify może być nadal używane, gdy diody LED są wyłączone, a zielona dioda LED będzie nadal migać za każdym razem, gdy zostanie naciśnięty przycisk. Pozwala to użytkownikowi sprawdzić, czy urządzenie jest włączone, gdy diody LED są wyłączone.
2.3. Wyprowadzenia szeregowe pomocnicze
Tabela 2 przedstawia wyprowadzenia pomocniczego złącza szeregowego. Pin 1 jest fizycznie oznaczony na złączu małą strzałką, patrz Rysunek 1.
| Szpilka | Kierunek | Nazwa |
| 1 | Brak | Grunt |
| 2 | Wyjście | RTS |
| 3 | Wyjście | Wyjście 3.3 V |
| 4 | Wejście | RX |
| 5 | Wyjście | TX |
| 6 | Wejście | CTS |
Tabela 2: Wyprowadzenia złącza szeregowego pomocniczego
2.4. Wyprowadzenia szeregowe
Tabela 3 przedstawia wyprowadzenia złącza szeregowego. Pin 1 jest fizycznie oznaczony na złączu małą strzałką, patrz Rysunek 1.
| Szpilka | Kierunek | Nazwa |
| 1 | Brak | Grunt |
| 2 | Wyjście | RTS |
| 3 | Wejście | Wejście 5 V |
| 4 | Wejście | RX |
| 5 | Wyjście | TX |
| 6 | Wejście | CTS |
Tabela 3: Wyprowadzenia złącza szeregowego
2.5. Wyprowadzenia wejść analogowych
Tabela 4 przedstawia wyprowadzenia złącza wejść analogowych. Pin 1 jest fizycznie oznaczony na złączu małą strzałką, patrz Rysunek 1.
| Szpilka | Kierunek | Nazwa |
| 1 | Brak | Grunt |
| 2 | Wyjście | Wyjście 3.3 V |
| 3 | Wejście | Kanał analogowy 1 |
| 4 | Wejście | Kanał analogowy 2 |
| 5 | Wejście | Kanał analogowy 3 |
| 6 | Wejście | Kanał analogowy 4 |
| 7 | Wejście | Kanał analogowy 5 |
| 8 | Wejście | Kanał analogowy 6 |
| 9 | Wejście | Kanał analogowy 7 |
| 10 | Wejście | Kanał analogowy 8 |
Tabela 4: Wyprowadzenia złącza wejścia analogowego
2.6. Numery części złącza
Wszystkie złącza płyty to złącza Molex PicoBlade™ o skoku 1.25 mm. Tabela 5 zawiera listę każdego numeru części używanego na płycie i zalecane numery części odpowiadających im złączy.
Każde złącze łączące składa się z plastikowej obudowy i dwóch lub więcej zaciśniętych przewodów.
| Złącze płytki | Numer części | Numer części pasującej |
| Bateria | Złącze Molex PicoBlade™, montaż powierzchniowy, kątowe, 2-drożne, nr części: 53261-0271 | Obudowa Molex PicoBlade™, żeńska, 2-drożna, nr części: 51021-0200
Przewód Molex Pre-Crimped Single-Ended PicoBlade™ żeński, 304 mm, 28 AWG, P/N: 06-66-0015 (×2) |
| Pomocniczy szeregowy / Serial | Złącze Molex PicoBlade™, montaż powierzchniowy, kątowe, 6-drożne, nr części: 53261-0671 | Obudowa Molex PicoBlade™, żeńska, 6-drożna, nr części: 51021-0600 Przewód Molex Pre-Crimped Single-Ended PicoBlade™ żeński, 304 mm, 28 AWG, P/N: 06-66-0015 (×6) |
| Wejścia analogowe | Złącze Molex PicoBlade™, montaż powierzchniowy, kątowe, 10-drożne, nr części: 53261-1071 | Obudowa Molex PicoBlade™, żeńska, 10-drożna, nr części: 51021-1000 Przewód Molex Pre-Crimped Single-Ended PicoBlade™ żeński, 304 mm, 28 AWG, P/N: 06-66-0015 (×10) |
Tabela 5: Numery części złączy płyt
2.7. Wymiary deski
KROK 3D file i rysunki mechaniczne szczegółowo przedstawiające wszystkie wymiary płyt są dostępne na x-io
Technologie webstrona.
Obudowa plastikowa
Plastikowa obudowa zamyka płytkę z baterią 1000 mAh. Obudowa zapewnia dostęp do wszystkich interfejsów płytki i jest półprzezroczysta, dzięki czemu można zobaczyć wskaźniki LED. Rysunek 3 przedstawia płytkę zmontowaną z baterią 1000 mAh w plastikowej obudowie.

Rysunek 3: Płytka zmontowana z baterią 1000 mAh w obudowie plastikowej
KROK 3D file i rysunki mechaniczne ze szczegółowymi wymiarami wszystkich obudów są dostępne na stronie x-io Technologies webstrona.
Wejścia analogowe
Interfejs wejść analogowych służy do pomiaru objętościtagi uzyskać dane z zewnętrznych czujników, które dostarczają pomiary w postaci objętości analogowejtage. Na przykładampczujnik siły rezystancyjnej można umieścić w obwodzie dzielnika potencjału, aby zapewnić pomiar siły w postaci analogowej objętościtagmi. TomtagPomiary są wysyłane przez urządzenie w postaci timestamped analogowe komunikaty wejściowe, jak opisano w rozdziale 7.1.13.
Opis wyprowadzeń wejść analogowych znajduje się w rozdziale 2.3, natomiast numery części złącza odpowiadającego tym wyprowadzeniom podano w rozdziale 2.6.
4.1. Specyfikacja wejść analogowych
- Liczba kanałów: 8
- Rozdzielczość ADC: 10-bit
- Sampraty: 1000 Hz
- Tomtage zakres: 0 V do 3.1 V
4.2. Wyjście zasilania 3.3 V
Interfejs wejścia analogowego zapewnia wyjście 3.3 V, które może być używane do zasilania zewnętrznej elektroniki. To wyjście jest wyłączane, gdy urządzenie przechodzi w tryb uśpienia, aby zapobiec rozładowywaniu baterii przez zewnętrzną elektronikę, gdy urządzenie nie jest aktywne.
Pomocniczy interfejs szeregowy
Pomocniczy interfejs szeregowy służy do komunikacji z urządzeniami elektronicznymi spoza systemu poprzez połączenie szeregowe.
Na przykładample, Załącznik A opisuje, jak moduł GPS może być podłączony bezpośrednio do pomocniczego interfejsu szeregowego, aby rejestrować i przesyłać strumieniowo dane GPS wraz z istniejącymi danymi czujnika. Alternatywnie, mikrokontroler podłączony do pomocniczego interfejsu szeregowego może być używany do dodawania ogólnej funkcjonalności wejścia/wyjścia.
Opis wyprowadzeń pomocniczego interfejsu szeregowego znajduje się w rozdziale 2.3, natomiast numery części złącza odpowiadającego za połączenie znajdują się w rozdziale 2.6.
5.1. Pomocnicza specyfikacja szeregowa
- Szybkość transmisji: 7 b/s do 12 Mb/s
- Sprzętowa kontrola przepływu RTS/CTS: włączony/wyłączony
- Odwróć linie danych (dla zapewnienia zgodności z RS-232): włączony/wyłączony
- Dane: 8-bit (bez imprezy)
- Bity stopu: 1
- Tomtage: 3.3 V (wejścia tolerują napięcie RS-232)tagjest)
5.2. Wysyłanie danych
Dane są przesyłane z pomocniczego interfejsu szeregowego poprzez wysłanie pomocniczej wiadomości danych szeregowych do
urządzenie. Więcej informacji znajdziesz w sekcji 7.1.15.
5.3. Odbieranie danych
Dane otrzymane przez pomocniczy interfejs szeregowy są wysyłane przez urządzenie jako pomocnicza wiadomość danych szeregowych, jak opisano w rozdziale 7.2.1. Otrzymane bajty są buforowane przed wysłaniem razem w pojedynczej wiadomości, gdy spełniony jest jeden z następujących warunków:
- Liczba bajtów przechowywanych w buforze jest zgodna z rozmiarem bufora
- Nie odebrano żadnych bajtów przez okres dłuższy niż limit czasu
- Odbiór bajtu równego znakowi ramki
Rozmiar bufora, limit czasu i znak ramki można dostosować w ustawieniach urządzenia.ampUżycie tych ustawień polega na ustawieniu znaku ramki na wartość znaku nowej linii („\n”, wartość dziesiętna 10), tak aby każdy ciąg ASCII zakończony znakiem nowej linii, odebrany przez pomocniczy interfejs szeregowy, był wysyłany jako oddzielny ciąg czasu.amped wiadomość.
5.4. Przejście OSC
Jeśli włączony jest tryb OSC passthrough, pomocniczy interfejs szeregowy nie będzie wysyłał i odbierał danych w sposób opisany w sekcjach 5.2 i 5.3. Zamiast tego pomocniczy interfejs szeregowy będzie wysyłał i odbierał pakiety OSC zakodowane jako pakiety SLIP. Zawartość OSC odbierana przez pomocniczy interfejs szeregowy jest przekazywana do wszystkich aktywnych kanałów komunikacyjnych jako timestamped OSC bundle. Wiadomości OSC otrzymane za pośrednictwem dowolnego aktywnego kanału komunikacyjnego, który nie jest rozpoznawany, zostaną przesłane do pomocniczego interfejsu szeregowego. Umożliwia to bezpośrednią komunikację z urządzeniami OSC innych firm i niestandardowymi urządzeniami szeregowymi za pośrednictwem wiadomości wysyłanych i odbieranych wraz z istniejącym ruchem OSC.
Moduł rozszerzający wejścia/wyjścia Teensy firmy NGIMUamppokazuje, jak Teensy (mikrokontroler zgodny z Arduino) podłączony do pomocniczego interfejsu szeregowego może służyć do sterowania diodami LED i przesyłania danych z czujników za pomocą trybu passthrough OSC.
5.5. Kontrola przepływu sprzętu RTS/CTS
Jeśli w ustawieniach urządzenia nie włączono sterowania przepływem sprzętowym RTS/CTS, wejście CTS i wyjście RTS można kontrolować ręcznie. Zapewnia to uniwersalne cyfrowe wejście i wyjście, które można wykorzystać do komunikacji z zewnętrzną elektroniką. Na przykładample: wykrywanie naciśnięcia przycisku lub sterowanie diodą LED. Stan wyjścia RTS jest ustawiany poprzez wysłanie pomocniczej wiadomości szeregowej RTS do urządzenia, jak opisano w rozdziale 7.2.2.ampUrządzenie wysyła pomocniczy komunikat CTS szeregowy za każdym razem, gdy zmienia się stan wejściowy CTS, zgodnie z opisem w rozdziale 7.1.16.
5.6. Wyjście zasilania 3.3 V
Pomocniczy interfejs szeregowy zapewnia wyjście 3.3 V, które może być używane do zasilania zewnętrznej elektroniki. To wyjście jest wyłączane, gdy urządzenie przechodzi w tryb uśpienia, aby zapobiec rozładowywaniu baterii przez zewnętrzną elektronikę, gdy urządzenie nie jest aktywne.
Wyślij stawki, sampstawki i czasyamps
Ustawienia urządzenia pozwalają użytkownikowi określić szybkość wysyłania każdego typu komunikatu pomiarowego, np.ample, komunikat czujników (sekcja 7.1.2), komunikat kwaternionów (sekcja 7.1.4) itd. Szybkość wysyłania nie ma wpływu na sampszybkość odpowiednich pomiarów. Wszystkie pomiary są pozyskiwane wewnętrznie przy ustalonym sampstawki podane w tabeli 6. Najkrótszy czasamp dla każdego pomiaru jest tworzony, gdy sample jest nabyte. Najszybciejamp jest zatem pomiarem wiarygodnym, niezależnym od opóźnień i buforowania związanych z danym kanałem komutacyjnym.
| Pomiar | Sampstawka |
| Żyroskop | 400 Hz |
| Akcelerometr | 400 Hz |
| Magnetometr | 20 Hz |
| Ciśnienie barometryczne | 25 Hz |
| Wilgotność | 25 Hz |
| Temperatura procesora | 1kHz |
| Temperatura żyroskopu i akcelerometru | 100 Hz |
| Temperatura czujnika środowiskowego | 25 Hz |
| Bateria (procent)tage, czas opróżnienia, objętośćtage, prąd) | 5 Hz |
| Wejścia analogowe | 1kHz |
| RSSI | 2 Hz |
Tabela 6: Stałe wewnętrzne sampceny plików
Jeżeli określona szybkość wysyłania jest większa niż sample rate pomiaru skojarzonego, a następnie pomiary będą powtarzane w ramach wielu wiadomości. Powtarzane pomiary można zidentyfikować jako powtarzane timestamps. Można określić szybkości wysyłania przekraczające przepustowość kanału komunikacyjnego. Spowoduje to utratę wiadomości. TimestampNależy używać s w celu zapewnienia odporności systemu odbiorczego na utratę wiadomości.
Protokół komunikacyjny
Cała komunikacja jest kodowana jako OSC. Dane przesyłane przez UDP używają OSC zgodnie ze specyfikacją OSC v1.0. Zestaw danych przez USB, szeregowo lub zapisany na karcie SD jest kodowany OSC jako pakiety SLIP zgodnie ze specyfikacją OSC v1.1. Implementacja OSC wykorzystuje następujące uproszczenia:
- Wiadomości OSC wysyłane do urządzenia mogą używać typów argumentów liczbowych (int32, float32, int64, czas OSC tag, 64-bitowy double, character, boolean, nil lub Infinitum) zamiennie, a także typy argumentów blob i string zamiennie.
- Wzorce adresów OSC wysyłane do urządzenia nie mogą zawierać żadnych znaków specjalnych: '?', '*', '[]' ani '{}'.
- Wiadomości OSC wysyłane do urządzenia mogą być wysyłane w pakietach OSC. Jednak harmonogram wiadomości zostanie zignorowany.
7.1. Dane z urządzenia
Wszystkie dane wysyłane z urządzenia są wysyłane jako timestampPakiet OSC zawierający pojedynczą wiadomość OSC.
Wszystkie wiadomości danych, z wyjątkiem wiadomości przycisku, pomocniczych wiadomości szeregowych i wiadomości szeregowych, są wysyłane w sposób ciągły z szybkością wysyłania określoną w ustawieniach urządzenia.
Najszybciejamp pakietu OSC jest czasem OSC tag. Jest to 64-bitowa liczba stałoprzecinkowa. Pierwsze 32 bity określają liczbę sekund od 00:00 1 stycznia 1900 r., a ostatnie 32 bity określają ułamkowe części sekundy z dokładnością około 200 pikosekund. Jest to reprezentacja używana przez Internet NTP timestamps. Czas OSC tag można przekonwertować na wartość dziesiętną sekund, najpierw interpretując wartość jako 64-bitową liczbę całkowitą bez znaku, a następnie dzieląc tę wartość przez 2 32. Ważne jest, aby to obliczenie zostało zaimplementowane przy użyciu typu zmiennoprzecinkowego podwójnej precyzji, w przeciwnym razie brak precyzji spowoduje poważne błędy.
7.1.1. Wiadomość przycisku
Adres OSC: /button
Wiadomość przycisku jest wysyłana za każdym razem, gdy naciśnięty zostanie przycisk zasilania. Wiadomość nie zawiera żadnych argumentów.
7.1.2. Czujniki
Adres OSC: /sensors
Wiadomość czujnika zawiera pomiary z żyroskopu, akcelerometru, magnetometru i barometru. Argumenty wiadomości podsumowano w tabeli 7.
| Argument | Typ | Opis |
| 1 | pływak32 | Oś x żyroskopu w °/s |
| 2 | pływak32 | Oś y żyroskopu w °/s |
| 3 | pływak32 | Żyroskop oś z w °/s |
| 4 | pływak32 | Oś x akcelerometru w g |
| 5 | pływak32 | Oś y akcelerometru w g |
| 6 | pływak32 | Akcelerometr osi z w g |
| 7 | pływak32 | Oś x magnetometru w µT |
| 8 | pływak32 | Oś y magnetometru w µT |
| 9 | pływak32 | Oś z magnetometru w µT |
| 10 | pływak32 | Barometr w hPa |
Tabela 7: Argumenty komunikatu czujnika
7.1.3. Wielkości
Adres OSC: /magnitudes
Wiadomość o wielkościach zawiera pomiary wielkości żyroskopu, akcelerometru i magnetometru. Argumenty wiadomości są podsumowane w Tabeli 8: Argumenty wiadomości o wielkościach.
| Argument | Typ | Opis |
| 1 | pływak32 | Wielkość żyroskopu w °/s |
| 2 | pływak32 | Wielkość akcelerometru w g |
| 3 | pływak32 | Wielkość magnetometru w µT |
Tabela 8: Argumenty wiadomości o wielkościach
7.1.4. Kwaternion
Adres OSC: /quaternion
Wiadomość kwaternionu zawiera wyjście kwaternionu algorytmu pokładowego AHRS opisujące orientację urządzenia względem Ziemi (konwencja NWU). Argumenty wiadomości podsumowano w tabeli 9.
| Argument | Typ | Opis |
| 1 | pływak32 | Kwaternion w elemencie |
| 2 | pływak32 | Element kwaternionu x |
| 3 | pływak32 | Kwaternion y element |
| 4 | pływak32 | Element kwaternionu z |
Tabela 9: Argumenty wiadomości kwaternionów
7.1.5. Macierz rotacji
Adres OSC: /matrix
Wiadomość macierzy rotacji zawiera wyjście macierzy rotacji pokładowego algorytmu AHRS opisujące orientację urządzenia względem Ziemi (konwencja NWU). Argumenty wiadomości opisują macierz w rząd-duże zamówienie jak podsumowano w Tabeli 10.
| Argument | Typ | Opis |
| 1 | pływak32 | Macierz rotacyjna xx element |
| 2 | pływak32 | Macierz obrotu elementu xy |
| 3 | pływak32 | Macierz obrotu elementu xz |
| 4 | pływak32 | Macierz rotacyjna yx element |
| 5 | pływak32 | Macierz rotacyjna yy element |
| 6 | pływak32 | Macierz obrotu Yz element |
| 7 | pływak32 | Element macierzy rotacyjnej Zx |
| 8 | pływak32 | Macierz rotacyjna elementu zy |
| 9 | pływak32 | Element macierzy rotacyjnej zz |
Tabela 10: Argumenty komunikatu macierzy rotacji
7.1.6. Kąty Eulera
Adres OSC: /Euler
Wiadomość Euler angles zawiera wyjście Euler angle algorytmu pokładowego AHRS opisujące orientację urządzenia względem Ziemi (konwencja NWU). Argumenty wiadomości podsumowano w tabeli 11.
| Argument | Typ | Opis |
| 1 | pływak32 | Kąt obrotu (x) w stopniach |
| 2 | pływak32 | Kąt nachylenia (y) w stopniach |
| 3 | pływak32 | Kąt odchylenia/kierunku (z) w stopniach |
7.1.7. Przyspieszenie liniowe
Adres OSC: /liniowy
Wiadomość o przyspieszeniu liniowym zawiera dane wyjściowe przyspieszenia liniowego algorytmu fuzji czujników pokładowych opisującego przyspieszenie bez grawitacji w układzie współrzędnych czujnika. Argumenty wiadomości podsumowano w tabeli 12.
| Argument | Typ | Opis |
| 1 | pływak32 | Przyspieszenie w osi x czujnika w g |
| 2 | pływak32 | Przyspieszenie w osi y czujnika w g |
| 3 | pływak32 | Przyspieszenie w osi z czujnika w g |
Tabela 12: Argumenty komunikatu o przyspieszeniu liniowym
7.1.8. Przyspieszenie Ziemi
Adres OSC: /earth
Wiadomość o przyspieszeniu Ziemi zawiera dane wyjściowe przyspieszenia Ziemi algorytmu fuzji czujników pokładowych opisującego przyspieszenie bez grawitacji w układzie współrzędnych Ziemi. Argumenty wiadomości podsumowano w tabeli 13.
| Argument | Typ | Opis |
| 1 | pływak32 | Przyspieszenie na osi x Ziemi w g |
| 2 | pływak32 | Przyspieszenie na osi y Ziemi w g |
| 3 | pływak32 | Przyspieszenie w osi z Ziemi w g |
Tabela 13: Argumenty komunikatu o przyspieszeniu Ziemi
7.1.9. Wysokość
Adres OSC: /altitude
Wiadomość o wysokości zawiera pomiar wysokości nad poziomem morza. Argument wiadomości jest podsumowany w Tabeli 14.
| Argument | Typ | Opis |
| 1 | pływak32 | Wysokość nad poziomem morza w m |
Tabela 14: Argument komunikatu o wysokości
7.1.10. Temperatura
Adres OSC: /temperatura
Wiadomość o temperaturze zawiera pomiary z każdego z czujników temperatury pokładowych urządzenia. Argumenty wiadomości podsumowano w Tabeli 15.
| Argument | Typ | Opis |
| 1 | pływak32 | Temperatura żyroskopu/akcelerometru w °C |
| 2 | pływak32 | Temperatura barometru w °C |
Tabela 15: Argumenty komunikatu o temperaturze
7.1.11. Wilgotność
Adres OSC: /wilgotność
Wiadomość o wilgotności zawiera pomiar wilgotności względnej. Argument wiadomości jest podsumowany w Tabeli 16.
| Argument | Typ | Opis |
| 1 | pływak32 | Wilgotność względna w % |
Tabela 16: Argument komunikatu o wilgotności
7.1.12. Bateria
Adres OSC: /battery
Wiadomość o stanie baterii zawiera informację o jej pojemnościtage i bieżące pomiary, a także stany algorytmu wskaźnika paliwa. Argumenty komunikatu podsumowano w tabeli 17.
| Argument | Typ | Opis |
| 1 | pływak32 | Poziom naładowania baterii w % |
| 2 | pływak32 | Czas opróżnienia w minutach |
| 3 | pływak32 | Pojemność bateriitage w V |
| 4 | pływak32 | Prąd akumulatora w mA |
| 5 | smyczkowy | Stan ładowarki |
Tabela 17: Argumenty wiadomości o baterii
7.1.13. Wejścia analogowe
Adres OSC: /analogowy
Wiadomość wejść analogowych zawiera pomiary objętości wejść analogowychtages. Argumenty wiadomości podsumowano w Tabeli 18.
| Argument | Typ | Opis |
| 1 | pływak32 | Kanał 1 tomtage w V |
| 2 | pływak32 | Kanał 2 tomtage w V |
| 3 | pływak32 | Kanał 3 tomtage w V |
| 4 | pływak32 | Kanał 4 tomtage w V |
| 5 | pływak32 | Kanał 5 tomtage w V |
| 6 | pływak32 | Kanał 6 tomtage w V |
| 7 | pływak32 | Kanał 7 tomtage w V |
| 8 | pływak32 | Kanał 8 tomtage w V |
Tabela 18: Argumenty komunikatów wejść analogowych
7.1.14 Wskaźnik RSSI
Adres OSC: /RSSI
Komunikat RSSI zawiera pomiar RSSI (Receive Signal Strength Indicator) dla połączenia bezprzewodowego. Ten pomiar jest ważny tylko wtedy, gdy moduł Wi-Fi działa w trybie klienta. Argumenty komunikatu podsumowano w Tabeli 19.
| Argument | Typ | Opis |
| 1 | pływak32 | Pomiar RSSI w dBm |
| 2 | pływak32 | Pomiar RSSI w procentachtaggdzie 0% do 100% reprezentuje zakres od -100 dBm do -50 dBm. |
Tabela 19: Argument wiadomości RSSI
7.1.15 Dane szeregowe pomocnicze
Adres OSC: /aux serial
Pomocnicza wiadomość szeregowa zawiera dane otrzymane przez pomocniczy interfejs szeregowy. Argument wiadomości może być jednym z dwóch typów w zależności od ustawień urządzenia, jak podsumowano w Tabela 20.
| Argument | Typ | Opis |
| 1 | kropelka | Dane są odbierane poprzez pomocniczy interfejs szeregowy. |
| 1 | smyczkowy | Dane otrzymane poprzez pomocniczy interfejs szeregowy, w którym wszystkie bajty zerowe zostały zastąpione parą znaków „/0”. |
Tabela 20: Argument pomocniczej wiadomości danych szeregowych
7.1.16 Wejście szeregowe CTS pomocnicze
Adres OSC: /aux serial/cts
Pomocnicza wiadomość wejściowa szeregowa CTS zawiera stan wejściowy CTS pomocniczego interfejsu szeregowego, gdy sterowanie przepływem sprzętowym jest wyłączone. Ta wiadomość jest wysyłana za każdym razem, gdy zmienia się stan wejścia CTS. Argument wiadomości jest podsumowany w Tabeli 21.
| Argument | Typ | Opis |
| 1 | wartość logiczna | Stan wejścia CTS. False = niski, True = wysoki. |
Tabela 21: Argument komunikatu wejściowego pomocniczego szeregowego CTS
7.1.17. Wejście szeregowe CTS
Adres OSC: /serial/cts
Komunikat wejściowy szeregowy CTS zawiera stan wejściowy CTS interfejsu szeregowego, gdy sterowanie przepływem sprzętowym jest wyłączone. Ten komunikat jest wysyłany za każdym razem, gdy zmienia się stan wejścia CTS. Argument komunikatu jest podsumowany w Tabeli 22.
| Argument | Typ | Opis |
| 1 | wartość logiczna | Stan wejścia CTS. False = niski, True = wysoki. |
Tabela 22: Argument komunikatu wejściowego szeregowego CTS
7.2. Dane do urządzenia
Dane są wysyłane do urządzenia jako komunikaty OSC. Urządzenie nie wyśle komunikatu OSC w odpowiedzi.
7.2.1. Dane szeregowe pomocnicze
Adres OSC: /auxserial
Pomocnicza wiadomość szeregowa jest używana do wysyłania danych (jednego lub więcej bajtów) z pomocniczego interfejsu szeregowego. Ta wiadomość może być wysłana tylko wtedy, gdy tryb „OSC passthrough” nie jest włączony. Argument wiadomości jest podsumowany w Tabeli 23.
| Argument | Typ | Opis |
| 1 | OSC-blob / OSC-string | Dane do przesłania z pomocniczego interfejsu szeregowego |
Tabela 23: Argumenty komunikatu danych szeregowych pomocniczych
7.2.2. Wyjście szeregowe RTS pomocnicze
Adres OSC: /aux serial/rts
Pomocniczy szeregowy komunikat RTS służy do sterowania wyjściem RTS pomocniczego interfejsu szeregowego.
Ta wiadomość może zostać wysłana tylko wtedy, gdy kontrola przepływu sprzętowego jest wyłączona. Argument wiadomości jest podsumowany w Tabeli 24.
| Argument | Typ | Opis |
| 1 | Int32/float32/wartość logiczna | Stan wyjścia RTS. 0 lub fałsz = niski, różny od zera lub prawda = wysoki. |
Tabela 24: Argumenty komunikatu wyjściowego RTS pomocniczego szeregowego
7.2.3. Wyjście szeregowe RTS
Adres OSC: /serial/rts
Komunikat szeregowy RTS jest używany do sterowania wyjściem RTS interfejsu szeregowego. Komunikat ten może być wysłany tylko wtedy, gdy wyłączone jest sterowanie przepływem sprzętowym. Argument komunikatu jest podsumowany w Tabeli 25.
| Argument | Typ | Opis |
| 1 | Int32/float32/wartość logiczna | Stan wyjścia RTS. 0 lub fałsz = niski, różny od zera lub prawda = wysoki. |
Tabela 25: Argumenty komunikatu wyjściowego szeregowego RTS
7.3. Polecenia
Wszystkie polecenia są wysyłane jako komunikaty OSC. Urządzenie potwierdzi odbiór polecenia, wysyłając identyczny komunikat OSC z powrotem do hosta.
7.3.1. Ustaw czas
Adres OSC: /time
Polecenie set time ustawia datę i godzinę na urządzeniu. Argumentem message jest OSCtimetag.
7.3.2. Wycisz
Adres OSC: /mute
Polecenie mute blokuje wysyłanie wszystkich wiadomości danych wymienionych w sekcji 7.1. Wiadomości potwierdzające polecenia i wiadomości odpowiedzi odczytu/zapisu ustawień nadal będą wysyłane. Urządzenie pozostanie wyciszone, dopóki nie zostanie wysłane polecenie unmute.
7.3.3. Wyłącz wyciszenie
Adres OSC: /unmute
Polecenie unmute spowoduje cofnięcie stanu wyciszenia opisanego w rozdziale 7.3.2.
7.3.4. Zresetuj
Adres OSC: /reset
Polecenie resetu wykona reset oprogramowania. Jest to równoważne wyłączeniu i ponownemu włączeniu urządzenia. Reset oprogramowania zostanie wykonany 3 sekundy po otrzymaniu polecenia, aby upewnić się, że host jest w stanie potwierdzić polecenie przed jego wykonaniem.
7.3.5. Sen
Adres OSC: /sleep
Polecenie sleep przełączy urządzenie w tryb uśpienia (wyłączy). Urządzenie nie przejdzie w tryb uśpienia do 3 sekund po otrzymaniu polecenia, aby upewnić się, że host jest w stanie potwierdzić polecenie przed jego wykonaniem.
7.3.6. Tożsamość
Adres OSC: /identify
Polecenie identify spowoduje, że wszystkie diody LED będą migać szybko przez 5 sekund. Może to być przydatne podczas próby zidentyfikowania konkretnego urządzenia w grupie wielu urządzeń.
7.3.7. Zastosuj
Adres OSC: /apply
Polecenie apply zmusi urządzenie do natychmiastowego zastosowania wszystkich oczekujących ustawień, które zostały zapisane, ale jeszcze nie zastosowane. Potwierdzenie tego polecenia jest wysyłane po zastosowaniu wszystkich ustawień.
7.3.8. Przywróć domyślne
Adres OSC: /default
Polecenie restore default spowoduje przywrócenie wszystkich ustawień urządzenia do wartości fabrycznych.
7.3.9. Inicjalizacja AHRS
Adres OSC: /ahrs/initialise
Polecenie AHRS initialise ponownie zainicjuje algorytm AHRS.
7.3.10. AHRS zerowe odchylenie
Adres OSC: /ahrs/zero
Polecenie AHRS zero yaw wyzeruje składową yaw bieżącej orientacji algorytmu AHRS. To polecenie może zostać wydane tylko wtedy, gdy magnetometr jest ignorowany w ustawieniach AHRS.
7.3.11. Echo
Adres OSC: /echo
Polecenie echo można wysłać z dowolnymi argumentami, a urządzenie odpowie identyczną wiadomością OSC.
7.4. Ustawienia
Ustawienia urządzenia są odczytywane i zapisywane za pomocą komunikatów OSC. Karta ustawień oprogramowania urządzenia
zapewnia dostęp do wszystkich ustawień urządzenia i zawiera szczegółową dokumentację dla każdego ustawienia.
7.4.1. Przeczytaj
Ustawienia są odczytywane poprzez wysłanie komunikatu OSC z odpowiednim adresem OSC ustawienia i bez argumentów. Urządzenie odpowie komunikatem OSC z tym samym adresem OSC i bieżącą wartością ustawienia jako argumentem.
7.4.2. Napisz
Ustawienia są zapisywane poprzez wysłanie komunikatu OSC z odpowiednim adresem OSC ustawienia i wartością argumentu. Urządzenie odpowie komunikatem OSC z tym samym adresem OSC i nową wartością ustawienia jako argumentem.
Niektóre zapisy ustawień nie są stosowane natychmiast, ponieważ może to spowodować utratę komunikacji z urządzeniem, jeśli ustawienie wpływające na kanał komunikacji zostanie zmodyfikowane. Te ustawienia są stosowane 3 sekundy po ostatnim zapisie dowolnego ustawienia.
7.5. Błędy
Urządzenie będzie wysyłać komunikaty o błędach w formie komunikatu OSC z adresem OSC: /error i argumentem w postaci pojedynczego ciągu znaków.
A. Integracja modułu GPS z NGIMU
W tej sekcji opisano, jak zintegrować gotowy moduł GPS z NGIMU. NGIMU jest kompatybilny z dowolnym szeregowym modułem GPS, „Najlepszy system GPS firmy Adafruit” Breakout – 66 kanałów z aktualizacjami 10 Hz – wersja 3” został tutaj wybrany do celów demonstracyjnych. Ten moduł można kupić od Adafruit lub jakikolwiek inny dystrybutor.
A.1. Konfiguracja sprzętu
Klips baterii pastylkowej CR1220 i przewody złącza pomocniczego interfejsu szeregowego muszą być przylutowane do płytki modułu GPS. Numery części złącza pomocniczego interfejsu szeregowego są szczegółowo opisane w rozdziale 2.6. Wymagane połączenia między pomocniczym portem szeregowym a modułem GPS są opisane w tabeli 26. Rysunek 5 przedstawia zmontowany moduł GPS ze złączem dla pomocniczego interfejsu szeregowego.
| Pomocniczy pin szeregowy | Pin modułu GPS |
| Grunt | „GND” |
| RTS | Nie połączony |
| Wyjście 3.3 V | „3.3 V” |
| RX | „TX” |
| TX | „RX” |
| CTS | Nie połączony |
Tabela 26: Połączenia pomocniczego interfejsu szeregowego z modułem GPS
Rysunek 4: Zmontowany moduł GPS ze złączem do pomocniczego interfejsu szeregowego
Bateria pastylkowa CR1220 jest niezbędna do zachowania ustawień modułu GPS i zasilania zegara czasu rzeczywistego, gdy nie ma zewnętrznego zasilania. Moduł GPS traci zasilanie za każdym razem, gdy NGIMU jest wyłączany. Zegar czasu rzeczywistego znacznie skraca czas potrzebny do uzyskania blokady GPS. Można się spodziewać, że bateria wytrzyma około 240 dni.
A.2. Ustawienia NGIMU
Ustawienie pomocniczej szybkości transmisji szeregowej musi być ustawione na 9600. Jest to domyślna szybkość transmisji modułu GPS. Moduł GPS wysyła dane w oddzielnych pakietach ASCII, każdy zakończony znakiem nowej linii. Ustawienie pomocniczego znaku ramki szeregowej musi być ustawione na 10, aby każdy pakiet ASCII był timestamped i transmitowane/rejestrowane przez NGIMU oddzielnie. Ustawienie pomocniczego szeregowego „wyślij jako ciąg” musi być włączone, aby pakiety były interpretowane jako ciągi przez oprogramowanie NGIMU. Wszystkie inne ustawienia powinny zostać pozostawione przy wartościach domyślnych, aby ustawienia odpowiadały tym pokazanym na Rysunku 5.
Rysunek 5: Ustawienia pomocniczego interfejsu szeregowego skonfigurowane dla modułu GPS
A.3. Viewgromadzenie i przetwarzanie danych GPS
Po skonfigurowaniu ustawień NGIMU zgodnie z opisem w sekcji A.2 dane GPS zostaną odebrane i przesłane do wszystkich aktywnych kanałów komunikacyjnych w postaci listy czasowej.amppomocniczy komunikat danych szeregowych, jak opisano w rozdziale 7.1.15. Można użyć graficznego interfejsu użytkownika NGIMU, aby view przychodzące dane GPS za pomocą pomocniczego terminala szeregowego (w menu Narzędzia). Rysunek 6 przedstawia przychodzące dane GPS po osiągnięciu pozycji GPS. Moduł może potrzebować kilkudziesięciu minut, aby osiągnąć pozycję GPS, gdy jest zasilany po raz pierwszy. 
Rysunek 6: Przychodzące dane GPS wyświetlane w pomocniczym terminalu szeregowym
Domyślne ustawienia modułu GPS zapewniają dane GPS w czterech typach pakietów NMEA: GPGGA, GPGSA, GPRMC i GPVTG. Podręcznik referencyjny NMEA zawiera szczegółowy opis danych zawartych w każdym z tych pakietów.
Oprogramowanie NGIMU można wykorzystać do rejestrowania danych w czasie rzeczywistym w formacie CSV files lub do konwersji danych zarejestrowanych na kartę SD file do CSV files. Dane GPS są dostępne w pliku auxserial.csv file. Ten file zawiera dwie kolumny: pierwsza kolumna to czasamp danego pakietu NMEA wygenerowanego przez NGIMU, gdy pakiet został odebrany z modułu GPS, a druga kolumna to pakiet NMEA. Użytkownik musi zająć się importowaniem i interpretacją tych danych.
A.4. Konfigurowanie częstotliwości aktualizacji 10 Hz
Domyślne ustawienia modułu GPS wysyłają dane z częstotliwością aktualizacji 1 Hz. Moduł można skonfigurować tak, aby wysyłał dane z częstotliwością aktualizacji 10 Hz. Można to osiągnąć, wysyłając pakiety poleceń w celu dostosowania ustawień zgodnie z opisem w sekcjach A.4.1 i A.4.2. Każdy pakiet poleceń można wysłać za pomocą pomocniczego terminala szeregowego interfejsu użytkownika NGIMU (w menu Narzędzia). Moduł GPS powróci do ustawień domyślnych, jeśli bateria zostanie wyjęta.
Pakiety poleceń opisane w tej sekcji są tworzone zgodnie z Pakiet poleceń GlobalTop PMTK dokumentacja z sumami kontrolnymi obliczonymi za pomocą narzędzia online Kalkulator sumy kontrolnej NMEA.
A.4.1. Krok 1 – Zmień szybkość transmisji na 115200
Wyślij pakiet poleceń „$PMTK251,115200*1F\r\n” do modułu GPS. Dane przychodzące pojawią się jako dane „śmieciowe”, ponieważ bieżąca pomocnicza szybkość transmisji szeregowej 9600 nie pasuje do nowej szybkości transmisji modułu GPS 115200. Ustawienie pomocniczej szybkości transmisji szeregowej musi zostać ustawione na 115200 w ustawieniach NGIMU, aby dane ponownie pojawiły się poprawnie.
A.4.2. Krok 2 – Zmień częstotliwość wyjściową na 10 Hz
Wyślij pakiet poleceń „$PMTK220,100*2F\r\n” do modułu GPS. Moduł GPS będzie teraz wysyłał dane z częstotliwością aktualizacji 10 Hz.
A.4.3. Zapisywanie ustawień modułu GPS
Moduł GPS automatycznie zapisze ustawienia. Jednak moduł GPS powróci do ustawień domyślnych, jeśli bateria zostanie wyjęta.

www.x-io.co.uk
© 2022
Dokumenty / Zasoby
![]() |
TECHNOLOGIA X-IO NGIMU Wysoka wydajność W pełni funkcjonalny IMU [plik PDF] Instrukcja obsługi NGIMU, Wysokowydajny w pełni funkcjonalny IMU, NGIMU Wysokowydajny w pełni funkcjonalny IMU, Wysokowydajny w pełni funkcjonalny IMU, W pełni funkcjonalny IMU, Wyróżniony IMU, IMU |




