Spisu treści:

Rejestrator danych lotu RC/czarna skrzynka: 8 kroków (ze zdjęciami)
Rejestrator danych lotu RC/czarna skrzynka: 8 kroków (ze zdjęciami)

Wideo: Rejestrator danych lotu RC/czarna skrzynka: 8 kroków (ze zdjęciami)

Wideo: Rejestrator danych lotu RC/czarna skrzynka: 8 kroków (ze zdjęciami)
Wideo: Sprzęt Moto Podróżnika. Czym nagrywam swoje wyprawy motocyklowe? 2024, Listopad
Anonim
Rejestrator danych lotu RC/czarna skrzynka
Rejestrator danych lotu RC/czarna skrzynka

W tym instruktażu zamierzam zbudować rejestrator danych walki oparty na arduino dla pojazdów RC, w szczególności samolotów RC. Do nagrywania danych będę używał modułu GPS UBlox Neo 6m podłączonego do arduino pro mini i osłony karty SD. Ten projekt będzie rejestrował między innymi szerokość geograficzną, długość geograficzną, prędkość, wysokość i napięcie baterii. Te dane zostaną wzbogacone, aby zapewnić lepsze wrażenia podczas oglądania w programie Google Earth Pro.

Krok 1: Narzędzia i części

Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części

Części

  • Moduł GPS Ublox NEO 6m: ebay/amazon
  • Moduł karty Micro SD: eBay/amazon
  • Karta Micro SD (wysoka prędkość lub pojemność nie jest wymagana): amazon
  • Arduino pro mini: ebay/amazon
  • Programator FTDI i odpowiedni kabel: ebay/amazon;
  • Płyta perforowana: eBay/amazon
  • Przewód przyłączeniowy: ebay/amazon
  • Piny nagłówka: ebay/amazon
  • Dioda prostownicza: eBay/amazon
  • Rezystor 2x 1K ohm: eBay/amazon
  • Tektura 1500 mikronów

Narzędzia

  • Lutownica i lutownica
  • Pistolet na gorący klej
  • Laptop lub komputer
  • Multimetr (niekonieczny, ale niezwykle pomocny)
  • Pomocne dłonie (znowu nie jest to konieczne, ale pomocne)
  • Nóż rzeźbiarski

Opcjonalny

  • Elementy używane do prototypowania nie są konieczne, ale bardzo pomocne
  • Deska do krojenia chleba
  • Arduino Uno
  • Przewody połączeniowe

Krok 2: Teoria i schemat

Teoria i schemat
Teoria i schemat

Mózgiem urządzenia jest Arduino pro mini, zasilany jest z portu równoważenia akumulatorów Li-Po pojazdów RC (w moim przypadku samolot). Mam tę konfigurację dla baterii 2s, ale można ją łatwo zmienić, aby dostosować ją do innych rozmiarów baterii.

Ten element nie jest kompletny. Zaktualizuję tę instrukcję, gdy odczyt powierzchni kontrolnej zostanie zakończony

Servo1 będzie moim samolotowym silnikiem Elevon, podczas gdy servo 2 będzie moim wyjściem serwo kontrolera lotu

Moduł GPS odbiera dane z satelitów GPS w postaci ciągów NMEA. Ciągi te zawierają informacje o lokalizacji, ale także dokładny czas, prędkość, kierunek, wysokość i wiele innych przydatnych danych. Po odebraniu ciągu informacje, które są przydatne w tym projekcie, są wyodrębniane za pomocą biblioteki kodów TinyGPS.

Dane te wraz z napięciem baterii i pozycją elevon zostaną zapisane na karcie SD z częstotliwością 1 Hz. Te dane są zapisywane w formacie CSV (wartości rozdzielane przecinkami) i zostaną zinterpretowane za pomocą map Google w celu wykreślenia trasy lotu.

Krok 3: Prototypowanie

Prototypowanie
Prototypowanie
Prototypowanie
Prototypowanie

UWAGA: Połączenia modułu GPS nie są pokazane powyżej. GPS jest podłączony w następujący sposób:

GND do masy Arduino

VCC do Arduino 5V

RX do Arduino cyfrowy pin 3

TX do cyfrowego pinu Arduino 2

Aby sprawdzić, czy wszystkie elementy działają poprawnie, najlepiej zacząć od rozłożenia wszystkiego na płytce prototypowej, ponieważ nie chcesz dowiedzieć się dopiero po złożeniu wszystkiego, że masz wadliwą część. Dodatkową biblioteką kodu, która będzie potrzebna, jest biblioteka TinyGPS, do której link można znaleźć poniżej.

mały gps

Poniższy kod testera napięcia testuje tylko obwód pomiarowy napięcia. Wartość regulacji należy zmienić, aby arduino odczytało prawidłowe napięcie.

Kod Files służy do testowania modułu karty SD i karty micro SD, aby upewnić się, że obie prawidłowo odczytują i zapisują.

Kod gpsTest służy do upewnienia się, że GPS odbiera poprawne dane i jest poprawnie skonfigurowany. Ten kod wygeneruje Twoją szerokość i długość geograficzną oraz inne aktualne dane.

Jeśli wszystkie te części działają poprawnie, możesz przejść do następnego kroku.

Krok 4: Lutowanie i okablowanie

Lutowanie i okablowanie
Lutowanie i okablowanie
Lutowanie i okablowanie
Lutowanie i okablowanie
Lutowanie i okablowanie
Lutowanie i okablowanie

Przed wykonaniem jakiegokolwiek lutowania lub okablowania rozłóż wszystkie elementy na kawałku kartonu i przytnij go do zewnętrznych wymiarów elementów. To będzie twoja płyta montażowa dla wszystkich twoich elementów.

Zrób płytkę drukowaną, przycinając płytkę perforowaną do najmniejszego możliwego rozmiaru, ponieważ waga i rozmiar są priorytetami. Przylutuj kołki nagłówka wzdłuż krawędzi wyciętej płyty perforowanej, w tym miejscu połączy się port balansu akumulatora, aw przyszłości serwomechanizm powierzchni sterującej i kontroler lotu. Przylutuj 2 rezystory 1k Ohm i diodę prostowniczą zgodnie ze schematem obwodu.

Przylutuj moduł karty micro SD do pinów arduino zgodnie ze schematem połączeń wykonaj połączenia za pomocą przewodu AWG 24.

Ponownie wykonaj połączenia między płytą perfboard a arduino zgodnie ze schematem obwodu i używając więcej tego samego rodzaju drutu.

UWAGA: GPS jest urządzeniem wrażliwym na ładunki elektrostatyczne, należy zachować ostrożność podczas lutowania i nigdy nie przepuszczać prądu przez którykolwiek z przewodów podczas wykonywania połączeń

Przylutuj szpilki modułu GPS do odpowiednich szpilek na arduino za pomocą drutu o długości około 3-4 cm (1-1,5 cala), co daje modułowi GPS wystarczająco dużo luzu, aby złożyć go na drugą stronę karty podkładowej.

Sprawdź i dwukrotnie sprawdź ciągłość wszystkich połączeń, aby upewnić się, że wszystko jest prawidłowo podłączone.

Za pomocą gorącego kleju zamontuj moduł karty SD, Arduino Pro Mini i niestandardową płytę perforowaną po jednej stronie tektury, a moduł GPS i antenę po drugiej.

Po prawidłowym podłączeniu wszystkich elementów i zamontowaniu ich na tekturze nadszedł czas, aby przejść do kodu.

Krok 5: Kodeks

To jest kod, który działa na końcowym urządzeniu. Podczas działania tego kodu dioda LED na module GPS zacznie migać, gdy tylko GPS namierzy więcej niż 3 satelity. Dioda LED na płycie arduino mignie raz, gdy tylko arduino uruchomi się, aby pokazać, że plik CSV został pomyślnie utworzony, a następnie zacznie migać w czasie z diodą GPS, gdy pomyślnie zapisze się na karcie micro SD. Jeśli dioda LED pozostaje na karcie micro SD nie można zainicjować i najprawdopodobniej występuje problem z okablowaniem lub kartą micro SD.

Ten kod utworzy nowy plik CSV za każdym razem, gdy program zostanie uruchomiony, zostanie on oznaczony jako „flightxx”, gdzie xx to liczba z zakresu od 00 do 99, która zwiększa się za każdym razem, gdy program jest uruchamiany.

Aby pole aktualnego czasu w arkuszu kalkulacyjnym było poprawne, musisz przekonwertować UTC (uniwersalny czas koordynowany) na odpowiednią dla siebie strefę czasową. Dla mnie wartość to UTC + 2.0, ponieważ jest to strefa czasowa, w której się znajduję, ale można to zmienić w kodzie, zmieniając pływak „strefa czasowa”.

Krok 6: Testowanie, testowanie, testowanie

Testowanie, testowanie, testowanie
Testowanie, testowanie, testowanie

Do tej pory powinieneś mieć działający system, czas go przetestować, upewnić się, że wszystko działa zgodnie z oczekiwaniami.

Gdy wszystko działa i otrzymujesz wynik w arkuszu kalkulacyjnym, który wydaje się poprawny, nadszedł czas na wprowadzenie drobnych poprawek. Na przykład początkowo miałem urządzenie zamontowane na spodzie mojego samolotu za pomocą opasek kablowych, ale po kilku badaniach stwierdziłem, że zmniejszyło to ilość satelitów GPS, które mogły widzieć w dowolnym momencie, o około 40%.

Przetestuj swój system, upewnij się, że wszystko działa i dopracuj go w razie potrzeby.

Krok 7: Wzbogacanie danych

Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych
Wzbogacanie danych

Teraz, gdy masz niezawodny system, nadszedł czas, aby dowiedzieć się, jak wyświetlać te dane w bardziej czytelny sposób. Arkusz kalkulacyjny jest w porządku, jeśli chcesz uzyskać dokładną prędkość w dowolnym momencie lub jeśli chcesz dokładnie sprawdzić, jak zachowywał się Twój pojazd podczas wykonywania określonej czynności, ale co jeśli chcesz wykreślić cały lot na mapie lub zobaczyć każdy punkt danych w bardziej czytelny sposób, tutaj pomocne jest wzbogacanie danych

Aby wyświetlić nasze dane w bardziej czytelny sposób, będziemy używać Google Earth pro, możesz kliknąć tutaj, aby przejść i pobrać.

Teraz musisz przekonwertować plik CSV na plik GPX, który można łatwiej odczytać przez Google Earth za pomocą wizualizatora GPS. Wybierz wyjściowy GPX, prześlij swój plik CSV i pobierz przekonwertowany plik. Następnie otwórz plik GPX w Google Earth i powinien automatycznie zaimportować i wykreślić wszystkie dane na ładną ścieżkę lotu. Zawiera również dodatkowe informacje, takie jak nagłówek w dowolnym momencie.

UWAGA: ze zdjęć usunąłem długie, długie dane, ponieważ nie chcę zdradzać mojej dokładnej lokalizacji

Krok 8: Wnioski i możliwe ulepszenia

Tak więc jestem bardzo zadowolony z tego, jak ten projekt się powiódł. Lubię mieć dane ze wszystkich moich lotów. jednak jest kilka rzeczy, nad którymi chcę popracować.

Najwyraźniej chcę mieć możliwość odczytania dokładnej pozycji powierzchni kontrolnych. Mam do tego większość sprzętu, ale muszę włączyć go w kodzie. Do pokonania są jeszcze pewne wyzwania techniczne.

Chciałbym również dodać barometr, aby uzyskać dokładniejsze dane o wysokości, ponieważ obecnie dane wysokości GPS nie wydają się niczym więcej niż wykształconym przypuszczeniem.

Myślę, że dodanie akcelerometru w trzech osiach byłoby fajne, abym mógł dokładnie zobaczyć, ile przeciążenia samolot znosi w dowolnym momencie.

Może stworzyć coś w rodzaju ogrodzenia. Obecnie z wyeksponowanymi komponentami i okablowaniem nie jest zbyt elegancki ani wytrzymały.

Daj mi znać, jeśli wymyślisz jakieś ulepszenia lub modyfikacje projektu, chciałbym je zobaczyć.

Zalecana: