Post Go back to editing

ADXL373

Category: Software

Can you provide the basic register settings for the ADXL373 to use FIFO in the measurement mode?

I am trying to get basic functionality working where I would like to see accel values when I shake/move the accel. 

Currently when I read the FIFO I see very small non-zero values in range 0.2g to 1g when it is steady as well as it is moving. Any suggestions on what could be wrong? I am using the 2's complement code given in the other examples in the forum.

  • Hi KV, 

    Here is an example I put together to control the ADXL372 with an Arduino. The difference with the ADXL373 is the scale factor.  

     adxl372_FIFO_stream_test.zip

    I want to mention that the ADXL373 datasheet currently does not include the FIFO feature because we found bug that come from the ADXL372 design (their ASIC is identical). Here are more details about the FIFO issue and the workaround. The Arduino code I am sharing is an example of the workaround implementation. 

    PDF

    I hope this helps, 

    Pablo. 

  • Thanks Pablo. This workaround still does not address my issue. The issue I am currently facing is that the values do not change when I move/shake the board. I am using the same register settings that you have in the 372 example.

  • that is strange.. How many parts have you tested? are you able to communicate with the part at all ? for example reading the DEVID register. 

  • I have tested only one board so far.

    The SPI communication works fine and I can read/write the registers. It looks like I need to shake the board hard to see higher values. How do I configure the accel to be sensitive to light movements? See some sample values.

    For these samples, I set the HPF register (address 0x38) to 0x03. Also used BW = 160 Hz and ODR = 5120 Hz.

    0.000000 -0.200000 -0.400000
    -0.400000 -0.200000 -0.400000
    -0.200000 -0.400000 -0.600000
    0.000000 0.200000 -0.600000
    0.400000 -0.400000 -0.200000
    0.200000 -0.400000 -0.200000
    0.000000 0.000000 -0.800000
    0.400000 -0.200000 -0.600000
    0.000000 0.400000 -0.800000
    0.000000 0.200000 -0.600000
    -0.400000 0.000000 0.000000
    0.000000 -0.400000 3.000000
    0.200000 -0.200000 2.800000
    0.000000 -0.600000 3.200000
    -0.200000 -0.800000 2.600000
    -0.200000 -0.400000 3.400000
    0.200000 -0.800000 3.200000
    0.000000 -0.200000 2.600000
    0.000000 -0.200000 2.800000
    0.200000 -0.600000 3.000000
    0.200000 -0.600000 3.400000
    0.400000 -1.000000 3.600000
    0.400000 -0.400000 3.000000
    0.800000 0.000000 2.800000
    0.800000 -0.400000 2.800000
    0.600000 -0.400000 2.600000
    0.000000 0.000000 2.800000
    -0.400000 0.000000 3.200000
    0.000000 0.000000 2.800000
    0.000000 -0.400000 2.800000
    -0.800000 -0.600000 2.800000
    0.000000 -0.200000 2.800000
    0.000000 -0.400000 2.600000
    0.200000 -0.200000 3.200000
    0.600000 0.000000 3.000000
    0.000000 0.000000 3.200000
    0.000000 -0.800000 3.400000
    0.000000 -0.600000 3.600000
    0.200000 -1.000000 3.400000
    0.200000 -0.800000 3.400000
    -0.200000 -0.600000 3.000000
    0.000000 -0.800000 3.000000
    0.400000 -1.000000 3.200000
    0.800000 -0.600000 3.200000
    0.400000 -1.000000 3.200000
    0.600000 -1.000000 2.800000
    0.800000 -0.400000 2.600000
    0.200000 -0.400000 2.800000
    0.000000 -1.000000 3.000000
    0.600000 -0.200000 3.200000
    0.600000 -0.200000 2.400000
    0.000000 0.000000 2.800000
    0.000000 -0.600000 3.000000
    -0.200000 -1.000000 2.600000
    0.400000 -0.600000 2.200000
    0.200000 -1.000000 2.000000
    -0.200000 -0.600000 2.200000
    -0.400000 -0.800000 2.000000
    -0.400000 -0.800000 2.200000
    -0.200000 -0.400000 2.600000
    0.400000 -1.200000 2.600000
    0.200000 -1.200000 3.000000
    0.600000 -1.400000 2.600000
    0.200000 -0.800000 3.200000
    0.000000 -0.600000 2.400000
    0.200000 0.000000 0.000000
    0.200000 -0.200000 0.000000
    0.400000 0.200000 0.000000
    0.000000 0.000000 0.000000
    0.000000 0.400000 -0.400000
    0.000000 0.000000 -0.400000
    0.200000 -0.600000 -0.400000
    0.600000 -0.600000 -0.400000

  • From what you just mentioned it seems to me that the board is working properly. With the HPF on, it makes sense that all values are near zero when there is no motion. How are you shaking the board and what values of acceleration were you expecting to get? for hand shaking 1 to 4g sounds reasonable to me. 

    Pablo. 

  • I use hand shaking for this test. I was hoping to see 1g to 4g for gentle shake and > 10g for vigorous shaking.

  • I dont think you can get more than 5g from hand shaking, Over 10g is reasonable of you hit the part against the palm of your hand, and ~100g if you hit it against a hard surface.  

  • Thanks for the support.

    Suggestion: If you could add the information in PDF attached above as a Device Errata or Technical Article, it will be useful and convenient for new users.