Projekty‎ > ‎

Quadrocopter

Perspektywiczny cel projektu: przekazywanie wydziałowej poczty i oficjalnych pism między kampusem "Ulica Długa" a sekretariatem WEMiF przy ul. Janiszewskiego. Wynikają z tego pewne konkretne założenia konstrukcyjne: udźwig do 1 kg, długi czas lotu na bateriach, zaawansowany autopilot z nawigacją oraz mechanizm autodestrukcji w razie próby wrogiego przejęcia transportera lub przesyłek przez konkurencyjne wydziały i uczelnie.

Na rozgrzewkę:
Inspirujący wpływ na podjęcie i rozwój projektu miały prace magisterskie realizowane w 2011 r. pod kierunkiem dra Krzysztofa Urbańskiego. Autorami tych prac są mgr inż. Krzysztof Borowiecki oraz mgr inż. Jakub Stępień.
Za oprogramowanie sterujące (mikrokontroler i aplikacje dla Windows) odpowiada mgr inż. Ryszard Świerczyński.
Oczekujemy wsparcia ze strony innych członków MikroCpp (pomimo sezonu wakacyjno-urlopowego!).

[2012-07-25]
Wykonaliśmy prototypową konstrukcję mechaniczną (będzie sukcesywnie ulepszana i modyfikowana).
Masa UAV z baterią: ok. 1 kg (bez baterii 600 g). 
  • silniki: 4 x C2830/15 KV750 - 235W; 220 zł komplet
  • ESC: 4 x H20A, nieprogramowalne (będą zastąpione własnymi, szybszymi sterownikami); 172 zł komplet
  • śmigła: GEMFAN 2 x 12/4,5 + 2 x 12/4,5R; 30 zł komplet
  • bateria: LiPo 11.1 V, 4400 mAh, 25C; 150 zł
  • konstrukcja nośna: podwójne profile węglowe 6x6, laminat szklano-epoksydowy, odległości między silnikami: 46 cm (ok. 30 zł)
Koszt części (bez elektroniki) wyniósł 600 zł.

[2012-07-26]
Przeprowadziliśmy testy konstrukcji mechanicznej, wydajności baterii, ciągu silników. Wykonane zostało podstawowe oprogramowanie do łatwego sterowania ciągami silników z poziomu PC (w najbliższym czasie w ten sposób planujemy eksperymentować z algorytmami kontroli położenia i równowagi). 
Wyniki i wnioski: 
  • ESC będziemy wykonywać samodzielnie, co powinno polepszyć czasy reakcji i zmniejszyć masę,
  • jest spory zapas mocy (i dostępny dzięki temu dodatkowy ciąg), co pozwala unieść dodatkowy bagaż (ile dokładnie, tego jeszcze nie wiemy),
  • do działania w 'zerowym' trybie (utrzymywanie się w powietrzu) wystarcza ciąg silników poniżej 50% (szacujemy że jest to ok. 30%). Po kilku minutach ESC robią się lekko ciepłe, a silniki zauważalnie ciepłe. W pełni naładowany pakiet LiPo nie odczuł skutków tych zabaw w czasie kilkunastu minut,
  • uruchomienie pełnego ciągu wysprzątało pok. 31b (właściwie to przemieściło kurz i śmieci z zakamarków na całe pomieszczenie).
[2012-07-27]
Drobne zmiany w konstrukcji i 'odchudzenie' szkieletu:
Masa szkieletu + silników: 470 g
Masa ESC: 90 g
Masa baterii: 390 g
Razem: 950 g
(kliknij, aby powiększyć)

Dodane bezprzewodowe sterowanie (RFM70)
Dokładniejsze pomiary: ciąg 'zero' osiągany jest przy prądzie ok. 8 A/11.4 V (ok. 90 W mocy), co daje ok. 23 W na każdy silnik. Po kilku minutach zabaw silniki stały się zaledwie ciepłe. Nominalnie silniki pozwalają uzyskać 10 razy większą moc, co gwarantuje bezpieczny margines bezpieczeństwa i powinno zapewnić dłuższy czas pracy na bateriach.

[2012-07-30]
Przechodzimy do poważniejszych testów. Aby zminimalizować ryzyko okaleczenia operatora i pozostawić wolne ręce do obsługi myszki/klawiatury, wykonana została uprząż dla quada. Zasilacz 11.1 V, maks. 22 A zamiast LiPo. Komunikacja bezprzewodowa bez zmian (RFM70 + aplikacja w C# na PC).
  • zmiana układu śmigieł na 'X',
  • wyważenie śmigieł (TODO: poprawić mocowanie śmigieł na osi silnika. Fabryczne rozwiązanie ma luzy, które czasem powodują dodatkowe niewyważenie),
  • przygotowanie 'ptaszka na uwięzi' i testy [ obejrzyj film]. Film zajmuje niecałe 10 MiB i demonstruje start, zawis, pełną moc zasilacza, lądowanie. Zasilacz ma ograniczenie prądowe tylko 22 A (podczas gdy maksymalny prąd silników to w sumie 80 A), ale swobodny zawis z pakietem akumulatorów jest już przy 8 A, więc nie stanowi to przeszkody. Lekko twarde lądowanie to efekt użycia lewej ręki do myszki (prawa zajęta była nagrywaniem filmiku). 

Oprócz możliwości podłączenia klasycznej aparatury modelarskiej przygotowujemy własną wersję zdalnego sterowania na bazie akcelerometrów i żyroskopów MEMS (sterowanie gestami). Obecnie do testów używamy komputera pokładowego z CFV1.BASE z dołączonym modułem RFM70. Sterowanie odbywa się z laptopa/peceta/tabletu z podłączonym RFM70.USBSTICK. Jest to o tyle wygodne, że nie potrzeba żadnych driverów w systemie, a przesyłanie rozkazów i danych odbywa się pakietami o wielkości do 32 bajtów. Pozwala to na bardzo łatwe i szybkie dekodowanie ich zawartości w mikrokontrolerze.

[2012-08-01]
Wykonanie PCB i oprogramowanie zaawansowanego akcelerometru 3-osiowego MMA8451 (zakończone sukcesem).
Trwają prace nad integracją aparatury zdalnego sterowania z mikrokontrolerem.

[2012-08-02]
Wykonanie PCB i oprogramowanie magnetometru 3-osiowego MAG3110 (zakończone sukcesem).
MMA8451 (po lewej) i MAG3110 (po prawej).

Oba czujniki używają I2C do wymiany danych z mikrokontrolerem i bezpośrednio po zmontowaniu PCB są gotowe do działania. Ich uruchomienie jest bezproblemowe dzięki dobrze przygotowanej dokumentacji producenta, oczywiście pod warunkiem opanowania samej komunikacji z użyciem I2C.
Akcelerometr ma wymiary 3x3 mm, magnetometr 2x2 mm, więc siłą rzeczy PCB do nich też nie jest duże, co widać na zdjęciu.
Częstość odczytów przyspieszenia wynosi do 800 próbek na sekundę (800 Hz), a pola magnetycznego do 80 Hz.
Dzięki tym czujnikom UAV będzie w stanie utrzymać orientację w przestrzeni (tzn. wykryje wychylenia góra, dół, lewo, prawo, przód, tył oraz strony świata).

Teoretycznie do pełnej kontroli nad quadrotorem wystarczy aparatura 4 kanałowa (po 1 kanale na każdy silnik). Odpowiednio dobierając ciąg każdego silnika (wychylenia drążków aparatury) można uzyskać przemieszczanie UAV w dowolnym kierunku. Ten sposób sterowania jest jednak nieintuicyjny i zupełnie niepraktyczny - w krótkim czasie operator przegrzeje sobie synapsy lub rozbije model. Sensowniejsze jest  przeznaczenie jednego kanału do regulowania siły ciągu (kierunek góra/dół) poprzez jednoczesne zwiększanie lub zmniejszanie prędkości obrotowych wszystkich silników. Dodatkowe dwa kanały mogą służyć do korekty naprzeciwległych silników parami, aby uzyskać przemieszczenie maszyny w przód/tył lub lewo/prawo.
Dodatkowo pożądane jest samodzielne utrzymywanie stabilnej pozycji UAV bez konieczności jej ciągłej korekty przez operatora. 
Komputer pokładowy (mikrokontroler) na podstawie danych pochodzących z czujników przyspieszenia i pola magnetycznego oraz rozkazów wydawanych przez operatora wylicza wymagane chwilowe wartości mocy poszczególnych silników i wysyła rozkazy do ESC (sterowników silników).

Podsumowując: obecnie działa już odbieranie danych z aparatury i synteza sygnałów sterujących do ESC oraz odczyt danych z obu czujników. Pozostaje zebrać wszystkie te dane i wysłać zabawkę w samodzielny rejs. W teorii brzmi to lekko, łatwo i przyjemnie, ale w praktyce okazuje się być trochę bardziej skomplikowane ;-)

Zadania 

  • Z1. dodanie podstawowych zabezpieczeń mechanicznych (dystansowniki),
  • Z2. mechaniczne zaprojektowanie PCB do ESC (PCB będzie elementem konstrukcji nośnej),
  • Z3. mechaniczne zaprojektowanie PCB do uC + RF + sensoryki (j.w.),
  • Z4. oprogramowanie i testy łączności przy użyciu modułów RFM70 (utraty pakietów, opóźnienia). *** Częściowo zrealizowane, przejściówka RFM70.USBSTICK działa bez zarzutów.
  • Z5. pomiar charakterystyk związanych ze 'sterownością' modelu - opóźnienia reakcji, wrażliwość na zmiany ciągów silników [aktywne]
  • Z6. zaprojektowanie i wykonanie PCB dla ESC,
  • Z7. pomiar charaktyrystyk UAV z własnymi ESC,
  • Z8. zaprojektowanie i wykonanie zgrabnej płytki z kompletem czujników: akcelerometr, magnetometr, żyroskop, barometry, odbiornik podczerwieni, komunikacja radiowa, czujniki temperatury silników, napięcia LiPo i ew. pomiar zużytej energii,
  • Z9. opracowanie firmware (zwłaszcza do stabilizacji poziomu i położenia, oczywiście po podłączeniu czujników) - dla parametrów uzyskanych z Z5 lub Z7 [aktywne]
  • Z10. wykonanie punktów odniesienia (nadajniki podczerwieni), względem których UAV będzie orientował swoje położenie w przestrzeni. Zabawka ma głównie być używana w zamkniętych pomieszczeniach i latać na niewielkie odległości, więc GPS niezbyt dobrze się do tego nadaje,
  • Z11. konfigurowanie modelu na uwięzi (zabawa z dobieraniem algorytmów i współczynników) [aktywne]
  • Z12. próby terenowe (koszenie trawy i podcinanie drzewostanu w okolicach M6).
Z10 jest zupełnie niezależnym zadaniem - ten projekt może posłużyć również do aktywnego wykrywania położenia innych zabawek (np. pojazdu, robota) lub człowieka w pomieszczeniu. 
Z7 pozostawiamy na później (być może wystarczą fabryczne ESC).
Z5, Z9, Z11 to kombinacja matematyki, programowania mikrokontrolera, programowania aplikacji w C# i pewnych manualnych działań polegających na umieszczeniu czujników w odpowiednim miejscu modelu oraz umiejętności 'wyczucia' jego reakcji.

ą
Krzysztof Urbański,
27 lip 2012, 02:31
ą
Krzysztof Urbański,
2 sie 2012, 13:33
ą
Krzysztof Urbański,
30 lip 2012, 12:14