Skocz do zawartości

[Bascom] problem z przechyłem quadrocoptera


zuba1

Pomocna odpowiedź

Witam. Z racji rozpoczęcia ferii zimowych postanowiłem zabawić się z moją platformą biedronki v929 (quadrocopter). Miała ona uszkodzony sterownik. Zabrałem się więc do pracy i wyposażyłem ją w mikrokontroler atmega8 i MPU6050. Kłopot jest taki że po obliczeniu mocy na każdą stronę quadro nie zachowuje się stabilnie tzn. chwieje się a po 1s ląduje na plecach. Raz po modyfikacji softu udało mi się utrzymać w miarę prosto ale i tak krążył wokół osi jednego z silników. Nie chcę uzyskać jakiegoś super dokładnego lotu ale żeby była to namiastka stabilizacji. Zawis w miejscu ogłupia go. Dane kat_x i kat_y to wartości podawane w stopniach od -90 do +90 ,moc to siła ciągu w zakresie od 0-255, PWM zrealizowany na timerze 2 programowo.

Pozycjonowanie:
'przetważanie przechyłu na współczynnik kierowany do obliczeń mocy silników
If Kat_x >= 0 Then Wsx = Kat_x * 3
If Kat_x < 0 Then Wsx = Kat_x * -3

If Kat_y >= 0 Then Wsy = Kat_y * 3
If Kat_y < 0 Then Wsy = Kat_y * -3
'wspłóczynnik x i y nieprzekracza 70
If Wsx > 70 Then Wsx = 70
If Wsy > 70 Then Wsy = 70
'jeśli prosto to błąd=0
If Kat_x = 0 Then
Blad_d = 0
Blad_b = 0
End If

If Kat_y = 0 Then
Blad_a = 0
Blad_c = 0
End If
'sterowanie ledami
If Kat_x = 0 Then Led2 = 1
If Kat_y = 0 Then Led3 = 1
If Kat_x <> 0 Then Led2 = 0
If Kat_y <> 0 Then Led3 = 0
'sortowanie wartości błędu w zależności od przechylenia
If Kat_x < 0 Then Blad_d = Wsx
If Kat_x > 0 Then Blad_b = Wsx
If Kat_y > 0 Then Blad_c = Wsy
If Kat_y < 0 Then Blad_a = Wsy
'wpisywanie wartości do PWM
Moc_a = Blad_a + Moc
Moc_b = Blad_b + Moc
Moc_c = Blad_c + Moc
Moc_d = Blad_d + Moc


Return

No i obsługa PWM

Przerwanie_t2:

Incr Licznik
'PWM
If Licznik >= Moc_a Then Reset Ma Else Set Ma
If Licznik >= Moc_b Then Reset Mb Else Set Mb
If Licznik >= Moc_c Then Reset Mc Else Set Mc
If Licznik >= Moc_d Then Reset Md Else Set Md
Return


Link do komentarza
Share on other sites

Zacznij od regulatora P na samym sygnale z żyroskopów w osiach x i y.

Znajdziesz na pewno taką nastawę dla której w ręce będziesz czuł ze quadro przeciwdziała próbom wychylania go.

Jeżeli zacznie to już latać to zrób PD. powinien latać lepiej.

Potem dorób nawet sam P do osi Z. zapobiegnie to samoczynnemu obracaniu się dookoła.

I na tym można już super latać.

W początkach kopterów kilka lat temu właśnie na takich prostych elektronikach lataliśmy.

A potem zaczyna się trudne czyli dorobienie kolejnych regulatory do utrzymywania poziomu.

Ale to jak już będziesz latał.

Link do komentarza
Share on other sites

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ę »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.