Skip to main content
Visitor II
November 23, 2020
Question

Can LSM6DS3 measure absolute angle or Static angle?

  • November 23, 2020
  • 3 replies
  • 1870 views

Dear Sir,

Can we use LSM6DS3H measure a tilt angle referenced to Earth?

It has 6DOF angular velocity and velocity measurement. Can we combined these 2, do some calculation to measure its tilt angle / static angle. Which mean when unit turn on or start from reset, can it see its angle?

We urgently need to know this because we already put this chip in our design and don't want to change it. We need to measure absolute angle.

Thanks so much!

Martin

    This topic has been closed for replies.

    3 replies

    MLyAuthor
    Visitor II
    November 23, 2020

    Dear Sir,

    When reading value of X and Y velocity value from LSM6DS3 chip, it does show a value referenced to its tilt angle. Should I assume the tilt angle can be calculated from that?

    Should I also involve the angular velocity X and Y values too?

    Do you have any equations to do that?

    Thanks a lot!

    Martin

    ST Employee
    November 25, 2020

    Hi Martin @Community member​ ,

    yes, you can calculate the tilt angle (absolute, in the sense of referenced to Earth) using the acceleration data of the LSM6DS3.

    You can refer to these two application notes (this one and this other one) for an explanation on how to do it, but essentially you have to calculate the following formula, controlling the environmental noise as much as possible:

    0693W000005Cc5NQAS.pngPlease note however that the best ST device for the inclinometer application is for example the IIS3DHHC.

    -Eleon

    MLyAuthor
    Visitor II
    November 30, 2020

    Hi Eleon,

    Thanks for your reply.

    The question is when the value of acceleration X and Y is range from around 0 to 0x2000 when tilt it from 0 to 90 degree. should I convert to degree like

    x = ( 16 bit acceleration X value ) * 90/0x2000 ?

    its apec. do not have detail reference table from its value of the curve?

    Thanks!

    Best regards,

    Martin

    ST Employee
    December 1, 2020

    Hi Martin @Community member​ ,

    if you are referring to the LSB to physical units conversion (that has to), you can refer to the formula available for example on LSM6DS3 Github drivers (link lsm6ds3_reg.c), depending on the full scale and the mode you have set. For example, in the FS = +-2g case:

    float_t lsm6ds3_from_fs2g_to_mg(int16_t lsb)
    {
     return ((float_t)lsb * 61.0f / 1000.0f);
    }

    -Eleon