The accelerometers only need to be calibrated once. The error model I'm currently using for the accelerometers is a bias and a scale factor. To calibrate them, call the
calibrateAccel function 6 times, once for each orientation of the IMU (+X, -X, +Y, -Y, +Z, -Z) facing up. This is because we're using the gravity vector to calibrate the accelerometers. The IMU should be stationary when
calibrateAccel is called. You can find an example here:
https://github.com/bolderflight/uNav...ateMPU9250.ino
You'll notice I'm using the terminal to tell me when to change the IMU orientation and have a delay before calling
calibrateAccel so I have time to orient and get the IMU stationary before the calibration starts. Once you're done with the calibration, you'll want to get the calibration biases and scale factors with the
get functions, store them in EEPROM, and then use the
set functions to use them in the future.