MPU9250 SMPLRT_DIV and DLPF_CFG data ready interrupt

I aim to collect IMU samples at 250Hz.

To do that, if I set gyro DLPF_CFG 1 - 7, the ADC sampling is 1kHz and so SMPLRT_DIV is set to 3 to get that 250Hz.  All works well - the time of flight matches the number of samples taken to 0.1% e.g. a 10s flight has 2500 samples.

Setting DLPF_CFG to 0 sets the ADC sampling to 8kHz, and so SMPLRT_DIV is set to 31 to get the same 250Hz data ready interrupt.  But in this case 2500 samples are collected in less than 10s - something like 8s.  Or to put it another way, the data ready interrupt frequency is more than 250Hz.

Anyone else seen this?  Any suggestions?

Everything works well at DLPF_CFG = 1 but if I can get 0 to work, I will.

TIA

P.S. Sorry, I know this is the wrong forum, but I couldn't find a general IMU one.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • OK, I did a little more testing:

    Setting the gyro DLPF to 0, the ADC sampling rate goes up to 8kHz according to the spec.  Then setting SMPLRT_DIV to 31 should mean the data ready interrupt triggers at 250Hz.  But whatever I set SMPLRT_DIV to, I get 166Hz data ready interrupts.

    With gyro DLPF set to > 0, then all works: the ADC sampling is 1kHz and setting the SMPLRT_DIV to 3 results in the required 250Hz data ready interrupts.

    Has anyone else tested the gyro DLPF set to 0 and seen this?

This reply was deleted.

Activity