Witam
Mam podłączony już akcelerometr ADXL345 z płytka edukacyjna z atmega 32
Potrzeba mi z danych z akcelerometru wyliczyć prędkość oraz drogę oraz zapis tych danych na karcie pamięci.
Czas do czerwca
Kontakt i sprawy finansowe PW
Pozdrawiam
Kontaktuj się z ogłoszeniodawcą poprzez Prywatną Wiadomość (ikonka PW).
Na podstawie danych z akcelerometru nie wyliczysz ani prędkości ani tym bardziej drogi.
Akcelerometr wykrywa zmiany przyśpieszenia a nie samą prędkość poruszania się.
Przyspieszenie to pochodna po prędkości.
Całkowanie numeryczne metodą kwadratów albo trapezów załatwia sprawę.
Przy założeniu że czas dt między pomiarami przyspieszenia jest dostatecznie mały.
No właśnie, kolega nic nie napisał jak ma być zamontowane urządzenie. Jeśli "przymocowanie na sztywno" do obiektu którego prędkość mierzymy to pół biedy, ale jeśli wyobraża sobie że będzie je np. trzymał w ręku to zaczynają się schody.
Pomijając już fakt jakości tego akcelerometru i ogólnie sumujących się błędów.
A co jak urządzenie wykonuje dynamiczne ruchy w kierunku poprzecznym do mierzonego i to nie w jednej osi?
. Rejestrator trasy zbudowany w oparciu o mikrokontroler ATmega i akcelerometr (np. 3-kierunkowy). Akcelerometr mierzy przyspieszenie, co po obliczeniu pochodnej daje prędkość. Pochodna prędkości to droga (a zatem można przyjąć, że każdy kierunek akcelerometru ustala jedną z trzech osi w przestrzeni, co pozwala określić dowolny punkt na podstawie współrzędnych w przestrzeni).
W pracy należy:
- ustalić komunikację akcelerometru z uC ATmega (np przez I2C) w celu zapisu do pamięci
danych z akcelerometru,
- określić wzór na obliczanie podwójnej pochodnej poszczególnych pomiarów
Trasę można umieścić w pamięci lub ją zmieniać albo wybierać jedną z kilku.
Wiem że to tylko jest ładnie napisane
więc na co mógł bym wymienić akcelerometr na gps? było by łatwiej zrobić taki rejestrator ?
Na pewno z GPSem nie trzeba będzie kombinować, no i dokładność większa. Spróbuj jadąc autobusem zamknąć oczy i na podstawie przeciążeń jakie na Ciebie działają oszacować ile kilometrów przejechałeś
Żeby tylko się nie okazało by do obliczenia prędkości na podstawie zmian przyśpieszenia z akcelometru trzeba zaciagnąć do pracy PC bo to jeszcze dodatkowo ma zapisywać dane na karcie pamięci.
Kolejna sprawa to umieszczenie akcelometru odpowiednio w przestrzeni poruszania się aby ów przyśpieszenie było mierzone w jednej z osi XYZ bo jeśli nie to dochodzą dodatkowe obliczenia.
obliczenia prędkości na podstawie zmian przyśpieszenia
Jakie będzie przyspieszenie przy jeździe ze stałą prędkością 50km/h ?
Czy aby nie takie samo jak przy jeździe ze stałą prędkości 100km/h, czyli...zero ?
Praktyczna dokładność takiego rozwiązania jest gorzej niż marna...
Jakie będzie przyspieszenie przy jeździe ze stałą prędkością 50km/h ?
Czy aby nie takie samo jak przy jeździe ze stałą prędkości 100km/h, czyli...zero ?
To się raczej nie zdarza aby prędkość była aż tak stała. Niemniej wyliczanie prędkości na podstawie zmian przyśpieszenia to jak dla mnie zadanie niezwykle karkołomne.
sundayman napisał:
Praktyczna dokładność takiego rozwiązania jest gorzej niż marna...
Przyspieszenie przy stałej prędkości musi być zerowe i nie może być inaczej.
Wyliczenie prędkości na podstawie przyspieszenia wcale nie jest karkołomne (chociaż z góry obciążone założonym ograniczeniem kroku całkowania).
Cały problem to daleka niedoskonałość popularnych akcelerometrów (szumy, offset, rozbieżność czułości pomiędzy osiami, nieliniowość, częstotliwość próbkowania).
W wyniku czego błąd narasta wraz z czasem trwania pomiaru.
Wszelkie próby korekty/kalibracji tylko wydłużają czas rejestracji akceptowalnych wyników.
W tym przypadku GPS mimo swoich wad chyba jest najlepszym (choć zdecydowanie nie tańszym) rozwiązaniem.
To sie nazywa 'dead reckoning' i uzywane jest gdy GPS zanika. Dodatkowo uzywana sie predkosc jazdy, informacje z gyro, magnetometrow 3D. Gotowe rozwiazania nie sa tanie ale sa dostepne na rynku. W praktyce na odcinku typu tunel mozna okreslic pozycje z dokladnoscia centymetrow ale oczywiscie sie dosc szybko rozjezdza bo przyspieszeniomierze maja slabo precyzje (14-16 bit). Dlatego stosuje sie to jako wspomaganie do GPS. Mozna kupic przyspieszeniomierze 24 bit ale to juz nie jest ani proste ani latwe (zwykle zastosowania to np. nawigacja w roznych latajacych cudach jednorazowego przeznaczenia a nikt nie chce aby latalo tego za duzo Jakbys chcial sie pobawic to jest takie rozwiazanie gotowe - jako projekt na embedzie dla plytki kL46Z