cancel
Showing results for 
Search instead for 
Did you mean: 

problem with motion_GC library

Anil3
Associate III

Hi..

My name is Anil and i am facing an issue with mems motion_GC library ie.,regarding MotionGC_Update function (&data_in, &data_out, &bias_update); for this function i am providing data.in and trying to get the calibrated data.out but not getting and the bias update is always showing 0 even for steady state and data.out values are also 0. everytime what might be the reason for this?? thanks in advance.

with regards,

ANIL.

1 ACCEPTED SOLUTION

Accepted Solutions

Without knowledge of the schematics and your environment I can only say that it's not normal this high temperature. Values are definitely influenced by the temperature, for example offsets are changing with temperature, check the datasheet.

View solution in original post

10 REPLIES 10
Petr S
ST Employee

Hi Anil,

Could you please record and send me your complete datalog including input (timestamp, sensor data) and output (returned by library)?

Thanks,

Petr

Anil3
Associate III

Sir here is the datalog..i am using duty cycle of 20ms

Petr S
ST Employee

Your input data look suspicious. Attached is the example of the datalog that work well for me. In the first part of my datalog you can see the board is unstable (in movement) so the calibration is stopped and output calibrated data are the same as input ones. In the middle part the board lies on the table, calibration runs and slowly adjusts the calibration values and the output calibrated gyroscope data are different than input ones (more precise). In the last part of my datalog the board is again in movement and calibration is stopped while the output data are calibrated by the values obtained during the period when the board was stable. Please make sure you convert the input data from mg to g resp. from mdps to dps before you pass them to the library. You can use the GC_Data_Handler function in GyroscopeCalibration application which is part of the X-CUBE-MEMS1 package as a reference code and example of correct data feeding to the library.

Please have a look at the attached input data,

Anil3
Associate III

I am connecting STEVAL-MKI182V2 sensor board to STM32Nucleo-F446ZE Evaluation board and operating the sensor at 3v3 and communicating through SPI. The operating temperature of sensor is around 75 Celsius, will it cause any problem for gyroscope values & calibration and what might the reason for this high temperature...?

with regards,

ANIL.

HI@ Petr

I have taken two buffers and stored the logged data of yours into that buffer after that i have given as an input for the MotionGC_Update function but i am not getting any dataout.

seeking for your help!!

Without knowledge of the schematics and your environment I can only say that it's not normal this high temperature. Values are definitely influenced by the temperature, for example offsets are changing with temperature, check the datasheet.

It's hard to say without having your HW setup and code. All I can recommend is to deeply go through the example code in the GC_Data_Handler function in GyroscopeCalibration application which is part of the X-CUBE-MEMS1 package and compare every detail with your SW, it's working example of correct data feeding to the library. You can also use CubeMX tool to generate the GyroscopeCalibration application for your HW setup, you can use GyroscopeCalibration.ioc file (inside each project in Projects directory) as a starting point, modify it for your HW and generate the application and use it as reference. The main problem is usually in incorrect feed of the library, bad units, bad timestamp or something like that.

Anil3
Associate III

Hi !!

I observed that in GyroscopeCalibration example code the function  MX_GyroscopeCalibration_Process(); is waiting to receive command through UART to connect Unico-GUI and in our case we are not using any GUI to connect, and so it got struck in that loop only so how can i bypass that part for our custom application.