Nano jest zbudowany wokół bardzo wysokiej jakości czujnika ciśnienia, a od rewizji 4 także czujnika ruchu. Ta strona wyjaśnia, skąd biorą się jego liczby, jak są dokładne i co może na nie wpływać, abyś wiedział, czego oczekiwać od danych.
Czujnik ciśnienia
Wysokość w Nano pochodzi z pomiaru ciśnienia powietrza czujnikiem Bosch BMP581, jednym z najdokładniejszych dostępnych czujników barometrycznych. To 24-bitowy czujnik pojemnościowy o względnej dokładności około pół metra i szumie tak niskim, że wychwytuje zmiany wysokości rzędu kilku centymetrów. Konstrukcja pojemnościowa to krok naprzód względem czujników piezorezystancyjnych z wcześniejszych konstrukcji, z dużo niższym szumem, mniejszym poborem prądu i wyższą szybkością danych. Mierzy też własną temperaturę i kompensuje odczyty ciśnienia w samym układzie, dzięki czemu surowe ciśnienie pozostaje dokładne, gdy czujnik się nagrzewa lub stygnie.
BMP581 pracuje z częstotliwością 80 Hz i 16-krotnym nadpróbkowaniem: dla każdej podawanej wartości ciśnienia wykonuje 16 wewnętrznych pomiarów i je uśrednia, więc do danych trafia około 1280 pomiarów na sekundę. To zamiana surowej szybkości przetwarzania na dużo niższy szum, z dużym zapasem nawet przy szybkiej fazie napędu. Mówiąc prosto, czujnik jest znacznie precyzyjniejszy, niż przewidywalna jest atmosfera, którą mierzy, więc rzadko ogranicza Twoje wyniki.
Płytki w rewizjach 1 do 3 używają starszego czujnika piezorezystancyjnego Bosch BMP390 z częstotliwością 50 Hz i 8-krotnym nadpróbkowaniem, maksymalnym, jakie obsługuje. To nadal bardzo dobry czujnik, a przed przejściem na BMP581 wyprodukowano tylko niewielką liczbę wczesnych płytek.
launch_detect na 1 m, postaw Nano na biurku i poczekaj na zielone mignięcia. Potem podrzuć go na coś co najmniej półtora metra wyżej, na przykład na wysoką szafę, i tam zostaw. Rzut zwykle nie daje wystarczająco stałego ciągu do szybkiego potwierdzenia startu, więc start jest potwierdzany na podstawie samej wysokości po 2,5 sekundy; dlatego Nano musi wylądować w miejscu, które utrzyma go powyżej wysokości wykrycia startu. Końcowa wysokość na wykresie to wysokość szafy nad biurkiem, pokazana z zaskakującą dokładnością jak na pomiar oparty na ciśnieniu. Pamiętaj, aby przed lotem przywrócić launch_detect.Jak obliczana jest wysokość
Nano przelicza zmierzone ciśnienie na wysokość za pomocą międzynarodowej atmosfery wzorcowej (ISA), modelu stosowanego w lotnictwie i w lotach konkursowych, z ciśnieniem na poziomie morza 1013,25 hPa i temperaturą 15 °C. Wartości te są ustalone w oprogramowaniu i nie można ich zmienić, więc każdy lot i każdy zawodnik jest mierzony na dokładnie tej samej podstawie. Przeliczenie jest dokładnie zgodne ze wzorem FAI:
wysokość (m) = ((15 + 273,15) ÷ 0,0065) × (1 − (ciśnienie ÷ 1013,25)0.190266669)
Ciśnienie to jednak tylko część historii. W każdym locie są chwile, gdy ciśnienie widziane przez czujnik jest błędne: silnik i przepływ powietrza zakłócają je przy starcie, ładunek wyrzucający wysyła impuls przez rakietę, a wiatr i światło mogą powodować skoki. Nawet powietrze opływające otwory wentylacyjne może wprowadzać błędy ciśnienia. Sam przebieg ciśnienia pokazałby to jako fałszywe wznoszenia i spadki.
Dlatego podczas zapisywania lotu Nano przetwarza cały lot za pomocą TrueFuse i TruePath. Od rewizji 4 TrueFuse korzysta z czujnika ruchu, aby utrzymać prawidłową wysokość podczas startu, gdy ciśnieniu nie można ufać, i pokonuje inne krótkie zakłócenia ciśnienia. Następnie TruePath usuwa skoki, takie jak impuls wyrzutu, i wygładza przebieg. Wysokość, prędkość i apogeum w zapisie pochodzą z tego poprawionego przebiegu, a obok przechowywana jest surowa wysokość barometryczna, więc zawsze widzisz, co zmierzył czujnik.
Jak to działa i jak obliczane są prędkość i apogeum, opisano na stronie TrueFuse, TruePath i apogeum.
Punkt odniesienia przy ziemi
Każda wysokość jest mierzona od wyrzutni, więc Nano potrzebuje niezwykle stabilnego zera. Na końcu uruchamiania wykonuje krótką serię odczytów ciśnienia, odrzuca najwyższy i najniższy, a resztę uśrednia, co daje czysty punkt wyjścia, nawet jeśli rakieta jest przenoszona.
Czekając na wyrzutni, przechowuje zapis ostatnich sekund i śledzi powolny dryf ciśnienia przy zmianie pogody, ignorując nagłe skoki, takie jak założenie stożka nosowego. Po wykryciu startu zero dla całego lotu jest ustalane ze średniej odczytów z okresu od 4 do 8 sekund przed tą chwilą. Uśrednienie czterech sekund danych usuwa szum, a ponieważ te odczyty pochodzą sprzed oderwania, samo wznoszenie nie może pociągnąć zera w górę.
Zero to średnia odczytów z okresu od 4 do 8 sekund przed wykryciem startu, wszystkich sprzed oderwania, i obowiązuje przez cały lot.
Co w praktyce wpływa na wysokość
Sam czujnik rzadko jest ograniczeniem. Na liczby wpływa powietrze w danym dniu, sam lot i sposób montażu Nano.
Warunki w dniu lotu
Nano oblicza wysokość według atmosfery wzorcowej: ciśnienia przy ziemi 1013,25 hPa i temperatury 15 °C. W dniu lotu rzeczywiste powietrze prawie nigdy nie jest dokładnie takie, a oba parametry wpływają na to, jak zmiana ciśnienia przekłada się na zmianę wysokości:
- Temperatura. Ciepłe powietrze jest rzadsze, niż zakłada standard, więc przy tym samym spadku ciśnienia rakieta wznosi się wyżej, a w zimnym powietrzu odwrotnie. Efekt to około 1% na każde 3 °C różnicy względem 15 °C.
- Ciśnienie powietrza. Ciśnienie na miejscu startu zależy od pogody i od wysokości terenu. Gdy różni się od standardu, wysokość zmienia się bardzo nieznacznie, o około 0,2% na każde 10 hPa.
To niewielkie efekty i oba możesz skorygować po locie. Na wykresie lotu w Altimeter Cloud wpisz rzeczywiste ciśnienie przy ziemi i temperaturę z dnia lotu, a wykres przeliczy wysokość. W razie potrzeby możesz potem pobrać skorygowany zapis lotu.
Sam lot
- Start. Silnik i podmuch powietrza przy opuszczaniu wyrzutni na chwilę zakłócają ciśnienie.
- Przepływ powietrza obok otworów wentylacyjnych. Prędkość i kąt rakiety względem strumienia powietrza zmieniają ciśnienie widziane przez otwory.
- Lot okołodźwiękowy i naddźwiękowy. W pobliżu i powyżej prędkości dźwięku fale uderzeniowe wokół rakiety mogą powodować duże błędy ciśnienia.
- Wyrzut. Ładunek wysyła przez rakietę impuls ciśnienia.
Same w sobie wyglądałyby jak fałszywe wznoszenia i spadki. TrueFuse i TruePath korygują większość z nich podczas zapisywania lotu, a surowa wysokość barometryczna zawsze pozostaje w zapisie obok poprawionej.
Montaż
- Otwory wentylacyjne. Czujnik jest tak dobry jak powietrze, które do niego dociera. Zbyt mało, zbyt małe lub źle rozmieszczone otwory sprawiają, że odczyt się opóźnia lub błądzi. Zobacz kalkulator otworów wentylacyjnych.
- Światło. Czujniki ciśnienia są wrażliwe na światło, więc montuj Nano pod osłoną i utrzymuj otwory wentylacyjne małe. Zobacz Montaż wysokościomierza.
Nano
- Nagrzanie po USB. Ładowanie trochę nagrzewa płytkę. Jeśli Nano był właśnie podłączony do USB, zostaw go w trybie lotu na maksymalnie sześć minut, aby przed startem wyrównał temperaturę z otoczeniem.
- Bardzo duża wysokość. Czujnik jest przewidziany do pracy do około 300 hPa, czyli około 9200 m (30 000 ft) w atmosferze wzorcowej. Powyżej najprawdopodobniej będzie nadal zapisywał wiarygodnie wyglądającą wysokość, ale jego dokładność nie jest tam określona, więc nie możemy za nią ręczyć.
Czujnik ruchu (rewizja 4 i nowsze)
Płytki w rewizji 4 i nowszych mają też czujnik ruchu ST LSM6DSO32, łączący akcelerometr i żyroskop. Oba zawsze pracują w pełnym zakresie, więc nawet ostra faza napędu nigdy nie wychodzi poza skalę. Dostarczają przebieg przyspieszenia, kąty startu i prowadnicy oraz nachylenie w trakcie lotu, pomagają potwierdzić rzeczywisty start i są tym, czego TrueFuse używa do korygowania wysokości podczas startu i w innych chwilach, gdy ciśnieniu nie można ufać.
| Parametr | Akcelerometr | Żyroskop |
|---|---|---|
| Zakres | ±32 g | ±2000 °/s |
| Rozdzielczość na jednostkę | 0,976 mg | 0,07 °/s |
| Rozdzielczość wyjścia | 16 bitów | 16 bitów |
Przy włączonym high_speed_sensor, czyli domyślnie, czujnik ruchu próbkuje z częstotliwością 1667 Hz (a żyroskop 3333 Hz przy ustawieniu 2), a każdy zapisany wiersz jest średnią tych próbek. Ogranicza to wpływ drgań silnika i konstrukcji na odczyty, więc zapisane przyspieszenie, obroty i kąty są czystsze.
Dla kątów żyroskop śledzi położenie rakiety podczas lotu od zera zmierzonego na wyrzutni. Akcelerometrowi ufa się tylko tam, gdzie naprawdę mierzy grawitację, czyli na wyrzutni i podczas powolnego opadania, ponieważ ciąg i obroty czynią go mylącym. Dzięki temu ciąg silnika nie zniekształca kątów, a właśnie na tym polegają w rakiecie filtry fuzji ogólnego przeznaczenia. Nie ma magnetometru, więc kierunek może powoli dryfować, ale w krótkim czasie lotu dryf pozostaje niewielki.
Aby uzyskać najlepsze wyniki, zamontuj Nano pewnie i równolegle do rakiety, skalibruj IMU i przed startem pozostaw rakietę nieruchomo na wyrzutni przez około minutę, aby Nano mógł dostroić żyroskop. Luźny montaż zniekształci kąty.
Co przechowuje zapis
Każda kolumna jest zapisywana z dokładnością odpowiednią do tego, co mierzy, zamiast z każdą ostatnią cyfrą czujnika, co utrzymuje rozsądny rozmiar plików przy zachowaniu wszystkich potrzebnych szczegółów. Zapisy ACLZ, domyślne, zawierają te same dane z tą samą dokładnością co CSV, a do tego surową wysokość barometryczną przed jakimkolwiek przetwarzaniem.
| Kolumna | Jednostka | Zapisywana jako |
|---|---|---|
| Czas | ms | 2 miejsca po przecinku (10 mikrosekund) |
| Wysokość | m | 3 miejsca po przecinku |
| Prędkość | m/s | 2 miejsca po przecinku |
| Przyspieszenie X, Y, Z | mg | Liczby całkowite |
| Przyspieszenie całkowite | mg | 1 miejsce po przecinku |
| Żyroskop X, Y, Z | °/s | Liczby całkowite |
| Pochylenie, przechylenie, odchylenie, nachylenie | stopnie | 2 miejsca po przecinku |
| Temperatura płytki | °C | 2 miejsca po przecinku, co 50. wiersz |
Ciśnienie (Rev 1 do 3 lub z include_pressure) | hPa | 6 miejsc po przecinku, obliczane z końcowej wysokości |
Czasy są liczone względem oderwania, więc wiersze z wyrzutni sprzed startu są ujemne. Kolumny ruchu występują tylko na płytkach w rewizji 4 i nowszych. Pełny układ opisano na stronie Format zapisu lotu.