Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 3 gru 2024, o 07:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 1 lip 2018, o 21:11 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 43
Pomógł: 1

Cześć. Mam taki problem, że całkuje sobie prędkość kątową z żyroskopu żeby otrzymać kąt obrotu. O ile całkowanie prędkości ujemnej wychodzi poprawnie, tzn po obrocie i zatrzymaniu żyra scałkowany kąt jest poprawny i stoi w miejscu. To przy obrocie w drugą stronę kiedy prędkość jest dodatnia, po zatrzymaniu żyroskopu kąt natychmiast zaczyna spadać aż do zera. Zejście do zera z 90stopni zajmuje gdzieś ok. 10 sekund. Ja już nie wiem gdzie może być błąd, rozebrałem kod, podpatrywałem na sucho wartości prędkości i wydawały się być ok. Może Wy coś doradzicie z góry dziękuję.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Potem tylko wyrzucam ang_z na seriala z częstotliwością 10Hz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2018, o 20:18 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 296
Lokalizacja: Szczecin
Pomógł: 47

Mnożysz zmienne int16 z double i podstawiasz wynik do int16, co niekoniecznie może dawać wynik, którego oczekujesz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2018, o 09:02 
Offline
Użytkownik

Dołączył(a): 06 maja 2016
Posty: 28
Pomógł: 2

J.w kolega już opisał.

Jeżeli chcesz liczyć na AVRku przesuń sobie przecinek i daj nawet uint32. By ci się zmieściły liczby z wynikami.
W przypadku 8bitowych ciężko jest ogarnąć na nich wydajne liczenie zmiennoprzecinkowych. Po za tym zawsze następują błędy obliczeń. W przypadku jak przesuniesz przecinek i będziesz operować na dużych liczbach bez wartości ułamkowych, błędy będą dużo mniejsze, a i same obliczenia szybsze.
Sama biblioteka zmiennoprzecinkowa zajmowała z tego co pamiętam ok 2kb na AVRku. Nie mówiąc już o wykorzystaniu sporych zasobów ramu do ich obliczania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO