Jak zrównoważyć latający quadcopter?

9

Używam własnego kodu do stworzenia robota quadcopter. Część sprzętowa jest skończona, ale muszę wyważić helikopter.

Oryginalny film wideo pokazujący problem został udostępniony za pośrednictwem Dropbox i nie jest już dostępny.

Próbowałem grać z prędkością każdego silnika, aby go wyważyć. Nie poszło. Mam na pokładzie żyroskop i akcelerometr. Ale jak mam dostosować prędkość silnika na podstawie tych wartości? Jakie zasady powinienem wystrzegać?

Czy jest jakieś lepsze rozwiązanie inne niż próba i błąd? Od czego mam zacząć Jakieś wskazówki?

Greenonline
źródło
Link do filmu wydaje się umrzeć ...
Greenonline
1
Dlatego nie lubię linków do prywatnych filmów hostowanych na Dropbox @Greenonline. Przynajmniej gdyby został przesłany na YouTube, najprawdopodobniej nadal byłby dostępny.
Mark Booth

Odpowiedzi:

5

Uważam, że trochę googling, a zauważysz, że kilka istniejących płyt kontrolera ma otwarte oprogramowanie. Na przykład w zeszłym tygodniu dokonałem niewielkiej zmiany na płycie KK Kobby hobby , skompilowałem ją i było w porządku (poszukaj oprogramowania 1.5 w zakładce plików). Myślę, że openAero jest również łatwo dostępne.

Na pewno nie spróbowałbym zacząć od zera, ale jeśli tak, to wiele pętli PID na każdej osi, zmieszanych z sygnałami sterującymi z odbiornika. Roll i pitch różnią się, zmieniając prędkość silnika, jak się domyślacie. Odchylenie zmienia się poprzez zmianę przeciwnych obrotowych par silników. wysokość jest kontrolowana przez zmianę wszystkich silników jednocześnie. Jaki kod, na który patrzyłem, prowadzi mnie do przekonania, że ​​prawdopodobnie powinieneś czuć się komfortowo z kątami eulera , aby połączyć dane czujnika z żyroskopy i przyspieszenia (którym może być lub nie być I2C, więc naucz się tego, jeśli nie znasz go).

Kolczasty 3
źródło
Tylko kontynuacja; natknąłem się na kilka fajnych schematów blokowych, które mogą Cię zainteresować;
Spiked3