MMA8452Q Slow motion detection

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MMA8452Q Slow motion detection

Jump to solution
814 Views
johnmunroe
Contributor I

Hi

I'm hoping to trigger an interrupt when the acceleration is relatively low, e.g., a garage door begins opening, person begins walking. I see that the resolution is 0.063g/LSB, so 0x0F gives 1g - does that mean 0x0F is the minimum threshold for it not to trigger an interrupt when stationary? If so, does that mean it won't be able to pick up slow accelerations (< 9.8m/s^2) on any axis?

Since the acceleration could be too slow, could an interrupt be fired on a change in accelerations across all axes, e.g., a 0.05g change on any axis between samples?

I'm not so sure about what the debounce samples do, but could those be somehow tweaked in order to cope with slow accelerations?

Thanks

Labels (1)
0 Kudos
1 Solution
583 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi John,

One way to do this could be using the embedded transient detection function that triggers an interrupt when any of the enabled axes has exceeded a set acceleration threshold disregarding the static acceleration. So the data that is compared to the threshold to be exceeded is high-pass filtered data and the minimum threshold resolution is 0.063g. There is an appropriate use case example and code snippet in the AN4071.

Another option is using the embedded vector-magnitude function on the FXLS8471Q that triggers an interrupt when the acceleration magnitude exceeds a preset threshold for a programmed debounce time. Please refer to the AN4692 for more information including a use case and code example.

Please let me know if you have any other questions.

Regards,

Tomas

PS: If my answer helps to solve your question, please mark it as "Correct". Thank you.

View solution in original post

0 Kudos
1 Reply
584 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi John,

One way to do this could be using the embedded transient detection function that triggers an interrupt when any of the enabled axes has exceeded a set acceleration threshold disregarding the static acceleration. So the data that is compared to the threshold to be exceeded is high-pass filtered data and the minimum threshold resolution is 0.063g. There is an appropriate use case example and code snippet in the AN4071.

Another option is using the embedded vector-magnitude function on the FXLS8471Q that triggers an interrupt when the acceleration magnitude exceeds a preset threshold for a programmed debounce time. Please refer to the AN4692 for more information including a use case and code example.

Please let me know if you have any other questions.

Regards,

Tomas

PS: If my answer helps to solve your question, please mark it as "Correct". Thank you.

0 Kudos