Post Go back to editing

ADIS16003 Y axis Problem

Hello,

I have an ADIS16003PCB, and I am trying to make it communicate with a microcontroller.

I have a problem :

I don't manage to read the Y axis, whereas I can read X axis without any problem.

To read Y axis I have tried several ways : I send 0C00 (hexadecimal) but I always get the value from the X axis (to read X axis, I send 0400).

I have checked on scope the message, and it seems OK, so I don't understand why it doesn't work

Could you help me to solve this problem please ?

Julien

  • Hello Julien,

    We will be glad to help. Do you have YFILT connected to anything? What are you getting for your x- and y-axis responses?  What are you convinced that x is working?

    NevadaMark

  • Hello NevadaMark,

    Thank you for your answer.

    Do you have YFILT connected to anything?

    YFILT and XFILT are not connected to anything, so I suppose the bandwidth is 2250 Hz.

    What are you getting for your x- and y-axis responses?

    When I read X axis I get values between about 1300 and 2700. I get the same values on Y axis. For exeample if I get 1400 on X axis, I also have 1400 on Y axis.

    What are you convinced that x is working?

    I am using the ADIS16003 as a dual axis tilt sensor. When I do a rotation according Y axis I can see the Pitch variations (X varies) and it the result seems correct, but when I rotate the sensor according the X axis, the Roll doesn't vary.

    My program :

    - SPI : CPOL=1, CPHA=1, 16 bits mode

    - I set TCS high

    :loop:

    - I set CS low

    - I wait 3500 µs

    -To read X axis :

         -I send 0x0400

         -I wait 500µs

         -I read the answer (X)

         -I convert the answer in angle (Pitch)

    -I set CS high

    -I wait 2000 µs

    -I set CS low

    -To read Y axis :

         -I send 0x0C00

         -I wait 500µs

         -I read the answer (Y)

         -I convert the answer in angle (Roll)

    -I set CS high

    -I wait 3500 µs

    -Display the values of X, Y, Pitch , Roll on Hyperterminal

    Goto :loop:

    Julien

  • Thank you, Julien,

    Can you clarify one quesiton that jumped out at me, from your reply?

    What are you getting for your x- and y-axis responses?

    When I read X axis I get values between about 1300 and 2700. I get the same values on Y axis. (NevadaMark: Are you saying that for any orientation, the x and y axes measure exactly the same thing?) For exeample if I get 1400 on X axis, I also have 1400 on Y axis.

    Can you probe the XFILT and YFILT lines to see if their voltages are changing, as expected, for rotation about each axis, separately?  This will help us determine is the sensor function is working and if we need to focus on the digital communications, rather than a potential issues with the devices itself, like a solder joint on the PCB.

    http://www.analog.com/static/imported-files/eval_boards/5120343404164ADIS16003_PCB.pdf

    Best, NevadaMark

  • Hello,

    I have good news : I disconnected the device, then I reconnected it to check the signals on XFILT and YFILT, and now it works. I think there was a bad contact somewhere.

    To answer your question : Actually I didn't get exactly the same value it was near values, as if I read twice the same axis, with some noise, so it wasn't a SPI problem.

    Thank you for your help

    Kind regards,

    Julien

  • Hello Julien,

    We appreciate you sharing that kind feedback and are glad that you are up and running.  If you find that you would like to have better accuracy for a dual-axis, tilt sensor function, you may want to check out the ADIS16209.  It also comes with a break-out board (ADIS16209/PCBZ), in the same size as the ADIS16003/PCBZ and offers 0.1 degree of accuracy over a wide range of conditions. Good luck with the rest of your project and please feel free to contact us if you have any further questions.

    Best, NevadaMark

  • Hello Julien,

    The loose connection is interesting, because I would expect all of the J1/J2 connections to impact each axis in a similar manner. Perhaps there was just enough noise to distort the receipt of bit 3 in the configuration command. Thanks again for sharing this with the EZ community.

    Best, NevadaMark

  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin