Komputer pokładowy
Zagadnienia związane z komputerem pokładowym AutoPitLot
Oprogramowanie komputera pokładowego służy do wizualizacji lotów, prezentacji danych on-line, konfiguracji, kalibracji i testowania urządzenia. Komunikacja oprogramowania ze sprzętem odbywa się lokalnie za pomocą szybkiego łącza USB lub zdalnie za pomocą łącza modemowego MOD, do którego mogą być przypięte moduły tranamisji bezprzewodowej radiomodem i bluetooth lub przewodowy interfejs FTDI
Główny ekran programu służy do wizualizacji 3D zarejestrowanych lotów. Przedstawia trasę lotu, której kolor i pochylenie wstęgi odpowiada jednemu z kilku wybranych parametrów lotu. Kolor opisany jest w legendzie wyświetlanej w prawym górnym rogu okna. Przedstawiony jest też histogram prezentowanego sygnału.
Pracujemy nad możliwością nałożenia mapy terenu na siatkę terenu lotów (najlepiej oglądać na pełnym ekranie):
Aplikacja może wyświetlać dane jednocześnie z wielu czujników z częstotliwością do 50 Hz. Można wybrać kolor i rodzaj linii, umieszczenie wielu wykresów na wspólnych lub oddzielnych układach współrzędnych. Tak wyglądają przykładowe wykresy:
Sposób tworzenia wykresów został przedstawiony na filmie (najlepiej oglądać na pełnym ekranie):
Program zawiera też szereg okien do konfiguracji i kalibracji poszczególnych modułów.
Poniżej okno kalibracji modułu inercyjnego.
Okno konfiguracji modułu pneumatycznego.
Okno konfiguracji radiomodemu Aerocomm.
Okno kalibracji magnetometru
Okno strojenia regulatorów PID
Okno miksera umożliwiające sterowanie różnymi platformami
Komputer pokładowy wszystkie istotne czujniki ma na wymiennych modułach. Umożliwia to elastyczny dobór zestawu czujników w zależności od parametrów platformy. Tak wygląda rozkład sygnałów na złączach płytki głównej komputera w wersji 2.0.
Patrząc na płytkę od lewego górnego rogu pierwsze jest złącze JTAG w postaci 9-szpilkowego gniazda Molex PicoBlade 53398. Poniżej jest 10-szpilkowe złącze odbiornika RC opisane "RC rec". Jest to standardowe złącze kołkowe o rozstawie 2,54mm przystosowane do wtyku IDC Amphenol na przewód taśmowy. Obok jest 3-szpilkowe złącze wyjścia audio opisane "Audio". Pasuje do wtyku jak w serwomechanizmach: Molex C-grid 2,54mm. Na dole płytki znajdują się dwa złącza wejść obrotomierzy opisane "RPM1" i "RPM2". To również są złącza jak w serwomechanizmach Molex C-grid 2,54mm.
Moduły zewnętrzne
Na samym dole płytki są cztery 8-szpilkowe złącza modułów zewnętrznych pasujące do wtyku Molex C-Grid MX-90142. Są to kolejno:
- moduł zewnętrzny 1, opisane jako "EX1",
- moduł zewnętrzny 2, opisane jako "EX2",
- moduł odbiornika GPS, opisany jako "GPS",
- moduł komunikacyjny (modemowy), opisany jako "MOD".
pin/gniazdo | EX1 | EX2 | GPS | MOD |
---|---|---|---|---|
1 | TX3/SDA1/RD1 | TX3/SDA1/RD1 | TXD0 | TXD1 |
3 | RX3/SCL1/TD1 | RX3/SCL1/TD1 | RXD0 | RXD1 |
5 | TX2/SDA2 | TX2/SDA2 | TX2/SDA2 | CTS1 |
7 | RX2/SCL2 | RX2/SCL2 | RX2/SCL2 | RTS1 |
2 | Vin | Vin | Vin | Vin |
4 | Module ID | Module ID | Module ID | Module ID |
6 | GND | GND | GND | GND |
8 | GND | GND | GND | GND |
Moduły wewnętrzne
Większą część płytki przykrywają od góry trzy moduły wewnętrzne mocowane na dwu rzędach 7-szpilkowych złącz. Opisana jest tylko kolejność pinów: "1" i "7". Na powyższym rysunku zaznaczony jest obrys modułów wewnętrznych. Moduły posiadają precyzyjne złącza szpilkowe typu STS 64P-K.
pin/strona | góra | dół |
---|---|---|
1 | MISO | +5,0V |
2 | SCLK | +3,3V |
3 | MOSI | +Vin |
4 | /CS1..3 | Module ID |
5 | SDA0 | GND |
6 | SCL0 | MDx0 (x=1..3) |
7 | GND | MDx1 (x=1..3) |
Przy prawym brzegu płytki znajduje się 6-szpilkowe złącze zasilające zielony Multiplex MPX 7925 opisane "+4-6V". Po jego lewej stronie jest rząd 12 złącz kołkowych do serwomechanizmów w standardowym układzie, takim jaki występuje w odbiornikach.
Za złączami są 3 miejsca na 2-szpilkowe złącza umożliwiające rozszerzenie ilości serw do 18. Zawierają tylko "żółty" przewód sygnałowy idący do serwa.
W okolicach procesora jest kilka padów pod kołki testowe. Są one podłączone do niewykorzystanych nóżek mikrokontrolera i są przewidziane do celów uruchomieniowych np. do wyzwalaniania oscyloskopu. Analogiczną funkcję pełnią pady umieszczone za LED statusu.
Czujnik prądu stosuje się do pomiaru natężenia prądu stałego. Zawiera przetwornik prąd na napięcie oraz dzielnik napięcia 16:1. Pomiar prądu stałego działa na zasadzie pomiaru spadku napięcia na oporniku pomiarowym o bardzo niskiej rezystancji.
Dostępny jest w wielu wersjach różniących się zakresem pomiarowym prądu (75, 50, 35 i 20) i w dwu wersjach różniących się dopuszczalnym napięciem pracy (36 i 60V).
Tutaj znajduje się schemat czujnika prądu
Efektywny zakres pomiarowy czujnika zależy od wartości napięcia referencyjnego przetwornika analogowo-cyfrowego użytego do próbkowania napięcia z czujnika. Kompleksowe zestawienie parametrów przedstawia poniższa tabela.
Prąd nominalny | Prąd maksymalny | Opornik pomiarowy | Wzmocnienie | Efektywny zakres pomiarowy w zależności od napięcia referencyjnego przetwornika A/C | |||
---|---|---|---|---|---|---|---|
3,0V | 3,3V | 4,096V | 5,0V | ||||
100A | 109,5A | 0,25mΩ | 0,050V/A | 60,0A | 66,0A | 81,9A | 100,0A |
75A | 77,5A | 0,5mΩ | 0,065V/A | 46,1A | 50,7A | 63,0A | 76,9A |
50A | 54,8A | 1,0mΩ | 0,1V/A | 30,0A | 33,0A | 41,0A | 50,0A |
35A | 38,7A | 2,0mΩ | 0,124V/A | 24,2A | 26,6A | 33,0A | 40,0A |
20A | 24,5A | 5,0mΩ | 0,235V/A | 12,8A | 14,0A | 17,4A | 21,3A |
10A | 24,5A | 5,0mΩ | 0,5V/A | 6,0A | 6,6A | 8,2A | 10,0A |
Tab. Parametry czujników do pomiaru prądu stałego
Czujnik prądu jest dedykowany do komputera pokładowego, ale może współpracować z innymi urządzeniami, np. z OSD. Przy współpracy z niektórymi OSD wykorzystuje się tylko wyjście czujnika prądu (I) oraz masę (GND). Mierzony obwód prądowy i układ pomiarowy np. OSD muszą mieć wspólną masę.
![pomiar prądu stałego przez OSD](/autopitlot/power_sens_sch600.jpg)
Schemat połączeniowy: pomiar prądu stałego w OSD
Wyprowadzenia przewodów z oznaczeniami widocznymi od spodu:
In (I+ w starszych wersjach) przewód prądowy od strony pakietu
Out (I- w starszych wersjach) przewód prądowy od strony obciążenia
Wyprowadzenia przewodów z oznaczeniami widocznymi od góry:
I wyjście napięciowe proporcjonalne do wartości przepływającego przez czujnik prądu
U wyjście napięciowe proporcjonalne do wartości napięcia zasilającego w stosunku 1:16
GND masa zasilania modułu
Płytka czujnika ma rozmiary 15 x 20 mm, waży 1,1 g (bez przewodów).
Zestaw otworów na dole płytki służy do przewleczenia przewodów, tak aby odciążyć mechanicznie spoinę.
Czujniki są dostępne w PitLab.Sklepie.
Przeczytaj też artykuł o tym jak wybrać czujnik prądu do wielowirnikowca.
Charakterystyki czujników U(I)
Charakterystyki były zdejmowane z kilku kolejnych czujników. Pokazują wielkość rozrzutu parametrów pomiędzy poszczególnymi egzemplarzami. Czujniki są przyzwoicie liniowe, ale mają spory rozrzut offsetu, dlatego wymagają indywidualnej kalibracji w docelowej aplikacji.
Czujnik prądu 75A
Czujnik prądu 50A
Czujnik prądu 35A
Jeden z kolegów zapytał się mnie o czujnik prądu 100A dostosowany do OSD Misia o napięciu referencyjnym przetwornika wynoszącym 2,5V. Jeżeli będzie potrzeba to mogę wprowadzić taki czujnik do oferty, ale chciałbym przestawić tutaj sposób jak można manewrować wartościami elementów aby osiągnąć zamierzone parametry czujnika. Dotyczy to zwłaszcza doboru napięcia wejściowego przetwornika, bo każdy projekt może mieć inne wymagania. Na schemacie liczyłem wartości dla napięcia wyjściowego wynoszącego 5V.
Moduł GPS jest źródłem informacji o położeniu geograficznym, prędkości względem ziemi oraz alternatywnym źródłem wysokości i kursu. W wersji 1.0 moduł GPSu był modułem wewnętrznym jednak ze względu na konieczność umieszczania komputera w środku ciężkości modelu latającego gdzie nie zawsze są odpowiednie warunki do odbioru sygnału radiowego, od wersji 2.0 jest modułem zewnętrznym. W celu ochrony przed czynnikami atmosferycznymi jest przystosowany do umieszczenia w obudowie Z-47U.
Moduł zawiera 10 Hz, 66-kanałowy odbiornik GPS oparty o chipsecie MTK MT3339. Na zdjęciu nie ma jeszcze zamontowanego kondensatora podtrzymującego zasilanie oraz LED sygnalizującej stan odbiornika.W zależności od tego czy płytka jest umieszczona w obudowie LED jest w wersji przewlekanej (wystającej z obudowy) lub SMD. Kondensator w wersji bez obudowy jest montowany na wierzchu lub w wersji obudowanej pod spodem.
Komputer pokładowy AutoPitLot jest narzędziem służącym do badań nad autonomicznymi systemami sterowania Bezpilotowych Aparatów Latających (BAL). Urządzenie w obecnej fazie rozwoju steruje lotem wielowirnikowca automatycznie utrzymując równowagę i wysokość. Wykonuje pomiary kilkudziesięciu parametrów z czujników takich jak żyroskopy, akcelerometry, magnetometry, czujniki ciśnienia bezwzględnego i różnicowego, termometry. Następnie obrabia dane, licząc takie parametry jak kąty orientacji w przestrzeni 3-wymiarowej i finalnie przy pomocy zespołu 8 regulatorów PID stabilizuje położenie wielowirnikowca. Komputer mierzy, oblicza i uaktualnia komplet danych z częstotliwością 200Hz.
Komplet ponad 160 parametrów pomiarowych i obliczeniowych jest rejestrowany na karcie micro SD oraz niezależnie transmitowany na ziemię łączem telemetrycznym.
Kluczowe cechy
• Duża moc obliczeniowa dzięki 32-bitowemu mikrokontrolerowi ARM Cortex pracującemu na częstotliwości
96MHz,
• Obsługa wielu typów czujników w wymiennych modułach,
• Rejestracja na karcie micro SD ok. 200 parametrów lotu z częstotliwością do 175Hz,
• Obsługa 12 serw z możliwością rozszerzenia do 16,
• Komunikacja ze światem za pomocą szerokiego wachlarza interfejsów użytkownika: kabel, bluetooth,
radiomodem, OSD, komunikaty audio, wyświetlacz,
• Możliwość umieszczenia w wytrzymałej, hermetycznej obudowie z wygodnym dostępem od góry,
• Zawiera oprogramowanie APL-GS umożliwiające konfigurację i analizę danych on-line i off-line,
Schemat połączeń elementów komputera
Schemat blokowy komputera pokładowego AutoPitLot
Komputer jest konstrukcją modularną, w której wszystkie moduły pomiarowe mogą być wymieniane. Składa się z płyty głównej i uniwersalne modułów rozszerzających o znormalizowanych złączach. Budowa modularna ma na celu łatwiejsze dopasowanie konfiguracji sprzętu do finalnego zastosowania. Powinna również ułatwić wprowadzanie zmian i nowinek technologicznych. Złącza modułów posiadają dwa gniazda szpilkowe do dystrybucji zasilania i komunikacji.
Na płycie głównej znajduje się
- wydajny, 32-bitowy mikrokontroler ARM Cortex sterujący pracą całego układu,
- układy zasilania 3,3V, 5,0V oraz dystrybucja i pomiar prądu dla serwomechanizmów,
- sterowanie serwami (12 kanałów z możliwością rozbudowy do 18) i odczyt stanu 8 kanałów odbiornika RC,
- dwa wejścia obrotomierzy,
- gniazdo karty micro SD loggera,
- gniazdo mini USB do szybkiej komunikacji z aplikacją PC na ziemi,
- nieulotna pamięć konfiguracji,
- pamięć sampli i tor audio do generowania dźwięków i komunikatów głosowych przez zewnętrzny tor radiowy.
Tak wygląda płyta główna komputera w wersji 2.0 w obudowie.
W wersji 2.0 na płycie głównej znajdą się 3 gniazda modułów wewnętrznych i 4 złącza modułów zewnętrznych. Moduły wewnętrzne komunikują się z kontrolerem magistralami SPI (prędkość 12MHz) i I2C (do 1MHz). Dodatkowo każde gniazdo posiada 2 linie IO i komplet napięć zasilających. Moduły posiadają mechanizm identyfikacji, więc oprogramowanie może wykryć i obsłużyć moduł w dowolnym gnieździe.
W chwili obecnej zaprojektowane i wykonane w formie prototypów są następujące moduły wewnętrzne:
Moduły zewnętrzne to takie, które ze wzgledu na gabaryty, lub specjalne wymagania nie mogą znaleźć się na płycie głównej urządzenia. Złącza modułów zewnętrznych zawierają zestaw portów UART oraz I2C. Jeden z portów może być skonfigurowany jako magistrala CAN. Złącza zapewniają komunikację ze światem, umożliwiają debugowanie i podłączanie takich urządzeń jak:
- Odbiornik GPS ->patrz Moduł GPS
- Radiomodem (obecnie komputer obsługuje komunikację modemami Aerocomm AC4868-250M i One RF Tiny OnePro)
- OSD (obecnie obsługa OSD Remzibiego oraz OSD by Zbig&Pitlab)
- konwerter UART na USB, RS232 lub Bluetooth uzyskać port szeregowy do komunikacji z PC
Zestaw do prac nad rozwojem projektu
Pliki do pobrania
Instrukcja użytkownika wersja z 21 października 2013
Wersja instalacyjna oprogramowania APL-GS 23,3MB, wersja 1.0.455 z 31 października 2013, wymaga DirectX