PitLab elektronika modelarska
PitLab - Elektronika modelarska
  • Strona Główna
  • Autopilot Dedalus
  • SkyAssistant
  • APL2
  • APL3
  • System FPV
  • PitLab.Sklep
  • O firmie
  1. Jesteś tutaj:  
  2. Stron główna

Kalibracja żyroskopów

Szczegóły
Autor: Piotr Laskowski
Utworzono: 07 marzec 2025

Najważniejszą rzeczą w autopilocie jest jego jednostka inercyjna, będąca układem odniesienia położenia autopilota względem Ziemi. Czujnikami zasilającymi jednostkę danymi pomiarowymi są przede wszystkim żyroskopy oraz akcelerometry i magnetometry. Aby łatwiej można było sobie wyobrazić proporcję wykorzystania czujników, przyjmijmy, że żyroskopy dostarczają 97% potrzebnych danych, akcelerometry 2% a magnetometr 1% danych używanych do obliczenia kątów potrzebnych do orientacji w w przestrzeni. To pokazuje, że najważniejszym czujnikiem jest żyroskop. Używane w małym lotnictwie żyroskopy MEMS działają na zasadzie pomiaru siły Coriolisa i przeliczają ją na prędkość kątową. Jest to trudny pomiar, niemający naturalnego punktu odniesienia do zjawiska fizycznego, tak jak to jest w przypadku akcelerometrów, które mierzą bardzo silne przyspieszenie ziemskie, albo magnetometrów mierzących dużo słabsze, ale wyczuwalne np. igłą kompasu pole magnetyczne. Dlatego trzeba w sposób arbitralny wyznaczyć, że dla statycznego czujnika dana wartość jest prędkością zerową.

Dodatkowo stopień skomplikowania metody pomiaru wpływa na jego podatność na wpływ temperatury. O ile akcelerometr i magnetometr są praktycznie niepodatne albo inaczej mówiąc wpływ temperatury jest mniejszy, niż dokładność pomiaru jaką potrzebujemy osiągnąć, to żyroskop jest wyraźnie podatny.

Po trzecie, inny jest sposób wykorzystania danych przez wymienione 3 grupy czujników. O ile dane akcelerometru i magnetometru wchodzą do obliczeń wprost, jako arkus tangens poszczególnych składowych XYZ, to dane żyroskopu są całkowane. Załóżmy, że każdy z tych czujników ma 1% błędu w skali rozpiętości swojego pomiaru. Dla akcelerometru i żyroskopu w najgorszym przypadku błąd wyznaczania kąta będzie wynosił 2%. Natomiast w przypadku żyroskopu, ten 1% błędu prędkości kątowej wyrażonej w [°/s] będzie sumowany w każdym cyklu pomiarowym, co spowoduje, że błąd kąta będzie narastał z prędkością 1% na sekundę i już po krótkiej chwili spowoduje kumulację do katastrofalnie dużej wartości.

Z tymi problemami można sobie radzić na kilka sposobów. Niezbędnym minimum jest aby przy każdym starcie wyznaczyć zero prędkości kątowych dla zastałych warunków. To jest wystarczające do latania blisko i nisko, gdzie nie ma istotnych różnic temperatury. Chcąc lecieć wyżej trzeba mieć na uwadze że na każde 100m wysokości temperatura spada średnio o 0,6°C. Aby poradzić sobie z wpływem temperatury na pomiar, stosuje się termostatowanie, czyli nagrzanie czujników do stałej temperatury i kalibrację zera w tak ustalonych warunkach. Ze znanych autopilotów tak robi Pixhawk Cube. Wadą tego rozwiązania jest czas potrzebny na nagrzanie się czujnika, zwłaszcza w zimie. Innym podejściem jest zbadanie kształtu charakterystyki dryftu temperaturowego po to, aby w warunkach zmieniającej się w locie temperatury móc wyznaczyć współczynnik korekcji tego dryftu. Tak robi się w sprzedawanych tutaj AP opracowanych przez Zbiga. Daje to dobre efekty ale kalibracja jest bardziej pracochłonna i trudniej jest ją opracować.

W APL3 próbuję połączyć te dwie metody. Płytka modułu IMU ma wbudowana grzałkę zrobioną z kilku oporników. Czujniki IMU mają swoje termometry, więc można będzie uruchomić regulator termostatu, utrzymujący stałą temperaturę czujników. Pierwsze próby nagrzewania modułu jeszcze poza autopilotem wyglądają zadowalająco. Na termografie po lewej stronie widać grzałkę umieszczoną na spodniej stronie płytki modułu. Być może trzeba będzie trochę przedłużyć ścieżkę grzejącą, bo dół modułu gdzie siedzi ND130 jest niedogrzany. Na górnej stronie płytki widać jedno miejsce gdzie utworzył się mostek termiczny i jest wyraźnie cieplej. Na zdjęciach poniżej pokazano spód i wierzch płytki modułu, po ponad 3,5 minuty grzania pełną mocą.

Czytaj więcej: Kalibracja żyroskopów

Porównanie czujników ciśnienia różnicowego ND130 i MS4525

Szczegóły
Autor: Piotr Laskowski
Utworzono: 22 luty 2025

Czujnik różnicowy w autopilocie służy do obliczania prędkości względem powietrza nazywanej w lotnictwie IAS (ang. Indicated Air Speed). Podłącza się go do rurki Prandtla zwanej potocznie rurką Pitota, która z wejścia na swoim froncie dostarcza ciśnienia całkowitego a z otworów na obwodzie, dostarcza ciśnienie statyczne. Różnica tych ciśnień to ciśnienie dynamiczne, którego pierwiastek w odpowiada prędkości. Akurat w wielowirnikowcach nie ma potrzeby mierzyć prędkości, bo nie ma ryzyka utraty siły nośnej na płacie i przeciągnięcia, ale skoro powstaje sprzęt uniwersalny, to chciałbym mieć taki czujnik co najmniej jako opcję.

Na module inercyjnym było trochę miejsca, więc wstawiłem tam oprócz czujników ciśnienia bezwzględnego, jeszcze świeżo wygooglowany czujnik różnicowy ND130. Będę go porównywał z podłączonym do zewnętrznej magistrali I2C czujnikiem MS4525. Pomimo że MS4525 jest koszmarnie drogi, jest on standardem w małym lotnictwie.

Czytaj więcej: Porównanie czujników ciśnienia różnicowego ND130 i MS4525

Pomiary prędkości pamięci w kontrolerze STM32H7

Szczegóły
Autor: Piotr Laskowski
Utworzono: 23 styczeń 2025

Nie tak dawno robiłem testy badając możliwość obsługi kamery cyfrowej przez mikrokontrolery Cortex M7. Jeden badanych zestawów posługujący się pamięcią dynamiczna miał wyraźnie słabsze osiągi, nieporównywalnie mniejsze niż wynikało by to z niższej częstotliwości taktowania. Wyciągnąłem wtedy wniosek że pracuje wolniej dlatego, że jest wyposażony w pamięć dynamiczną wymagającą odświeżania i mającą bardziej skomplikowane adresowanie, osobno rzędy i kolumny. W swoim projekcie potrzebuję obrabiać obraz z kamery, więc zastosowałem najszybsza jaka znalazłem w tym rozmiarze pamięć statyczną IS61WV204816BLL-10TI, ale też dorzuciłem pamięć dynamiczną AS4C32M16SC-7TIN, tak na wszelki wypadek gdyby okazało się że będę potrzebował więcej pamięci niż założyłem na początku. Oba układy pracują na wspólnej 16-bitowej magistrali danych.

Obecnie dotarłem do etapu, gdzie mam już uruchomioną obsługę wszystkich pamięci i mogę je porównać.  Jako próbkę testową stosuję 1000-krotne przesłanie bufora 256 słów 16-bitowych między badaną pamięcią a najszybszą dostępną w kontrolerze, czyli Axi-RAM. W Przypadku użycia DMA po rozpoczęciu transferu czekam na jego zakończenie. Przed rozpoczęciem pomiaru pobieram czas z 16-bitowego  timera liczącego z rozdzielczością 1us, rozszerzonego 16-bitowym timerem programowym inkrementowanym w przerwaniu timera. Po zakończeniu transferu ponownie pobieram czas i liczę różnicę. Procedura pomiarowa dla przypadku pętli for() oraz DMA wygląda następująco:

Czytaj więcej: Pomiary prędkości pamięci w kontrolerze STM32H7

Pomiary pierwszych czujników w APL3

Szczegóły
Autor: Piotr Laskowski
Utworzono: 23 grudzień 2024

Projekt APL3 rozwija się, zasoby sprzętu są po kolei uruchamiane. Na obecnym etapie jest uruchomiona obsługa wyświetlacza  panelem dotykowym - zupełnie nieistotna z punktu widzenia autopilota, ale bardzo pomocna do pracy nad urządzeniem. Tutaj wykorzystałem obsługę wyświetlacza, oraz jego menu graficzne, które wypracowałem w niepublikowany projekcie testera modelarskiego. Ostatnio przeniosłem z APL2 obsługę GNSS dla odbiorników z chipsetem MTK i u-Blox. Rozbudowałem kilka rzeczy i obecnie urządzenie wykrywa brak odbiornika i inicjuje oba typy odbiorników bez względu na ich aktualny stan, czy ustawioną prędkość transmisji, tak więc można odbiornik podmienić w trakcie pracy i działa nadal. Nie działa mi jeszcze ustawianie częstotliwości generowania komunikatów na nowym odbiorniku SAM M10Q.

Przy tej okazji dołożyłem obsługę magnetometru wbudowanego w module odbiornika GNSS. Na zdjęciu jest historyczny już moduł odrzucony ze sprzedaży (źle prezentuje datę), ale mający wbudowany czujnik HMX5883L. Jest odczytywany po I2C przez DMA, bez jałowego czekania na wynik pomiaru. Jego wartości są prezentowane na ekranie jako Magn3. Dane z pozostałych czujników, które będą wbudowane w moduł IMU są na razie generowane sztucznie po to, aby testować mechanizm przekazywania danych z rdzenia wykonującego pomiary (Cortex M4) do rdzenia obsługującego komunikację i interfejs użytkownika (Cortex M7)

Czytaj więcej: Pomiary pierwszych czujników w APL3

APL3 - reaktywacja

Szczegóły
Autor: Piotr Laskowski
Utworzono: 20 październik 2024

Po kilkunastu latach przerwy postanowiłem reaktywować projekt komputera pokładowego na nowych zasadach otwartości projektu. Ma teraz odrobinę czasu, trochę przemyśleń i chciałbym je sprawdzić w rzeczywistości. Kilka słów na ten temat napisałem we wstępniaku do działu APL3. Prezentuję też schemat urządzenia i zamieściłem jego w miarę szczegółowe omówienie, tak aby można było zrozumieć jak to funkcjonuje.

Na obecnym etapie montowana jest płyta główna, zaprojektowane są pierwsze dwa moduły. Chciałbym jeszcze w tym roku uruchomić sprzęt i zacząć prace nad firmware. W miarę postępów prac będę publikował kolejne informacje w dziale APL3, który pojawił się w menu a istniejący do tej pory dział APL został przemianowany na APL2.

Nowy wygląd

Szczegóły
Autor: Piotr Laskowski
Utworzono: 01 październik 2024

Obecnie strona wygląda odrobinę inaczej niż wcześniej, przez wiele lat. To jest efekt aktualizacji CMS do nowszej wersji, gdyż wcześniejsza przestała być już wspierana. Zwykle aktualizacja przebiega bezobjawowo, tym razem była to gruba zmiana technologiczna z poważnymi konsekwencjami. Stary szablon, który swego czasu wypracowałem jest już niezgodny z obecnymi wymogami i musiałem przesiąść się na to, co jest dostępne od ręki.

Większość rzeczy udało się przywrócić do działania. Treści i pliki powinny być dokładnie te same. W sklepie wyparowały paczkomaty i niektóre płatności. To będę przywracał w pierwszej kolejności. Musiałem pozbyć się sporej części modułów uatrakcyjniających stronę, ale w większości to są bajery do uzupełnienia w wolnym czasie.

Jeżeli znajdziecie jakąś poważną dysfunkcjonalność strony to proszę o kontakt e-mailowy. Moje dane kontaktowe są na stronie "O firmie".

Oprócz kłopotów i masy pracy są też plusy. Pojawiła się możliwość dodatkowej autoryzacji np. kluczem Ubikey albo aplikacją np. Free OTP, co jest niezłym zabezpieczeniem przed zhakowaniem konta. Przynajmniej dla mnie jest to ważne.

Przy okazji przenosin zmniejszyłem rozmiar bazy użytkowników. Usunięte zostały konta, z których nie logowano się przez 10 lat i więcej. Wydaje mi się że to dobry kompromis między wygodą, bezpieczeństwem zostawienia porzuconego konta a trwałością ludzkiej pamięci. Już wcześniej robiłem podobne akcje, ale wtedy głównie ograniczałem się do kont podejrzanych o to, że są założone przez roboty.

Strona 5 z 17

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Logowanie

  • Nie pamiętasz hasła?
  • Nie pamiętasz nazwy?
  • Załóż swoje konto!

Subskrypcja

Znajdz na stronie

Copyright © 2026 PitLab elektronika modelarska. Wszelkie prawa zastrzeżone.
Joomla! jest wolnym oprogramowaniem wydanym na warunkach GNU Powszechnej Licencji Publicznej.