Skip to main content
Explorer
April 30, 2025
Question

LSM303AGR - distinguish required movement from noise

  • April 30, 2025
  • 1 reply
  • 390 views

Hi,

I'm developing a prototype based on an already existent product that contains an LSM303AGR, the goal is to install the device in a tower and detect when the tower is tilted or fallen, for this task the idea is to wake up the device via the interruption pin on the magnetometer as the device is battery powered and frequent checks on the status woud decrease the life span on the device too much.

 

The main issue i'm facing is that my device seems too prone to false positives maybe caused by induced vibrations  by the wind on the tower, so far the best results are with the ODR to 1Hz, FS at 2g and adjusted the sensitivity acordingly but this is not an ideal sollution (each device has to be adjusted as the characteristics and eviroment of each tower is different and behaves differently), what is the right way to sense movement but filtering impacts? any sugetions about a good approach for detecting tilt and crash while being power efficient?

    This topic has been closed for replies.

    1 reply

    Super User
    April 30, 2025

    @A.Presm wrote:

    false positives maybe caused by induced vibrations  by the wind on the tower,t?


    So the first step is to characterise whether that is, in fact, the case.

     


    @A.Presm wrote:

    what is the right way to sense movement but filtering impacts? 


    That's where you really need to know the characteristics of the "noise" - from there, work on how to distinguish that from your intended signals.

    You might try a moving average; eg,

    https://stackoverflow.com/questions/12636613/how-to-calculate-moving-average-without-keeping-the-count-and-data-total

    A.PresmAuthor
    Explorer
    April 30, 2025

    Hi Andrew, filtering false positives via some logic and processing seems reasonably reliable for now (It can be done via angle measurement), but what i'm trying to do is to prevent the device from wake up for these unwanted events, by fine tunnig the accelerometer as best as possible (maybe i need to automatically increase the treshold on consecutive unwanted wake ups on short periods of time).