I've just released ArduPlane 2.67
This release fixes a number of important bugs, as well as adding a few new features.
This release changes how the level parameters are stored in EEPROM, so it is very important that you re-level your plane after upgrading if you have MANUAL_LEVEL set to 1.
The key changes in this release are:
The new accelerometer calibration code that Randy did is particularly interesting, as it gives us a way to get the accel calibration much more accurate along all 3 axes, which should improve the attitude solution somewhat. It is not properly documented yet, but if you are feeling adventurous then try running the CLI and running the "accel" command in the setup menu. This replaces the normal levelling process.
Thanks Tridge, 2.67 has fixed the differential aileron.
I re-calibrated the radio with diff set (on Ch1 & 5). Is that right or should I calibrate before diff is set to show it full PWM on those channels?
Will the APM also use this diff for automatic modes?
Great News!!!! Congratulations!!!!
Thank you Tridge! :)
I have been following Randy's new accelerometer calibration method. Nice work. I have a question, though. Are you taking into account the shift of accelerometer offsets with temperature? The MPU6000 and 6050 have 3.5% shift in X and Y accelerometer offset over the temperature range 0 to 70 degrees C, and 6% shift in Z. If the flight temperature is approximately the same as the calibration temperature, no problem. But if you calibrate indoors and then fly outside in the cold, there could be a significant offset shift unless you account for the temperature change. So, I would suppose the best thing to do would be to wait until the IMU reaches ambient temperature, and then perform the accelerometer calibration just prior to flight.
Can't get HIL simulation to work with v2.67, works fine for v2.66
A couple more comments on accelerometer offsets:
Actually, the accelerometer temperature can change quite a bit during flight.
1. The APM itself generates heat, so overall the board's temperature will rise above local ambient.
2. The voltage regulators get hot, so if the accelerometer is mounted near one, it will see an additional temperature rise.
3. If the APM is mounted inside a foamy, the foamy will act like a nice little oven. Other sources of heat such as ESC and batteries can make things toasty warm.
Overall, it is easy to get a 20 degree C temperature shift in flight, which would cause a significant shift in accelerometer offsets.
So, I think if you want precise inflight performance of the accelerometer, you have two choices: inflight temperature compensation, or inflight offset removal.
Inflight temperature compensation would require manual measurement of offsets versus temperature, because the curve is not the same for all units. That is why vectornav charges a premium for manually calibrated IMUs.
Another approach is inflight removal of accelerometer offsets. I have worked out the math for a method to do that, but have not yet had a chance to test it.
Last time i had around 5 °c temperature difference.
On altitude it is around 2m +
I think yes, as far as I can see that in this patch: