Arduino – Poradnik #8 – Żyroskop/Akcelometr MPU-6050

Cześć dziś zajmiemy się modułem MPU6050, który możemy zakupić TUTAJ.

MPU6050 jest układem łączącym w sobie cyfrowy termometr, 3-osiowy żyroskop oraz 3-osiowy akcelerometr zapewniający szybki oraz stabilny pomiar położenia. MPU komunikuje się z mikrokontrolerem przy użyciu magistrali I2C.

24-1-min

Cechy modułu:

  • Pobór prądu przez żyroskop: 3.6 mA
  • Pobór prądu przez akcelerometr: 500 uA
  • Pobór prądu przez MPU: 250 uA
  • Komunikacja: Magistrala I²C 400 kHz
  • Zakres pomiarowy żyroskopu: +/-250, +/-500, +/-1000, +/-2000 stopni/sekundę
  • Zakres pomiarowy akcelerometru: +/-2 g, +/-4 g. +/- 8 g, +/-16 g
  • Rozdzielczość: 16 bitowa dla każdej osi każdego czujnika
  • Szybkość pomiaru żyroskopu: od 4 do 8000 Hz
  • Szybkość pomiaru akcelerometru: od 4 do 1000 Hz
  • Szybkość pomiaru MPU: od 5 do 200 Hz
  • Programowalne wyjście przerwań informujące o poruszeniu urządzenia lub dokonaniu pomiaru

Opis wyjść:

  • VDD – Zasilanie
  • GND – Masa zasilania
  • INT – Wyjście przerwania (typu otwarty dren)
  • SCL – Wejście sygnału zegarowego magistrali i2c
  • SDA – Sygnał danych magistrali i2c
  • AD0 – Wybiera adres układu na magistrali I²C (podłączony do GND adres 0x68 – podłączony do Vcc, adres 0x69)
  • XCL – Wyjście sygnału zegarowego magistrali i2c do magnetometru
  • XDA – Sygnał danych magistrali i2c do magnetometru

 

Ale zanim zaczniemy omówmy trochę teorii.

Jak działa akcelerometr ?

Akcelerometr działa na zasadzie efektu piezoelektrycznego. Aby to dobrze zrozumieć musimy wyobrazić sobie prostopadłościan, oraz kulkę w jego wnętrzu. Jak na zdjęciu poniżej. 24-2-min
Ściany tego prostopadłościanu są wykonane z piezoelektrycznych kryształów. Gdy odchylimy nasz prostopadłościan kula jest zmuszona do przemieszczenia się w w kierunku nachylenia, pod wpływem siły ciężkości. Ściana z jaką kula zderza się ze ścianą prostopadłościanu tworzy prąd elektryczny. Istnieją trzy pary ścianek. Każda para odpowiada osi w przestrzeni 3D: X, Y i Z. W zależności od prądu wyprodukowanego ze ścian, możemy określić kierunek nachylenia oraz jego wychylenie.

 

Jak działa żyroskop?

Żyroskopy działają na zasadzie efektu Coriolisa . Musimy wyobrazić sobie, że kryształy są w ciągłym ruchu tam i z powrotem. Odbywa się to w miejscu za pomocą piezoelektrycznych kryształów. Za każdym razem ,gdy spróbujemy przechylić ten układ , kryształy doświadczają sił w kierunku nachylenia. Jest to spowodowane wskutek bezwładności ruchomego kryształu. W ten sposób kryształy wytwarzają prąd, a prąd ten jest wzmacniany przez mikrokontroler.

Podłączenie

Jak już wspomniałem MPU-6050 komunikuje się z naszą płytką przy pomocy magistrali I2C. Dzięki czemu możemy podłączyć czujnik za pomocą 4 przewodów.
24-3-min

Programowanie

Pisząc kod do tego czujnika skorzystamy z biblioteki I2Cdev
Dostępna jest ona TUTAJ.

Przejdźmy do pierwszego kodu, który umożliwi odczyt danych z akcelerometru oraz żyroskop.

 

Dzięki czujnikowi możemy wykrywać ruch

Jest to dość niestabilny sposób, jednak działa jak powinien 🙂
Moduł ten możemy wykorzystać do wielu ciekawych projektów. Na przykład taki jak robot balansujący.

W kolejnych częściach poradnika dowiemy się jak graficznie przedstawić dane z czujnika.

Poradnik powstaje dzięki współpracy ze sklepem internetowym XBot.pl – roboty to lubią

24-4
Poprzednia część kursu