ADIS16365 interface with dsPIC

Hi everyone , it's the first time to me here.. i have a strange problem ..

i am working on ADIS16365 interface with dsPIC , I wrote a code to extract all these data :

1- Power supply measurement

2- x,y,z gyroscope output

3-  x,y,z accelerometer output

4 - x,y,z gyroscope temperature output

i read all these data correctly except accelerometer y output , it gave a strange output

i used the same methods and calculations with accelerometer x and z and there wasn't any problem , i didn't use burst mode to extract these data ,  i send a command every time

for example , i used  this part of code to read accelerometer x :

         SPI2_Write(0x0A00);                        // Send data via SPI


          XGValue = SPI2_Read(buffer);              // Read the MSByte

          info[4] = (XGValue & 0b0011111111111111); //Strip off the ND and EA flags

so, any help ?

  • We will be glad to help.  What is strange about the data you are observing in the y-axis accelerometer data?  What are they other sensors reading?  What orientation is the device in while you are measuring this?  In other words, what should we expect if it were operating normally?  Thanks! We appreciate your post and look forward to your response. 

  • Thanks for your response .. actually , all other sensors reading are perfect , accelerometer x is almost 0 , accelerometer z is -1 approximately , gyros are almost 0 and their values changes logically with ADIS16365  movement , supply voltage is 5 volt and temperature readings are perfect .

    during these readings , i put ADIS16365 IMU  on a table  , so , i expected some offset value , but the problem was here :

    accelerometer y readings came like this :





    all these strange readings are coming without any change in ADIS16365  position ,  i replaced this IMU by a new one but the problem was same , so , could you please suggest any solution for this strange problem ?

    it looks like the address of accelerometer y  is not 0x0C , but i checked it in the datasheet and it is 0x0C

    so, any help ?

  • What units are you associating with these numbers?

  • G is the unit  .. so , for example , if we take -4.63620 as an output , that means acceleration y = -4.63620 * 9.8 = -45.43476 .. so, it is a strange output 

  • I agree with you; that is well outside of normal expectation.  Do you have anything connected to pins 22, 23 or 24?