calliope-edu / CalliopEO_AstroPi

MIT License
1 stars 2 forks source link

Calibration BMX055 #67

Open Amerlander opened 3 years ago

Amerlander commented 3 years ago

https://github.com/calliope-mini/microbit-dal/blob/ae1b5379d3bf9477ce95afa9b7e2ab9b96a2f559/source/drivers/MicroBitCompassCalibrator.cpp#L292

rzbrk commented 3 years ago

See https://www.youtube.com/watch?v=2AO_Gmh5K3Q

rzbrk commented 3 years ago

I would suggest to close this issue. As discussed last week in Berlin, I would not recommend to change CalliopEO.py. However, the topic needs to be discussed at least before the student programs arrive!

IMHO I would prefer to establish dedicated HEX files for the calibration of the IMU BMX055, maybe a dedicated HEX file for each sensor (acc/gyro/mag - which can be calibrated individually). The calibration of each of the sensors within BMX055 is described in the datasheet. The calibration results can be stored in a NVM. The calibration usually needs to be updated after some time, after significant (environmental) conditions changed, after launch, at every position change of CalliopEO at ISS, change in temperature, change in equipment near CalliopEO, ...

Calibration of the gyro and the magnetometer are straight-forward and can be done also on board the ISS. However, the calibration of the accelerometer is more difficult because of the lack of a net accelerations in the space station. Maybe for the accelerometer, a calibration performed on ground before launch can be used. It would be wise to save the acc calibration values somewhere outside. The registered calibration values can be rewritten manually in the BMX055 register at any time if - for whatever reason - these values get lost.

Amerlander commented 3 years ago

I agree, but I keep it open here until it is tracked (or solved) somewhere else. At least we should add a description about the calibration process in the documentation here when it is defined.