Skocz do zawartości

APM 2.6 a tryb FailSafe z Turnigy 9X po utracie syganłu


Rekomendowane odpowiedzi

Opublikowano

Witam,
od niedawna, jestem posiadaczem APM 2.6, po przesiadce z DJI Nazy.
Wszystko było by w porządku, gdyby nie pewien "drobiazg", który psuł mi zabawę z APM.
Niestety, aparaturę jaką posiadam do copterów, to Turnigy TGY 9X (z softem er9x).
O ile w przypadku DJI Naza nie mam problemu z załączeniem Failsafe po wyłączeniu aparatury, to w przypadku APM sprawa się skomplikowała.
Po wyłączeniu aparatury, APM pozostaje w ostatnich zapamiętanych wartościach odebranych z odbiornika.

A to, zdecydowanie jest problem.

W pierwszej kolejności winą obarczyłem odbiornik 9X8Cv2 - no bo jak by nie inaczej?
Po zmianie odbiornika na FrSky, sprawa wyglądała dokładnie tak samo.
Wstawiłem nowy odbiornik 9X8Cv2 i wyglądało tak samo.

Pomyślałem więc, że coś jest nie tak z sygnałem z odbiorników.
Aby się przekonać jak to jest z wartościami sygnału z odbiornika po wyłączeniu aparatury, posłużyłem się Arduino Uno wgrywając tam sketch ze strony do odczytu wartości sygnału PPM.
Wgrałem soft do Uno, podłączyłem pod odbiornik i załączam aparaturę.
Jakież było moje zaskoczenie, gdy po wyłączeniu aparatury i odczytaniu wartości, wynosiła 0 (zero) - a nie 975 (moje minimum dla Thr w APM).

Wnioski:
APM 2.6 nie przyjmuje wartości 0 (zero) jako wartości poprawnej, umożliwiając załączenie się trybu Failsafe po zaniku sygnału z odbiornika.

Rozwiązanie.
W pierwszej kolejności, rozwiązaniem było by dla mnie poprawienie kodu.
Jednak jakiekolwiek zmiany w kodzie wykonane przezemnie, nie będą odzwierciedlone w głównym branch'u - a to dla mnie wada.

Drugim rozwiązaniem było by "wyniesienie kodu" mojej poprawki "przed" APM - a zrobić to mogłem dokładając pomiędzy APM a odbiornik moduł z arduino.
W szufladzie leżał bezczynnie Arduino Mini więc rozwiązanie było dość proste.

Program.
Odczytuje wartość sygnału PPM z pinu ArduMini(do którego podłączony jest odbiornik, kanał 3): pulseIn(PPMinput, HIGH)
następnie po sprawdzeniu niezerowej wartości przepisuje odczytaną wartość do pinu wyjściowego(podłączony do APM): myservo.write(PPMvalue)
Jeżeli wartośc będzie zerowa, podstawia pod wartość PPMvalue, liczbę 900 (jeszcze akceptowalna dla APM).
W programie Mission Planner, ustawiam w FailSafe Options dla pola FS PWM: wartość 910 - poniżej której zadziałać ma załączenie trybu.

I tyle.
Działa doskonale.

Jeśli są inne rozwiązania - poza zmianą aparatury, chętnie się zapoznam.
 

pozdrawiam

 

Opublikowano

Nie wiem co to jest APM 4.6. Natomiast przeczytałem Twój opis i nasunęły mi się takie spostrzeżenia:

1. Oryginalny odbiornik nie wspiera FS, opis w menu jest mylący.
2. FS w FrSky musi zostać zaprogramowany.

(...)Failsafe is recommended to set when system is firstly used, or receiver has been re-bound. Follow steps below to
set failsafe.
Option-1. How to set failsafe to a user-determined state on lost signal: 1) Bind the receiver to the transmitter module first and turn on both the transmitter and the receiver;
2) Move the controls to desired failsafe position for all channels;
3) Press briefly the F/S button on the receiver and you are done.
Option-2. How to set failsafe for no pulses on lost signal: 1) Just press briefly the F/S button on the receiver while the transmitter is off and you are done. (...)

 

opcja 1. po zaprogramowaniu wysyła ustalony sygnał

opcja 2. bez programowania (po bindowaniu) nie wysyła żadnego sygnału (chyba tak samo robi oryginalny link TGY9x)

 

Nic nie pisałeś o ustawieniu FS więc może tutaj jest problem. Ustawienie FS w nadajniku jest pozycją martwą !!!

Opublikowano

1. Oryginalny odbiornik nie wspiera FS, opis w menu jest mylący.

2. FS w FrSky musi zostać zaprogramowany.

 

Pisząc o FailSafe, mam na myśli oprogramowanie Ardupilot dla platformy APM 2.6 reagujące na utratę sygnału.

 

Włączanie trybu Failsafe w autopilocie dokładnie opisane jest tu http://copter.ardupilot.com/wiki/throttle-failsafe/

Jednakże nie dotyczy to odbiornika Turnigy 9X8Cv2.

Przedstawione rozwiązanie jakie zamieściłem, rozwiązuje ten problem, czyli załączenie się trybu Failsafe w autopilocie, po utracie sygnału z aparatury Tyrnigy TGY9X, bez ingerencji w ustawienia/modyfikację odbiornika jak i samego kodu autopilota APM.

Opublikowano

Wszystko w porządku.

 

Po prostu zrobiłeś zmianę programu reagującą na brak sygnału. Dobrze by było to lepiej opisać, gdyż teraz jest mało czytelne.  

  • 1 rok później...
Opublikowano

Witam

 

Męczyłem się z tym dzisiaj pół dnia.

I... znalazłem inne rozwiązanie:

http://copter.ardupilot.com/wiki/common-autopilots/common-apm25-and-26-overview/common-ppm-encoder-apm2x-atmega32u2/

 

Mój sprzęt to: Aparatura Turnigy 9x z fabrycznym odbiornikiem + APM 2.6 (3dr),  reszta nie istotna

 

Tylko jedna uwaga do linków powyżej, mi nie udało się "zfleszować" atmegi32u2 sposobem z linków mimo kilku godzin walki, ale bez problemu poszło programatorem isp...

Puki co APM2.6 przetestowany na biurku ale bez problemu przechodzi w tryb FS z throttle na poziomie 900...

  • 2 tygodnie później...
Opublikowano
...Męczyłem się z tym dzisiaj pół dnia...

 

Tylko jedna uwaga do linków powyżej, mi nie udało się "zfleszować" atmegi32u2 sposobem z linków mimo kilku godzin walki...

 

Ja też się z tym męczyłem i to długo, ciągle dostawałem błąd braku dll.

Doczytałem gdzieś ,że w panelu sterowania trzeba podmienić sterowniki urządzenia.

Sterownik ten jest ukryty więc trzeba dać pokaż ukryte i zaktualizować na nim sterowniki.

Dobre sterowniki znajdują się w folderze z programem do flashowania.

Po tym zabiegu poszło już gładko. Failsafe już raz zadziałał w warunkach bojowych, bez tego nie wyobrażam sobie lotów na większe odległości :)

 

Ps. Wiem że odgrzebuje temat,ale może ktoś tu kiedyś zajrzy i mu coś podpowie mój post.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.