Komputer pokładowy do samolotu i FC do X4 w jednym by Kuba

Autorskie projekty naszych użytkowników

Moderatorzy: marbalon, moderatorzy2014, moderatorzy

Awatar użytkownika
Kuba
Posty: 487
Rejestracja: poniedziałek 01 lut 2010, 15:50
Lokalizacja: Gdynia - Warszawa

Komputer pokładowy do samolotu i FC do X4 w jednym by Kuba

Post autor: Kuba »

Witam

Ponieważ w wątku o moim IMU zapowiedziałem, że zrobię na dniach płytkę logiki do obsługi czujników zabrałem się do pracy. Niestety jak zwykle ambicja mnie poniosła i postanowiłem upiec kilka pieczeni na jednym ogniu.

Komputer pokładowy miał być na samym końcu mojej listy tego co chcę zrobić ale jak pomyślałem sobie ile mogę sprawdzić/uruchomić na jednej płytce postanowiłem to zrobić. Zamierzam zrealizować za pomocą tego układu kilka innych:
FC do quad'a
Komputer pokładowy do samolotu
Autopilot do samolotu i quada
Dalekozasięgowa komunikacja dwukierunkowa (może nawet jakiś LRS się urodzi)
Test i uruchomienie samego IMU
Obsługa karty SD
INS (IMU+Magnetometr+GPS)
2 odbiorniki RC w modelu

Można by jeszcze sporo wyliczać. Są też rzeczy których nie zamierzam w tej wersji zrobić, np. OSD. Komputer będzie przygotowany pod współpracę z OSD ale moim celem jest generowanie OSD (lub ogólnie całego pulpitu) na ziemi.

Dzisiaj rano poczułem wenę i zacząłem prace nad komputerem dodając co kawałek kolejne elementy i o to co jak na razie otrzymałem:

Obrazek

Po lewej stronie płytki złącze karty micro SD, nad nim złącze pod płytkę IMU, na prawo od IMU procesorek (STM32F101, ARM Cortex M3 36MHz), pod nim 2 radiomodemy na 868 (w ramach testu który się lepiej sprawdzi). Duże złącze debugowe to mój patent. Jest w nim właściwie wszystko co potrzeba (JTAG, UART, możliwość programowania przez bootloader itp). Do tego złącza prawdopodobnie będzie podłączany GPS (zaczyna mi brakować portów a zależy mi na tym procesorze bo mam w zapasach 8 sztuk).
Na prawej krawędzi płytki złącza do serw (pierwsze 4 kanały zdublowane, dalej pojedynczo), poniżej wejście na zewnętrzny BEC. Widać też losowo rzucone złącza pod czujnik prądu i napięcia PitLab'a, OSD, kamerki itp. Jak widać jest jeszcze sporo miejsca i płytka finalna będzie mniejsza.

Zbyt wiele nie widać ale większa część pracy już jest zrobiona. Brakuje jeszcze kilku elementów ale wygląda na to, że jutro będę mógł wysyłać do produkcji. Nie ukrywam, że chciałbym to ulotnić jeszcze w tym roku...


Chciałbym podkreślić, że nie mam zamiaru konkurować z PitLab'em. W jego komputer pokładowy włożona jest ogromna ilość wiedzy, obliczeń i pomiarów nie wspominając już o zaawansowaniu całego układu (filtry LC wszędzie gdzie tylko się da) i pod względem złożoności i bezpieczeństwa układu nie dorastam mu do pięt :oops:

Na chwilę obecną jest to wersja alpha i moje wyobrażenie o finalnej wersji komputera jest zupełnie inne. Ta wersja powstaje bardziej jako proof of concept i jeśli nie odniesie jakiegoś wybitnego sukcesu będzie w całości przeprojektowana do następnych wersji. Postaram się aktualizować ten wątek w miarę postępu prac ale radzę uzbroić się w cierpliwość :)
Pozdrawiam
Kuba
Awatar użytkownika
Kuba
Posty: 487
Rejestracja: poniedziałek 01 lut 2010, 15:50
Lokalizacja: Gdynia - Warszawa

Post autor: Kuba »

Mały update:

Obrazek

Wczoraj po napisaniu posta już niewiele zrobiłem, ale dzisiaj zaczynałem od tego stanu. Zobaczymy jak to wyjdzie
Pozdrawiam
Kuba
Awatar użytkownika
PitLab
Posty: 967
Rejestracja: środa 17 mar 2010, 20:29
Lokalizacja: Warszawa
Kontakt:

Post autor: PitLab »

O, fajnie że przybywa kolejna osoba, z którą można będzie porozmawiać o czymś konkretnym. :-)
Będę kibicował projektowi.
Piotrek.
Z różnych form kontaktu preferuję e-mail
Awatar użytkownika
Kuba
Posty: 487
Rejestracja: poniedziałek 01 lut 2010, 15:50
Lokalizacja: Gdynia - Warszawa

Post autor: Kuba »

Kolejny update:

Obrazek
Pozdrawiam
Kuba
Klenio
Posty: 182
Rejestracja: środa 17 mar 2010, 11:57
Lokalizacja: Warszawa

Post autor: Klenio »

Kuba proponuję żebyś zastanowił się nad Cortexem w wersji 103 - ma więcej zasobów a to Ci się przyda, szczególnie w wypadku kiedy nie wiesz czym projekt ma się zakończyć ;-).

W naszym projekcie komputera pokładowego easyCSDU jest sporo funkcji i nawet w 103 musimy robić pewne optymalizacje, żeby wszystko zmieścić. Nie wiem czy będziesz korzystał z systemu operacyjnego czy będzie używał rozwiązania never-ending loop. Jeśli system operacyjny to potrzebne są dodatkowe zasoby w postaci pamięci RAM, żeby alokować ją na poszczególne wątki. Szczególnie obsługa RSów pożera sporo pamięci.

Dorób od razu port USB 103 ma host, więc nie trzeba dodatkowych układów pośredniczących, a biblioteki do USB od ST są dość czytelne i ich uruchomienie nie powinno stanowić problemu.

Jak będziesz podłączał w Cortexie kanały wejść i wyjść PWM to wybierz dobrze porty, nie wszystkie piny mogą być remapowane. Warto to przemyśleć wcześniej, żeby nie robić poprawek. Do optymalnej wersji w naszym komputerze doszliśmy dopiero w 3 wersji easyCSDU - właśnie dlatego, że wcześniej tego nie przewidzieliśmy.

Ciekawi mnie jak podłączasz kartę SD? Po SPI czy znalazłeś jakiś sposób na obsługę pełnego interfejsu MMC (tak się on chyba nazywa...)?

Trzymam kciuki! Powodzenia!
Zerkaj nad siebie! Drony latają wszędzie...
Piotr
Awatar użytkownika
Kuba
Posty: 487
Rejestracja: poniedziałek 01 lut 2010, 15:50
Lokalizacja: Gdynia - Warszawa

Post autor: Kuba »

Nie wstawiałem update'ów, gdyż doszedłem do podobnego wniosku - zabrakło mi nóg w procesorze. Jest kilka wersji cortex'ów w tej obudowie i niektóre mają sporo pamięci ale i tak przerabiam wszystko na 107-kę.

Mam kilka 107-ek w swoich zasobach i może to lekka przesada, ale w jego miejsce można wlutować spokojnie 103 lub 105-tkę jeśli zajdzie potrzeba powielenia układu mniejszym kosztem (kompatybilne nogi).

Co do remapowania - nauczyłem się na własnej skórze :evil:

Kartę SD chciałem pogonić po SPI, nie zastanawiałem się nad innymi metodami komunikacji.

Sporo ostatnio robiłem na tych procesorkach ale i tak uważam, że biblioteka ST jest tak czytelna jak zdeasemblowany kod :) USB Host'a nie testowałem bo bardziej interesuje mnie praca w trybie klienta a z uwagi na to, że używam na codzień linux'a ft232 jest dużo bezpieczniejszym rozwiązaniem.

Tak czy siak dzięki za wskazówki
Pozdrawiam
Kuba
ODPOWIEDZ