Skocz do zawartości
scilent

Problem z I2C, MPU6050

Pomocna odpowiedź

Witam,
Mam problem z uruchomieniem prostej testowej komunikacji pomiędzy arduino i MPU6050.

Kupiłem wczoraj konwerter napięć 3.3-5V, gdyż wcześniej próbowałem bez niego - dopóki nie zauważylem, że to błąd. 😅 Konwerter na załączonym zdjęciu.

Problem zauważyłem dlatego, że mój program wiesza się w momencie odczytu danych ze slave (MPU6050), gdyż mam tam pętlę while (oczekiwanie na ACK). Program pisany w C, wykorzystuje systemowe TWI, przepisany z książki. Nie korzystam z popularnego Arduino IDE + podłączenia do pinów analogowych. Może to błąd? 🙄

Między kanałami które używam: SCL i SDA wpiąłem 10kOm do 5V, oraz 4.7kOm po stronie 3.3V.

Jednak po podłączeniu 5V do HV oraz masy do GND, po drugiej stronie (LV) pojawia się zaledwie 2.8V. Gdy podłączam MPU6050 do LV i GND, nie świeci się na nim dioda LED, więc jest to po prostu za małe napięcie. Po podłączeniu MPU do zasilania z arduino, dioda świeci się i na 3.3V i na 5V.

Tak samo jest z kanałami LV1...LV8. Wszędzie 2.8V. Czy to w ogóle wystarczy dla magistrali I2C?

Dziwna sprawa, że po podłączeniu zasilania MPU do 5V, na konwerterze pojawia się nagle te 3.3V... 🤯

Moje pytanie brzmi więc, czy coś robię źle, czy to wina konwertera? Albo niepotrzebny konwerter dla tego MPU? 🤣 Konwerter nówka sztuka.

Dodam, że próbowałem podłączać moduł do arduino nano, arduino uno, także na płytkę EvBavr z atmegą32. Za każdym razem bez skutku.

@Edit: Wykorzystałem szeroko stosowaną metodę podłączenia MPU do A4, A5. Program z arduino playground. Wszystko działa jak należy 🙄

Udostępnij ten post


Link to post
Share on other sites

A gdzie wcześneij podłącałeś??

Przecież na A4 i A5 (przynajmniej w m328 i podobnych) jest i2c.

Jeśli masz MPU na GY-521 to nie dawaj żadnych konwerterów. podłącz do 5v i zadziała od strzała

Udostępnij ten post


Link to post
Share on other sites
Gość es2
Między kanałami które używam: SCL i SDA wpiąłem 10kOm do 5V

Więc pewnie nie uzyskasz 100kHz, musisz zmniejszyć prędkość transmisji lub wartości rezystorów.

W zasadzie, przy I2C konwersje poziomów z 5 na 3,3V mozna sobie darować.

Udostępnij ten post


Link to post
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!

Gość
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...