logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

MPU-6050 brak odczytu z żyroskopu przez I2C na Atmega 32 - co sprawdzić?

maciejo702 06 Lip 2013 13:46 2199 1
REKLAMA
  • #1 12492860
    maciejo702
    Poziom 1  
    Witam,
    Od jakiegoś czasu zmagam się z problemem braku odczytu danych z żyroskopu w układzie MPU-6050, poprzez I2C.
    Wykluczam problem z komunikacją pomiędzy układem, a mikroprocesorem(Atmega 32), ponieważ wszystkie dane z rejestru można odczytać(w tym z akcelerometru).
    Podejrzewam, że żyroskop trzeba w jakiś specjalny sposób aktywować, choć przekopałem noty kilka razy to nic takiego nie spostrzegłem.
    Druga możliwość jest taka, że może po prostu układ jest nie sprawny. Może ktoś miał podobny problem albo wiem jak temu zaradzić.

    Poniżej zamieszczam kod programu. Na początku następuje ustawienie MPU następnie wszystkie dane z jego pamięci zostają wysłane do terminala(zamieszczam je poniżej kodu)
    Następnie w pętli odczytywane są dane z czujników, dane z akcelerometru wyświetlana są na LCD,a z żyroskopu wysyłane do PC(gdzie każda wartość wynosi 0)
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Dane z pamięci MPU (opis rejestru invensense.com/mems/gyro/documents/RM-MPU-6000A.pdf)
    13.  110
    14.  77
    15.  174
    16.  124
    17.  0
    18.  0
    19.  0
    20.  0
    21.  0
    22.  0
    23.  0
    24.  0
    25.  79
    26.  0
    27.  16
    28.  0
    29.  0
    30.  0
    31.  0
    32.  0
    33.  0
    34.  0
    35.  0
    36.  0
    37.  0
    38.  0
    39.  0
    40.  0
    41.  0
    42.  0
    43.  0
    44.  0
    45.  0
    46.  0
    47.  0
    48.  0
    49.  0
    50.  0
    51.  0
    52.  0
    53.  0
    54.  0
    55.  0
    56.  1
    57.  0
    58.  1
    59.  5
    60.  8
    61.  255
    62.  92
    63.  55
    64.  84
    65.  246
    66.  16
    67.  0
    68.  0
    69.  0
    70.  0
    71.  0
    72.  0
    73.  0
    74.  0
    75.  0
    76.  0
    77.  0
    78.  0
    79.  0
    80.  0
    81.  0
    82.  0
    83.  0
    84.  0
    85.  0
    86.  0
    87.  0
    88.  0
    89.  0
    90.  0
    91.  0
    92.  0
    93.  0
    94.  0
    95.  0
    96.  0
    97.  0
    98.  0
    99.  0
    100.  0
    101.  0
    102.  0
    103.  0
    104.  0
    105.  0
    106.  0
    107.  32
    108.  0
    109.  0
    110.  0
    111.  0
    112.  0
    113.  0
    114.  0
    115.  0
    116.  0
    117.  104
    
  • REKLAMA
  • #2 12498274
    kchpl
    Poziom 15  
    Witam
    Spróbuj zmienić wartość w rejestrze Power Management 1 (0x6B) z 32 na np 0x02.
REKLAMA