ATNEL tech-forum
https://forum.atnel.pl/

Problem z I2C, MPU6050
https://forum.atnel.pl/topic20527.html
Strona 1 z 1

Autor:  aiwa [ 30 mar 2018, o 19:36 ]
Tytuł:  Problem z I2C, MPU6050

Witam,
postanowiłem poprosić tu o pomoc, gdyż skończyły mi się pomysły na rozwiązanie problemu.
Korzystam ze znanej wszystkim biblioteki TWI i na tej podstawie testuję MPU6050.
Jednakże nie działa komunikacja I2C.
Do debugowania zamiast diody używam LCD (na którym ostatecznie będę wyświetlał wyniki z MPU).
Oto main:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


I mój plik .c z prostą obsługą modułu MPU6050:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pliku biblio.h nie wrzucałem, bo wszystkie 'define' wplotłem w powyższe kody plików *.c.
Procesor to Atmega32, 16MHz, wszystko ładnie ustawione w projekcie (sczytane przez eclipse).

Jeśli chodzi o PODŁĄCZENIE, jest bardzo proste więc szybkie fotki zamiast schematu:
Obrazek

Obrazek

Obrazek

Obrazek

Nie jestem pewien czy wszystko się zgadza. Jak widać, podłączyłem MPU bezpośrednio do zasilania z płytki, gdyż...
Na konwerterze (który dziś kupiłem) po podłączeniu 5V do HV, na pinie LV pojawia się 2,8V. Nie wiem czy to normalne?
Z tego powodu MPU zasilane jest z 5V, ale działa (świeci się dioda) również na 3.3V z płytki. Wtedy na LV konwertera jest 3.3V.

Bardzo proszę o pomoc, ponieważ niestety nie mam innego urządzenia z I2C żeby sprawdzić program i konwerter :(

@Edit: dołączam 2 noty katalogowe o MPU6050 z których korzystam

@Edit 2: był błąd w podłączeniu, zająłem piny PC6 i PC7 zamiast PC0 i PC1 (SCL i SDA). Poprawiłem, ale wciąż nie działa.

Autor:  mczarny [ 31 mar 2018, o 14:06 ]
Tytuł:  Re: Problem z I2C, MPU6050

cześć
Jak Ci wyszło, że adres I2C to 0x68?
Obrazek
W/g mnie adres to 0xD0 lub 0xD1 w zależności od pinu AD0

Autor:  aiwa [ 31 mar 2018, o 14:30 ]
Tytuł:  Re: Problem z I2C, MPU6050

mczarny napisał(a):
W/g mnie adres to 0xD0 lub 0xD1 w zależności od pinu AD0


Nie wiem dlaczego? Piszą że adres 7 bitowy.

Co nie zmienia faktu, że zaczęło działać od razu :mrgreen: Dziękuję pięknie. :) :)

Co ciekawe, nigdy nie sprawdzałem kwestii adresu, gdyż w programach na arduino IDE wszyscy używają 0x68.

Autor:  mirekk36 [ 31 mar 2018, o 14:35 ]
Tytuł:  Re: Problem z I2C, MPU6050

aiwa napisał(a):
Co ciekawe, nigdy nie sprawdzałem kwestii adresu, gdyż w programach na arduino IDE wszyscy używają 0x68.

Bo tak to jest w andruino - niby coś programujesz a nawet nie wiesz jak to działa ...

adresy nie są żadne 7-bitowe - tylko podaje się w ramach adresu zawsze 7 najstarszych bitów bo najmłodszy bit ZAWSZE odpowiedzialny jest za ZAPIS albo ODCZYT ... i jak się wie takie podstawy to się już rozumie o co chodzi z adresami i nie popełnia się takich błędów

Autor:  aiwa [ 31 mar 2018, o 14:54 ]
Tytuł:  Re: Problem z I2C, MPU6050

Cytuj:
Bo tak to jest w andruino - niby coś programujesz a nawet nie wiesz jak to działa ...


Dlatego unikam jak ognia korzystania z Arduino IDE

Cytuj:
adresy nie są żadne 7-bitowe - tylko podaje się w ramach adresu zawsze 7 najstarszych bitów bo najmłodszy bit ZAWSZE odpowiedzialny jest za ZAPIS albo ODCZYT


Super! Wszystko teraz rozumiem :D :D

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/