Skip to main content
Visitor II
April 23, 2020
Question

lsm6ds3 temperature compensation

  • April 23, 2020
  • 2 replies
  • 1891 views

Dear ST,

As I tested with, the LSM6DS drifted follow temperature. As you can image bellow, red line is temperature and green is degree (was calculated from X, Y, Z )

0693W000000WIcWQAW.png

I'd like to confirm LSM6DS had internal temperature compensation? If NO, how to do it? Or any chip was integrated build-in this feature?

thanks and regards,

Tuyen

    This topic has been closed for replies.

    2 replies

    ST Employee
    April 24, 2020

    Hi Tuyen, the internal temperature sensor is calibrated at production tester level, while the ZRL and ZGL temperature variation gain is declared in the datasheet p.21. I suggest you to compensate via SW (real-time or in post-processing) the output data with the declared average temperature variation, positive for increasing temperature from 25°C, and negative for decreasing temperature.

    0693W000000WPRpQAO.png

    Regards

    tpham.1Author
    Visitor II
    June 10, 2020

    Thanks Eleon,

    I'd like to temperature compensation +/-0.5mg/deg for LSM6DS. As i understand from your source

    float_t lsm6dsm_from_fs2g_to_mg(int16_t lsb) {

    return ((float_t)lsb * 0.061f);

    }

    We need add to X, Y, Z raw data value (0.5/1000)*16.394*(temperature- 25) right?

    let example X = 100, Y = 200, Z = 300 at 50 deg then

    X = X + (0.5/1000)*16.394*(50- 25) = 100 + 204 = 304

    Y = Y + (0.5/1000)*16.394*(50- 25) = 200 + 204 = 404

    Z = Z + (0.5/1000)*16.394*(50- 25) = 300 + 204 = 504

    Am i correct?

    thanks and regards,

    Tuyen

    ST Employee
    June 11, 2020

    Hi Tuyen, it is a linear compensation and I suggest you to compensate the value once you have changed the raw data from LSB to mg

    • X_comp = X + (T-25)*LA_OffDr --> in your equation you should multiply also X_comp and X by the axl sensitivity 16.394 LSB/mg

    Regards

    tpham.1Author
    Visitor II
    April 27, 2020

    Thanks Eleon BORLINI for response,

    I had a concern that all chip LSM6DS impact by temperature are same as +/-0.5mg/1 degree?

    We also found that, It is small effect when we put horizontal and big effect when put vertical. Any different impact through 3 axis X, Y, Z?

    regards,

    Tuyen

    ST Employee
    April 27, 2020

    Hi Tuyen, +/-0.5mg/1 degree is the typical value, although max and min values are not declared, mostly because they depend on the application environment, the soldering process (e.g. offset introduction due to an unwanted bending), the process spread. In the case you are finding outliers, a post-processing / average compensation is suggested... The impact on the 3 axis is similar for each other, although Z can be slightly asymmetrical with respect to X and Y axis, for mechanichal design reasons. Regards