the tolerance of sh200q of StickC?



  • I'm curious about the tolerance of the sh200q acceleration readings of StickC.
    I put the StickC on the desk and make sure it will not be moved and be steady.
    Then I tried the codes below but got the acceleration higher than "1g". Why is that?

    >>> from hardware import sh200q
    >>> import math
    >>> imu = sh200q.Sh200q()
    >>>
    >>> for i in range(5):
    ...     print((imu.acceleration[0],imu.acceleration[1],imu.acceleration[2]))
    ...     wait(1)
    ...
    ...
    ...
    (0.138, 0.058, 1.107)
    (0.14, 0.055, 1.111)
    (0.139, 0.058, 1.111)
    (0.138, 0.055, 1.11)
    (0.136, 0.06, 1.11)
    >>> for i in range(5):
    ...     print(math.sqrt(imu.acceleration[0]**2+imu.acceleration[1]**2+imu.acceleration[2]**2))
    ...     wait(1)
    ...
    ...
    ...
    1.11918095051694
    1.12111150203715
    1.12195989233127
    1.12375308675883
    1.11990892486845
    >>>
    

    I also tried with the configuration 16g range set. More or less the same.

    >>> for i in range(5):
    ...     print((imu.acceleration[0],imu.acceleration[1],imu.acceleration[2]))
    ...     wait(1)
    ...
    ...
    ...
    (0.137, 0.059, 1.12)
    (0.137, 0.059, 1.11)
    (0.142, 0.062, 1.11)
    (0.139, 0.053, 1.108)
    (0.128, 0.063, 1.107)
    >>> 
    >>> import math
    >>> for i in range(5):
    ...     print(math.sqrt(imu.acceleration[0]**2+imu.acceleration[1]**2+imu.acceleration[2]**2))
    ...     wait(1)
    ...
    ...
    ...
    1.13100221043108
    1.12003080314784
    1.1184927357833
    1.11923321966425
    1.117821094809
    >>>
    ···


  • acceleration z is 1g, is normal



  • @heybin

    but it is 11% more than 1g.
    Is it normal? I suppose the tolerance is much lower than 10%.



  • It need calibration, maybe... i will check it



  • @heybin I also found "non zero" values for acceleration and gyro. Is there a special calibration method?
    Thanks....