Popularny post Wu70 Napisano Listopad 28, 2013 Popularny post Udostępnij Napisano Listopad 28, 2013 Witajcie,w ramach niewinnego powiewu świeżości na forum przedstawiam nową zabawkę nad którą pracowałem z kolegą przez ostatnie miesiące. Quadrocopter, bo o nim mowa, to rodzaj platformy latającej typu multirotor. Z mojej perspektywy służy przede wszystkim do zabawy, filmowania i nauki. Poza tym ludzie wymyślają przeróżne zastosowania, o czym pewnie nieraz czytaliście na forum. Generalnie podchodząc do tego projektu głównym założeniem było zbudowanie małego, zwinnego obiektu. Niezwykle istotna była więc waga i rozmiar. Kolejnym cele było osiągnięcie jakiejkolwiek autonomicznej stabilizacji w powietrzu. Z racji, iż w projekcie nie użyto ani gotowej płytki sterującej, ani gotowego programu - było to więc małe wyzwanie. Pierwszym krokiem był wybór ramy. Z racji użycia włókna węglowego nie została wykonana samodzielnie. Wybrano ramę o przekątnej 330mm i wadze 55gram! To najlżejsza rama jaką znaleźliśmy w tym rozmiarze. Jednym z podstawowych elementów wpływających na możliwości quadrocoptera są silniki. Szukano sensownego kompromisu między ceną, a mocą. Ostatecznie wybrano model Turnigy Park300 o maksymalnej mocy 85W każdy. Następnie do sterowania silnikami bezszczotkowymi potrzebowano regulatorów, które będą nimi bezpośrednio sterować na podstawie sygnału zadanego z mikrokontrolera. Podstawowymi czynnikami jest oczywiście odpowiednia wydajność prądowa, waga, jak i wsparcie Fast PWM. Maksymalny prąd pobierany przez jeden silnik wynosi 9A, więc wybrano regulatory o wydajności 12A. Wybór aparatury do sterowania quadrocopterem nie był nadzwyczajnie istotny, ponieważ do naszych potrzeb wystarczyłyby pewnie większość tanich modeli. Wybrano sprawdzony model Turnigy 9x, 8 kanałów w trybie modulacji PPM to aż za dużo. 🙂 Tutaj wynikła ciut dziwna sytuacja. Sprawa wygląda tak, że odbiornik odbiera ramkę PPM i następnie dzieli ją na 8 kanałów, gdzie każdy ma swoje własne wyprowadzenia. Bez sensu byłoby prowadzić tyle kabelków do mikrokontrolera, dlatego wykonano małą płytkę z 'enkoderem', który ponownie sumuje wszystkie kanały i tworzy ramkę PPM, a ta trafia do mikrokontrolera. Niestety nie było możliwości "wyciągnąć" ramki PPM z obiornika. Mikrokontroler - ATmega 1284P. Wybór podyktowany jest różnymi czynnikami. Przede wszystkim dosyć dobrze znam tą rodzinę, więc nie traciłem czasu na szukanie informacji o podstawach programowania AVR. Myślałem tutaj o jakimś STMie, ale projekt był na tyle czasochłonny, że dodawanie sobie jeszcze nauki nowego mikrokontrolera nie było najlepszym pomysłem. Finalnie ATmega ma wszystko czego było potrzeba i przy 20MHz jest na tyle wydajna, że nie tworzyła żadnych ograniczeń. Serce modelu, czyli płytkę z mikrokontrolerem i jego podwórkiem zaprojektowano samodzielnie, przede wszystkim znajdują się tam stabilizatory napięć i różne wyprowadzenia (PWM, I2C, USART..). Czujniki były niezwykle istotnym elementem projektu. Zbyt duża podatność na wibracje czy zakłócenia generowane przez silniki mogłyby wykluczyć możliwość realizacji założeń projektowych. Ostatecznie udało się zakupić dosyć tanio moduł 10DOF IMU, czyli komplet czujników połączonych magistralą I2C. Akcelerometr - BMA180. Żyroskop - ITG3200. Magnetometr - HMC5883L. Barometr - BMP085. Taki moduł okazał się bardzo dobrym wyborem, płytka jest bardzo mała, wystarczy ją dobrze ulokować i połączyć magistralą I2C z atmegą. Całość oprogramowano również samodzielnie, od komunikacji z czujnikami po pętle sterujące. Pierwszym krokiem w celu uzyskania jakiegokolwiek sterowania było uzyskanie stabilnych pomiarów i określenie położenia quadrocoptera, a konkretnie jego wychylenia w trzech osiach. W imię nauki przetestowano kilka filtrów, ale najpierw dwa słowa wstępu - generalnie całkując dane z żyroskopu otrzymuje dosyć stabilne i odporne na wibracje (dzięki wewnętrznym filtrom dolnoprzepustowym) pomiary. Wszystko psuje jedna rzecz - dryft, błąd narasta w czasie, robi to szybko i bezwzględnie. Potrzebujemy zatem go wyeliminować - dlatego używamy kolejnego sensora - akcelerometru, który w zasadzie tylko koryguje odczyty z żyroskopu. Tak naprawdę acc+gyro to niezbędne minimum. Tandem ten nie potrafi jedynie wyeliminować dryftu kąta yaw i do tego wykorzystujemy magnetometr, aczkolwiek kąt yaw nie jest krytyczny i z powodzeniem można latać bez magnetometru. Barometr zaś służy do stabilizacji wysokości, na ten moment nie zostało to jeszcze zaimplementowane. Pierwszym filtrem łączącym dane z żyroskopu i akcelerometru był zwykły filtr komplementarny, który mieści się w jednej linijce i rzeczywiście eliminuje dryft zaskakująco dobrze, ale przez podatny na wibracje akcelerometr sygnał jest bardzo zaszumiony. Następnie przetestowano Sebastian Madgwick Fusion Filter, który po drobnych zmianach dał zaskakująco dobre rezultaty, tak dobre, że poprzestano na nim i użycie filtru Kalmana odłożono na później jedynie w celach naukowych. Na wykresie porównanie: danych z żyroskopu i wspomnianych dwóch filtrów: Mając poprawne informacje o wychyleniach quadrocoptera zostało jedynie przygotować mu regulatory PID, autonomiczna stabilizacja w powietrzu jest już na wyciągnięciu ręki. 🙂 Należało stworzyć trzy pętle PID (na każdą oś) i po długim dobieraniu nastaw można było zacząć świętować!.. 😉 Dodam może, że dla ułatwienia poszukiwania nastaw zbudowaliśmy prowizoryczną platformę do unieruchomienia quadrocoptera (ale wciąż mógł przechylać się w jednej osi). Jeszcze z istotniejszych faktów to niezwykle istotny jest człon D. Warto jeszcze wspomnieć o śmigłach, też bardzo istotnych. Na podstawie prób można by napisać scenariusz pod serial, a to okładka: Na ten moment korzystamy z rozmiaru 6x4, śmigła trójpłatowe. Najlepsza konfiguracja dla naszej ramy (rozmiar) pod względem mocy. Całość zasilamy z pakietu 3S 1800mAh, co jest kompromisem między wagą, a czasem latania. W przypadku kiedy wszystko jest nastawione na wydajność i moc można uzyskać kilka minut szarżowania w powietrzu. 😉 Generalnie zabawa jest przednia, a świadomość, że Twoje dzieło lata i potrafi same zawisnąć w powietrzu naprawdę cieszy.. 🙂 Dodam jeszcze jakiś filmik z prób: Polecam. 12 Link do komentarza Share on other sites More sharing options...
slawko_k Listopad 28, 2013 Udostępnij Listopad 28, 2013 Dobra robota. Mógłbyś przybliżyć temat tego Sebastian Madgwick Fusion Filter. Link do komentarza Share on other sites More sharing options...
crazyferajna Listopad 28, 2013 Udostępnij Listopad 28, 2013 Witam,jak wygląda budżet przeznaczony na tę konstrukcję? Link do komentarza Share on other sites More sharing options...
zacker Listopad 28, 2013 Udostępnij Listopad 28, 2013 Świetny projekt! Skąd udało Wam się załatwić ramę do tego quadrocoptera ? Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Wu70 Listopad 28, 2013 Autor tematu Udostępnij Listopad 28, 2013 Dobra robota.Mógłbyś przybliżyć temat tego Sebastian Madgwick Fusion Filter. Dzięki. 😉 Co byś chciał wiedzieć? Czysto teoretycznie daje wyższą dokładność niż Kalman. Co ważniejsze, błędy w stopniach: < 0,6 static RMS error< 0,8 dynamic RMS error Tu występują tak silne wibracje i zakłócenia, że to w sumie nie ma już większego znaczenia czy ten błąd będzie 0,1 czy 0,8 stopnia, wszystko jest bardzo dynamiczne. Witam,jak wygląda budżet przeznaczony na tę konstrukcję? Około 1500zł, może już pod 2000zł ze wszystkim..raz spaliłem cztery regulatory po 10 dolarów jeden, ale spokojnie da się taniej, nawet sporo taniej. W tym przypadku 'Performance' też był istotny. Zapomniałem wspomnieć - powstały dwa egzemplarze. 🙂 Świetny projekt! Skąd udało Wam się załatwić ramę do tego quadrocoptera ? Do takiego projektu szukasz części po świecie. Ramę udało się znaleźć w sklepie z dalekiej azji, jak w sumie większość części. Link do komentarza Share on other sites More sharing options...
Sabre Listopad 28, 2013 Udostępnij Listopad 28, 2013 Wu70, wybór ramy bardzo kiepski. CF nie nadaje się na ramę, w szczególności na ramiona, za bardzo przenosi drgania. Wstaw zdjęcie gdzie widać całą ramę bo nie widzę nigdzie żadnych poprzecznych usztywnień do ramion. Link do komentarza Share on other sites More sharing options...
marek1707 Listopad 28, 2013 Udostępnij Listopad 28, 2013 Nie bardzo rozumiem dlaczego "niewinny" ale powiew świeżości na pewno. I wcale nie chodzi o temat - bo quadrolatacze już się tu pojawiały - ale o pasję. Dawno nie czytałem z taką radością napisanego artykułu. Gratulacje. Gdy mój pierwszy samolot wylądował po kilku kręgach nad lotniskiem czułem, że mogę polecieć nim na Księżyc a gdy pierwszy samodzielnie zrobiony wielośmigłowiec stabilnie zawisł w powietrzu - przez cały dzień chodziłem dumny jak paw. Mam podobną torbę 3-łopatowych śmigieł bo też na takich latam (tylko 8'') choć ostatnio jakoś już ich nie przybywa i aż uśmiechnąłem się na ten widok. Brawo chłopaki. Rozumiem, że filtr zrobiliście na podstawie tego artykułu: http://sharenet-wii-motion-trac.googlecode.com/files/An_efficient_orientation_filter_for_inertial_and_inertialmagnetic_sensor_arrays.pdf Jakie plany rozwoju? To do? Jedyny zonk to bardzo mały margines prądu regulatorów powyżej zapotrzebowań silników? Czy rzeczywiście napędy w tak małej konstrukcji biorą aż 9A? Moje w locie biorą mniej a rama jest większa. A regulatory mam 18A i wcale nie uważam, że przesadziłem. Z modelarskich doświadczeń wiem, że liczbę na opakowaniu regulatora należy podzielić przez 2 by nie latać z duszą na ramieniu i obawą, czy za chwilę nie zobaczę dymu. Link do komentarza Share on other sites More sharing options...
Wu70 Listopad 28, 2013 Autor tematu Udostępnij Listopad 28, 2013 Sabre, ciężko mi się z tym zgodzić, w moim przypadku (i nie tylko) - sprawdziła się znakomicie. Wibracje są oczywiste, ale pozbycie się ich poszło gładko i całość działa świetnie przy zachowaniu bardzo niskiej wagi ramy. Co do usztywnienia, jeśli mówisz o tym co myślę to zaznaczyłem na zdjęciu jak wygląda ramię, bo zbytnio już tego nie widać. marek1707, dziękuję. 🙂 Tak, to jeden z głównych artykułów. Doskonale wiem o czym piszesz, po takim nakładzie pracy, po niejednej chwili zwątpienia, zobaczyć jak zawisł w powietrzu pierwszy raz.. Przez moment nie wierzyłem, ale potem duma mnie rozpierała przez długi czas. Co do regulatorów teoretycznie poradzą sobie w trybie ciągłym z 12A, chwilowo nawet 15A, a dla silnika 9A to wartość szczytowa, więc wydawało mi się to sensownym marginesem, szukając różnych informacji nie trafiłem na nic przeczącego moim planom, a nie chciałem dokładać zbędnych gramów. Generalnie nie wykonywałem pomiarów poboru prądu, ale po czasie pracy na baterii można stwierdzić, że zapotrzebowanie na prąd jest rzeczywiście spore. Trzeba też pamiętać, że tak naprawdę rzadko kiedy duszę silniki do szczytowych wartości, przez większość czasu operuję na połowie przedziału throttle. 🙂 Najbliższe plany rozwoju to FPV. Mam już komplet z kamerą, jak tylko znajdę więcej czasu to zabieram się za montaż i pierwsze loty. 🙂 Link do komentarza Share on other sites More sharing options...
slawko_k Listopad 28, 2013 Udostępnij Listopad 28, 2013 Wu70, Chodzi mi o kod. Choć przeglądałem pdf'a którego wskazał kolega marek1707 i wygląda to na zdecydowanie więcej obliczeń niż filtr kalmana. Jak możesz to podaj. Używałem filtra kalmana, komplementarnego to i tego mogę spróbować. Co do regli to 12A w zupełności wystarczą do takich malutkich silniczków. Ja mam regle 12A do silników które biorą na maxa 15A i nic się nigdy nie stało a latam akrobatycznie kopterem koło 700g wagi. Przy 4 silnikach na pakiecie jest znaczny spadek wiec nie ma szans ze przekroczy się maksymalny szczytowy prąd regla. A co do ram to na pęczki tego jest. A jak nie to samemu można naszkicować i wyfrezować. Ja już chyba z 15 różnych wielowirnikowców miałem i w dobie gotowych kontrolerów od 150zł opensourcowych naprawdę SZACUN WIELKI się należy że ktoś chce swój sterownik zrobić, oprogramować i wiele godzin i śmigieł stracić na tuning doprowadzając do takiej postaci jak na filmiku. Link do komentarza Share on other sites More sharing options...
Hudyvolt Grudzień 2, 2013 Udostępnij Grudzień 2, 2013 czy każdy gram jest aż tak cenny, że nie można dodać osłony śmigieł, aby przy kolizji nie ulegały one uszkodzeniu? czy może wpływa to w jakiś sposób na aerodynamikę? Link do komentarza Share on other sites More sharing options...
jacek880 Grudzień 2, 2013 Udostępnij Grudzień 2, 2013 A czy na otwartej przestrzeni też były robione testy?? Jak się zachowuje ze względu na niską masę. Czy jest w miarę stabilny ?? Link do komentarza Share on other sites More sharing options...
Wu70 Grudzień 2, 2013 Autor tematu Udostępnij Grudzień 2, 2013 slawko_k, powinieneś znaleźć przykłady w sieci. Hudyvolt, mi osobiście po prostu najbardziej podoba się bez osłon. 🙂 Póki nie było (a nie było) to konieczne - nie chciałem żadnych osłon, ale oczywiście to dobry pomysł, jeśli patrzymy przez pryzmat szkód. Straty na obecnym poziomie są pomijalne. Główny cel tych "osłon" to bezpieczeństwo. jacek880, niewiele, ale były (patrz: zdjęcia np.). Generalnie największym wrogiem jest wiatr i jak jest dosyć silny to bardzo ciężko się steruje. Waga robi swoje. To temat wciąż otwarty i jak będę miał czas to m.in. nad tym będę kombinował czy da się coś poprawić. Link do komentarza Share on other sites More sharing options...
GAndaLF Grudzień 2, 2013 Udostępnij Grudzień 2, 2013 Myślałeś może o regulatorze w przestrzeni stanu zamiast PID? Wydaje mi się, że wtedy mógł byś osiągnąć lepsze możliwości stabilizacji. Miał byś jeden regulator, który zdaje sobie sprawę ze zmian we wszystkich trzech osiach. Link do komentarza Share on other sites More sharing options...
Wu70 Grudzień 2, 2013 Autor tematu Udostępnij Grudzień 2, 2013 Myślałem o tym, ale odłożyłem na "może kiedyś" ze względu na fakt, że PID sobie poradził dosyć dobrze, a inne zadania czekały. I odłożyłem bardziej "naukowo" czy z ciekawości, niż rzeczywistej potrzeby ponieważ: - ile na tym "ugram"? Generalnie te niby proste PID'y go pięknie trzymają, o wiele lepiej niż się spodziewałem. Link do komentarza Share on other sites More sharing options...
GAndaLF Grudzień 2, 2013 Udostępnij Grudzień 2, 2013 Masz rację, praktyczna różnica pewnie nie będzie wielka. Poza tym możliwe, że przy regulatorze od stanu łatwiej by było zrealizować sterowanie położeniem i prędkością, a uzależnienie PWM od zadanej prędkości i tak by trzeba PIDem realizować. Jak by się udało to dobrze nastawić to pewnie kilka procent lepsze czasy ustalania by się dało uzyskać. Ale faktycznie, to bardziej dla własnej satysfakcji niż z realnej potrzeby. W każdym razie dobrze, że masz w zanadrzu taką możliwość i PIDy to był świadomy wybór. Bo czasem zdarzają się konstrukcje, gdzie jest 10 PIDów tylko dlatego, że ktoś nie zbadał czy istnieje alternatywa. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »