Zanim...
Zanim...



Polskie Forum FPV

Forum modelarzy i pilotów FPV
Dzisiaj jest środa 21 lis 2018, 09:30


Strefa czasowa UTC+1godz.




Nowy temat Odpowiedz w temacie  [ Posty: 9 ] 
Autor Wiadomość
Post: poniedziałek 20 sty 2014, 20:08 
Offline

Rejestracja: poniedziałek 20 sty 2014, 20:01
Posty: 3
Lokalizacja: Horyniec-Zdrój
Witam. Jestem nowy na forum i chciał bym się przywitać. Jeśli źle trafiłem to proszę o przeniesienie. 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.

Kod:
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

Kod:
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




Moje pytanie wygląda tak. Jak zrealizować obliczanie przechyłu?? Może mię ktoś nakierować na poprawny kierunek?? Zaznaczam że, PWM i obsługa MPU6050 wraz z filtrami chodzi w miarę bezbłędnie.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek 21 sty 2014, 11:09 
Offline
Awatar użytkownika

Rejestracja: środa 15 maja 2013, 18:05
Posty: 127
Lokalizacja: Warszawa
a masz jakoś ustawione odstepy czasowe pętli programu?

_________________
Robotyka, wydruki 3D, gimbale, multikoptery, Autodesk Inventor


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek 21 sty 2014, 11:12 
Offline
Awatar użytkownika

Rejestracja: środa 15 maja 2013, 18:05
Posty: 127
Lokalizacja: Warszawa
Pozatym powinienieś mieć układ regulacji gdyż samo "obliczenie przechyłu" może być niewystarczające. jest mnóstwo przykładów na regulator PID dla atmeg, możesz zaryzykować i zbudować zwykły regulator 3-stawny ew. z histerezą (nie będziesz miał na początku oscylacji lecz jakoś nie będzie najwyższa)

_________________
Robotyka, wydruki 3D, gimbale, multikoptery, Autodesk Inventor


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek 21 sty 2014, 17:01 
Offline

Rejestracja: poniedziałek 20 sty 2014, 20:01
Posty: 3
Lokalizacja: Horyniec-Zdrój
Całość działa tak że brane są dane z akcelerometru co ok 10ms a następnie są one skierowanie do obliczeń- PWM chodzi cały czas. Jak taki kalkulator PID miał by wyglądać??


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek 21 sty 2014, 18:22 
Offline
Awatar użytkownika

Rejestracja: piątek 12 lip 2013, 09:44
Posty: 358
Lokalizacja: Kraków
Może któryś z algorytmów będzie Ci pomocny:
http://plane.ardupilot.com/wiki/roll-pi ... Controller

_________________
Pozdrawiam Maciek,
Aktualnie: FrSky x9d, X-Lite, rejsery i DJI Mavic Pro
Stuff dawno temu: Spektrum DX8, Naza v2 +GPS, http://mojerc.pl, KFC32, Nighthawk 280 Pro


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek 21 sty 2014, 23:38 
Offline
Awatar użytkownika

Rejestracja: środa 15 maja 2013, 18:05
Posty: 127
Lokalizacja: Warszawa
A zrobiłeś synergię ACC i GYRO? jakiś chociaż filtr wagowy bo masz spore szumy z acc a z gry pewnie oprocz szumu, plyniecie

_________________
Robotyka, wydruki 3D, gimbale, multikoptery, Autodesk Inventor


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek 23 sty 2014, 16:42 
Offline

Rejestracja: poniedziałek 20 sty 2014, 20:01
Posty: 3
Lokalizacja: Horyniec-Zdrój
Jest filtr przygotowany przez mojego znajomego. Szumów nie ma. Z tym że nie wiem jak zrealizować ten regulator. Jakie współczynniki??


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek 23 sty 2014, 16:47 
Offline
Awatar użytkownika

Rejestracja: środa 15 maja 2013, 18:05
Posty: 127
Lokalizacja: Warszawa
zuba1 pisze:
Jest filtr przygotowany przez mojego znajomego. Szumów nie ma. Z tym że nie wiem jak zrealizować ten regulator. Jakie współczynniki??


współczynniki trzeba zgadnąć

ja bym zaczął od samego P i dalej metodą Z-N wyznaczył pozostałe

Masz jakiś monitor żeby podglądać to co dostajesz po filtrze z gyro i acc?

_________________
Robotyka, wydruki 3D, gimbale, multikoptery, Autodesk Inventor


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek 23 sty 2014, 16:51 
Offline
Awatar użytkownika

Rejestracja: środa 15 maja 2013, 18:05
Posty: 127
Lokalizacja: Warszawa
Spróbuj wysyłać po serialu do komputera te 6 parametrów i jakoś zrobić wykresy z np 5s - zobaczymy jak reaguje na reorientację

_________________
Robotyka, wydruki 3D, gimbale, multikoptery, Autodesk Inventor


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 9 ] 

Strefa czasowa UTC+1godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group

Strona korzysta z plików cookie w celu realizacji usług zgodnie z . Polityką prywatności
Możesz określić warunki przechowywania lub dostępu do cookie w Twojej przeglądarce lub konfiguracji usługi.