Skocz do zawartości

Problem z komunikacją I2C z modułem GY-521 MPU6050


MarcinN

Pomocna odpowiedź

Witam, jest to mój pierwszy wpis na tym forum dlatego witam wszystkich bardzo serdecznie. Swoją przygodę z Arduino zacząłem około 5 lat temu, przez ten czas udało mi się zgromadzić wiele czujników, modułów oraz rozwinąć się w dziedzinie programowania i elektroniki. Dodam jeszcze, że wszystko to traktuję jako jedno z wielu hobby, które w "zdrowy" sposób zapełnia mój wolny czas. To tyle o mnie 🙂

Dawno temu zakupiłem moduł akcelerometru GY-521 oparty o scalak MPU-6050, przeleżał dość długo nieużywany (właściwie nigdy nie sprawdzony) aż niedawno nadszedł czas na praktyczne jego wykorzystanie. Do obsługi tego modułu posłużyłem się gotową biblioteką znalezioną na blogu pana Korneliusza (jarzebski.pl) adres: https://github.com/jarzebski/Arduino-MPU6050. Po załadowaniu biblioteki wziąłem się do podłączenia modułu z płytką Arduino Nano. Scalak z modułu pracuje pod napięciem 3,3V, jednak zamontowany jest w nim stabilizator napięcia stąd został podłączony bezpośrednio pod 5V z Arduino. W module piny SDA i SCL są "fabrycznie" podciągnięte na płytce rezystorami 2,2kΩ pod 3,3V. Jako że I2C w Arduino działa w konfiguracji otwarty dren zrezygnowałem z konwertera stanów logicznych podłączając bezpośrednio piny A5 i A4 do akcelerometru. Reasumując podłączenie wygląda w sposób następujący:

  • 5V -> VCC
  • GND -> GND
  • A4 -> SDA
  • A5 -> SCL

Nadszedł czas na pierwszy program, był to gotowy przykład z wyżej wymienionej biblioteki MPU6050_gyro_pitch_roll_yaw gdyż idealnie nadawał się do krótkiej modyfikacji i zmontowania układu już na gotowo. Po wgraniu i przetestowaniu byłem bardzo mile zaskoczony stabilnością działania tego modułu gdyż wszystkie wartości wyświetlane na SerialMonitorze odpowiadały rzeczywistości. W pełni zadowolny wziąłem się za szybką modyfikacje, która polegała na tym, że gdy moduł zostanie odchylony o co najmniej 5 stopni w jednej z trzech osi to zostanie uruchomiony alarm. Wszystko przebiegło bez żadnych problemów, program działa bardzo stabilnie ale... tylko wtedy kiedy jest podłączony do komputera przez USB a na SerialMonitorze wyświetlam wartości kąta odchylenia. Nie mogę pojąć tego ewenementu i nie mam pojęcia co robię źle. Sytuacja wygląda tak, zamówiłem nowy, taki sam moduł - efekt ten sam, wgrałem program na inna płytkę Nano - problem ten sam co wcześniej, zamieniłem Nano na Uno - nic to nie zmieniło. Po wielu godzinach spędzonych na szukaniu odpowiedzi w internecie oraz rozmyślaniu o rozwiązaniu i kolejnych próbach uruchomienia stwierdziłem, że sprawdzę czy moduł cokolwiek "mówi" do Arduino kiedy komputer "nie patrzy". Nie posiadam oscyloskopu więc wymyśliłem bardzo prosty test z diodami. Moduł leży poziomo: kiedy obrót w prawo - uruchamia prawą diodę, kiedy w lewo - lewą. Tu problem był dokładnie taki sam, kiedy Arduino wpięte jest do komputera i uruchomiony jest SerialMonitor to działa bez zarzutu, bardzo stabilnie. Kiedy uruchamiane jest z powerbanka, czy to z gniazda DC baterią 9V (w przypadku UNO) czy chociażby przetwornicą DC DC ustawioną na 7,5V wpiętą pod Vin to diody przy obrocie nie świecą albo wariują. Dodam też, że po wpięciu płytki Arduino do komputera w przypadku, w którym to nie uruchamiam SerialMonitora, raz działa a raz nie, z SerialMonitorem za każdym razem działa poprawnie. Na obecną chwilę skończyły mi się pomysły, próbowałem kompilacji na różnych wersjach AdruinoIDE, wywalałem z kodu cały Serial do komunikacji z komputerem i nic. 

Czy ktoś z was spotkał się z takim problemem z modułem GY-521? Bardzo proszę o pomoc lub sugestie. 

Pozdrawiam

 

Edytowano przez MarcinN
  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.