Multiwii by MIS AIRPLANE

FC oparte na Arduino

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
Zbigcz
Posty: 33
Rejestracja: piątek 27 lip 2012, 21:09
Lokalizacja: Siemianowice

Multiwii by MIS AIRPLANE

Post autor: Zbigcz »

Aby nie zaśmiecać głównego wątku misiowego Multiwii poświęconego głównie multikopterom niechaj się tutaj dzieją rzeczy samolotowe. Na początek:
****Multiwii by MIS****


W config.h ma być zapis
#define AIRPLANE dla samolotów lub
#define FLYING_WING dla latających skrzydeł.

Silniki można np. uzbrajać przy zasileniu FC zaznaczając w GUI, w opcji ARM np. wszystkie pola dla AUX2.
Na własne potrzeby przetłumaczyłem i uzupełniłem część instrukcji do GUI.
Moja ostatnia produkcja poniżej.
Uwagi i poprawki mile widziane.
**** Instrukcja GUI v. 1.02 ****
Ostatnio zmieniony czwartek 22 sie 2013, 13:36 przez Zbigcz, łącznie zmieniany 2 razy.
Pozdrawiam, Zbyszek
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Post autor: miś »

Jak już powstał wątek o trybie samolotowym to napiszę tu.

Popracowałem trochę nad trybem samolotowym w MWC.
Soft do testów tu: http://members.upcpoczta.pl/r.bialy6/MK ... 9c_MIS.zip

PO PIERWSZE TO ZRZUT PROSTO Z MOICH TESTÓW, więc trzeba sobie zdefiniować odbiornik itp. (ja testuję z modułem RFM22, wiec jest odkomentowane ELERES_RX).
Po drugie ze względu na problemy z GUI w wersji "MultiWiiConfSERVO" proponuję używanie standardowego GUI do multiwii, a trymy, zakresy i rewersy ustawić w config.h.

Co zmieniłem... No, dużo :mrgreen:

1. W trybie samolotowym automatycznie blokowane jest uzbrajanie drążkami

2. Ustawienia w config.h specyficzne dla samolotów:
#define SERVO_OFFSET - offsety serw czyli trymy - mogą być dodatnie lub ujemne.
#define SERVO_RATES - zakres i rewersy serw (wartość ujemna załącza rewers)
Edit: W softach od 2.21 ustawienia te robimy programem SerwoMiscConf.
Kolejnośc serw jest opisana w config.h
Teraz dla nawigacji GPS czyli dla powrotu do domu i failsafe:
#define RETURN_ALTITUDE - wysokość w metrach na jakiej ma wracać przy failsafe
Edit: W softach od 2.21 ustawienie RETURN_ALTITUDE robimy programem SerwoMiscConf - w zakładce MISC jako F/S Altitude (podajemy w metrach).
Reszty ustawien od failsafe nie ruszamy.
#define ELEVATORCOMPENSATION - kompensacja sterem wysokości w zakrętach, aby nie opadał przy zakrętach.
#define MIN_SPEED - minimalna predkość lotu w km/h - używana blisko bazy.
Edit: W softach od 2.21 ustawienie MIN_SPEED robimy programem SerwoMiscConf. Zamiast prędkości podaje się minimalny poziom gazu. W zakładce MISC jako F/S Throttle.
#define CRUICE_SPEED - prędkość powrotu do domu w km/h.

W dołączonym config.h są powłączane dość mocne filtry dla gyro, więc nie powinno być problemu z wibracjami i złą stabilizacją.

3. PID'y:
PIDALT: P: współczynnik siły utrzymywania wysokości. I: nieużywany. D: maksymalny kąt wznoszenia/opadania w stopniach (default 20).
PIDNAVR: P: współczynnik siły regulacji kierunku przy powrocie do domu. I: nieużywany. D: maksymalny kąt przechyłu samolotu w stopniach (oczywiście patrzymy na te ułamki, czyli 0.020 to 20 stopni).
Pozostałe PID'y jak w standardowym MWC.

3. Failsafe:
Po załączeniu failsafe włącza się powrót do domu z utrzymaniem wysokości zadeklarowanej w config.h i prędkości CRUICE_SPEED. Po osiągnięciu domu silnik jest wyłączany, serwo wysokości centrowane, i w tym stanie samolot kąży nad bazą aż do przyziemienia. Oczywiście odzyskanie łączności RC przerywa failsafe i można znów sterować.
Jeśli nie było fix'a GPS w momencie startu, lub w momencie załączenia failsafe, to silnik zostaje wyłączony, ster wysokości na 0 i szybowanie ze stabilizacją prosto aż do przyziemienia. To samo się dzieje jeśli nie mamy GPS'a.

4. UZbrojenie/rozbrojenie tylko za pomocą przełącznika na którymś z AUX'ów.
Jak gaz nie jest na dole to nie da się uzbroić/rozbroić przełącznikiem. Jeśli podczas załączania mamy załączony przełącznik ARM, to płytka mruga diodami do czasu jego wyłączenia.
Edit: W softach od 2.22 można używać normalnego uzbrajania/rozbrajania drążkami jak w przypadku Copterów. Po 15 sekundach pracy silnika MWC blokuje możliwość rozbrojenia, więc nie ma obawy o przypadkowe rozbrojenie w trakcie lotu.

5. Włączenie BARO powoduje próbę utrzymania wysokości przy pomocy steru wysokości - takiej jak w momencie włączenia BARO.

6. Włączenie MAG'a powoduje utrzymywanie aktualnego kierunku lotu przy pomocy wskazań magnetometru. Przy RTH i Failsafe zamiast magnetometru używany jest kurs lotu z GPS'a (odporny na pola magnetyczne z przewodów).

7. Włączenie GPS HOME powoduje powrót do domu (prawie jak przy failsafe), z tą róznicą że można używać drążków, i obroty (czyli prędkość) standardowo regulujemy gazem. Aby włączyć automatyczne sterowanie obrotami musimy dać THROTTLE na maksimum. Wtedy gaz będzie regulowany tak aby leciał z prędkością CRUICE_SPEED. Po osiągnięciu domu silnik zostanie wyłączony, ale zmniejszenie THROTTLE z maksymalnej wartości pozwoli na ponowne włączenie silnika.

8. GPS HOLD powinien działać tak samo jak GPS HOME (ale nie sprawdzałem).

Dobra, starczy na razie :mrgreen:

Aaa jeszcze jedno... Predkosc CRUICE_SPEED to oczywiście względem ziemi (nie mamy rurki Pitota, więc przy silnym wietrze może być zgrzyt, choć regulacja silnikiem może odbywać się w prawie pełnym zakresie mocy silnika. Od 0 do 95%.
Ostatnio zmieniony środa 23 paź 2013, 15:17 przez miś, łącznie zmieniany 3 razy.
Pzdr. -----MIŚ-----
Awatar użytkownika
HIRO
Posty: 1206
Rejestracja: sobota 21 sty 2012, 02:03
Lokalizacja: łęczyca

Post autor: HIRO »

czy temat ten nie powinien zostać eksmitowany np do projektów?
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Post autor: miś »

Nowy soft 2.19c bo w poprzednim źle działała regulacja wysokości i silnika dla samolotów (przy RTH). Ta wersja jest dokładnie przetestowana na symulatorze GPS i powinna już działać OK.
Dodano jeden ficzer aby nie marnować kanału na przełącznik ARM.
Uzbraja się normalnie drągami jak przy copterach, i teraz jeśli gaz jest powyżej 0 to jest odliczany czas, jak na minimum to nie. Jak doliczy się 15 sekund z gazem powyżej minimum, to robi pojedynczy beep i od tego momentu nie da się rozbroić (np przypadkowo w locie).
Jeśli rozbroimy wcześniej, to się da, i przy następnym uzbrojeniu znów jest odliczane te 15 sekund.
Po zablokowaniu jedyną metodą rozbrojenia jest odłączenie zasilania.
Oczywiście można dalej używać uzbrajania i rozbrajania przełącznikiem przypisanym do BOX'a ARM. Na ten sposób rozbrajania timer nie ma wpływu (choć beep będzie, ale przełącznikiem rozbroić się da).
A uzbrajanie jest istotne, bo w momencie uzbrojenia zapamietywana jest pozycja HOME dla RTH, więc jeśli uzbroimy zanim złapie FIX'a to nie będzie działać powrót do domu.
Pzdr. -----MIŚ-----
Awatar użytkownika
Zbigcz
Posty: 33
Rejestracja: piątek 27 lip 2012, 21:09
Lokalizacja: Siemianowice

Post autor: Zbigcz »

Rozwiązania Misia odnośnie uzbrajania powinny zadowolić "samolotowców". Mnie odpowiadają.
Trochę to trwało, ale nie mogłem sobie poradzić z FAILSAFE i GPS HOME, czyli samodzielnym powrotem do bazy. Po prostu nie chciał wracać i koniec. Były kraksy i zawisy na drzewie.
W wersji 2.21 (by MIS) zadziałało. Moj testowy Easy Glider, po włączeniu GPS HOME, grzecznie zawrócił nad miejsce startu i zaczął nad nim krążyć.
Przyznam się, że RTH było głównym powodem zakupu AIO. Kilkakrotnie zdarzyło mnie się stracić model z oczu i miałem problem. Niestety, oczy już nie te. Kosztem ok. 200 PLN, nie licząc zaangażowania Misia(!), zapewniłem sobie (w 95%) powrót modelu.
Teraz brnę dalej w FPV. Mam minimOSD, kamerkę, a link video w drodze. Brakuje mi tylko połączonego z Multiwii loggera.

Od wersji 2.2 występują tryby HORIZON i ANGLE w miejsce ACC i chyba nikt, poza autorem, dokładnie nie wie czym sie różnią. Na forum MW znalazłem (cytuję "ostrzejszy tryb ANGLE zastąpić mniej sztywnym trybem HORIZON" /tłumacz Google/). Z w/w wątku wynika także, że jeżeli nie dotykamy drążków to niczym się te tryby nie różnią. Niewiele mi to wyjaśniło, a skoro je wprowadzono to w jakimś celu.
Czy ktoś potrafi to wyjaśnić po ludzku tzn. bez określeń typu "To jest autolevel z headfree", bo początkującemu też nic to nie mówi.

Uwaga dla użytkowników GPS MTK - włączyć w config.h #define NMEA.
Pozdrawiam, Zbyszek
Awatar użytkownika
Balirc
Posty: 477
Rejestracja: piątek 05 lut 2010, 23:18
Lokalizacja: Mielec

Post autor: Balirc »

Troszkę odkopie temat, bo projekt naprawdę ma przyszłość(jak zresztą wszystkie projekty pod opieką Misia ;-) ), a z jakiegoś powodu umarł.

Moje podstawowe pytanie czy soft ten zadziała na tej płytce?
Obrazek
Chodzi mi przede wszystkim o możliwość powrotu do bazy po utracie zasięgu, a przy okazji stabilizacje lotu.
Awatar użytkownika
miś
Posty: 9242
Rejestracja: niedziela 07 lut 2010, 15:24
Lokalizacja: Bytom

Post autor: miś »

Stabilizacja i owszem, ale obsługa GPS'a raczej nie zmieści się w tym małym procku. Więc z powrotu do bazy raczej nici, choć głowy nie dam, bo nie próbowałem tego softu wbijać do 328. Może da się tak poczarować aby weszło.
Pzdr. -----MIŚ-----
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

Miś pomóż młodzieży a nie defetyzujesz :-) Przecież się zmieści, ostatnio rozkminialiśmy quadrino, pamiętasz?
Jedyne co to młody musi odpuścić sobie jedno wyjście do kina ;-) i kupić http://www.rctimer.com/product_762.html
I potem kombinatoryka stosowana ze wsadem do tej płytki opisana tutaj:
http://www.rcgroups.com/forums/showthread.php?t=1724694
No i kwestia samego GPSa.... czy użyć ublox'a czy jakiś MTK - nmea? Niby wszystko jest bardziej gotowe pod ublox'a....
I jeszcze co do wsadu do MultiWii - mieści się po wywaleniu wszelkich niepotrzebnych rzeczy a przede wszystkim zakomentowaniu obsługi szeregowej GPS (to jest przypadek gdy GPS podłącza się bezpośrednio do FC tak jak w Criusie AIO i innych płytkach z ATmegą2560 natomiast gdy używamy płytki navI2C to jest nieaktywne z zabiera najwięcej bajtów z wszystkich "funkcji" możliwych do włączenia/wyłączenia we wsadzie)
infekcja FPV postępuje w zastraszającym tempie...
Awatar użytkownika
profesor
Posty: 1094
Rejestracja: poniedziałek 16 sie 2010, 09:37
Lokalizacja: Starachowice

Post autor: profesor »

dawno dawno temu jak uczyłem się latać moim Quadem był dostępny soft na którym testowałem procedury Failsave zanim jeszcze Miś napisał swoje słynne Inteligent_Faisafe.
Oto fragment mojego posta:
Witam
Ja mam płytkę od Kukiego 0.6.3 Full + "zwykły" GPS 8Hz Serial.
Soft 2.0 GPS eosBandi dla Atmega 328 - szukaj w wątku Kuki MultiWii

-Podłanczasz GPS do Multiwii TX-RX , TX-RX, i GND i +5V
w GPS i Multiwii musisz ustawić taką samą prędkość BAUDRATE ! np: 38400
Wadą jest jednak to że aby mieć komunikacje np Kuki>PC trzeba wypiąć kabelek od GPS.
-Działa, jednak mało wolnej pamięci dla czegoś więcej - OSD/Telemetria itd..
wypadało by kupić już z lepszym procesorem np kuki 0.7 lub z RCTimer'a.
-Oczywiście lepiej latać z GPS :)

Autopilota orginalny kod multiwii nie ma, ale można dopisać sobie procedurke
wyrównującą koptera (ACC,LEVEL ON ) i właczającą RTH na wypadek "utraty RC" jak ja zrobiłem.

Ma za to Failsave- czyli jak utracisz RC kopter włączy "autolądowanie"
-w zależnosci jak ustawisz tak wyląduje :P.
Oczywiście trzeba by okroić procedurki dla GPS po serialu ale jak widać działało to w trybie kopterowym, pod tryb samolotowy trzeba by zmodyfikować nieco najnowszy kod Misia ,jak widać da się przez RS232 podpiąć GPS w ProMini/kuki06.

Najpierw proponuje skompilować kod i upchać go w ProMini, jak ostatnio sprawdzałem kod GPS wychodził ponad limit.
Pozdrawiam Piotr.
YouTube
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

profesor pisze:Najpierw proponuje skompilować kod i upchać go w ProMini, jak ostatnio sprawdzałem kod GPS wychodził ponad limit.
O tym też pisałem przed chwilą. Walczyliśmy z Miś'iem i jedyne rozwiązanie upchania kodu do ProMini to wyłączenie GPSserial , dokupienie płytki I2Cnav i tą drogą obsługa funkcji związanych z GPS. Inaczej się kod nie zmieści.
No chyba że się zacznie mocno kombinować z bootloaderem i użyje zamiast Arduinowego jakiś chudszy w bajty np megaload ale to już wyższa szkoła jazdy, potrzebny programator ISP itepe...
infekcja FPV postępuje w zastraszającym tempie...
kondiz
Posty: 1731
Rejestracja: poniedziałek 13 cze 2011, 09:14
Lokalizacja: Jelenia Góra / Wrocław

Post autor: kondiz »

Czyli z tego co zrozumiałem trzeba kupić TO , TO i jakiś GPS i mamy AP? :-)
Konrad
Awatar użytkownika
mounter
Posty: 1000
Rejestracja: niedziela 20 mar 2011, 23:59
Lokalizacja: --

Post autor: mounter »

kondiz pisze:Czyli z tego co zrozumiałem trzeba kupić TO , TO i jakiś GPS i mamy AP? :-)

GPS i konwenter uart/I2C tak jeśli masz FC na 328P, arduino mini to nie jest FC, musisz miec jeszcze czujniki, żyra, acc.

Mimo wszystko, lepiej kupić gotowe FC na lepszym procesorze bez zabawy w ograniczenia i kombinowanie ze wsadem, wtedy nic nie będzie ograniczać na dalszy rozwój projektu ;-)

btw. mam gdzieś FC na 328P z baro, zyro i acc oraz ten Crius GPS/I2C, jak będę miał czasu to sprawdzę co da się upchać do niego :-)
Ostatnio zmieniony piątek 12 lip 2013, 09:07 przez mounter, łącznie zmieniany 1 raz.
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

kondiz pisze:Czyli z tego co zrozumiałem trzeba kupić TO , TO i jakiś GPS i mamy AP? :-)
Jeszcze potrzebne IMU, np http://www.ebay.com/itm/10DOF-L3G4200D- ... 4173c2f1f1
infekcja FPV postępuje w zastraszającym tempie...
kondiz
Posty: 1731
Rejestracja: poniedziałek 13 cze 2011, 09:14
Lokalizacja: Jelenia Góra / Wrocław

Post autor: kondiz »

Czyli tak i nie .... ;-)
Znalazłem fajne mini FC na 328p:
http://www.rctimer.com/product_685.html
Będzie ono pasowało?
Konrad
Awatar użytkownika
Balirc
Posty: 477
Rejestracja: piątek 05 lut 2010, 23:18
Lokalizacja: Mielec

Post autor: Balirc »

mounter pisze:Mimo wszystko, lepiej kupić gotowe FC na lepszym procesorze bez zabawy w ograniczenia i kombinowanie ze wsadem, wtedy nic nie będzie ograniczać na dalszy rozwój projektu
I myślę, że tak zrobie - nie chce potem płakać, że nie zmieści mi się nowa funkcja napisana przez Misia. Z tą małą płytką jest też więcej zachodu niż to warte :-/
Ale mimo wszystko dziękuje za chęci :-)
Z płytką nie powinno być już takich problemów?

Chociaż i tak wydaje mi się, że skończy się na OSD + AP od Pitlaba i Zbiga, albo może Marbalon coś wykombinuje nowego :mrgreen:
A do czasu uzbierania kasy po prostu użyje mojej małej płytki do stabilizacji :-P
ODPOWIEDZ