|Subject:||Re: [Paparazzi-devel] Arduimu drift|
|Date:||Mon, 01 Aug 2011 12:21:30 +0200|
|User-agent:||Mozilla/5.0 (X11; U; Linux i686; en-US; rv:184.108.40.206) Gecko/20110516 Thunderbird/3.1.10|
groundstart/airstart has little to do with the drift compensation, although if you don't use them correctly it will not work.
groundstart means that each time the arduimu is powered, it will make new neutrals for gyro and accelerometers (leds are flashing for a few seconds), and store them in the eeprom.
airstart means that when you power the board, you read the neutral in the eeprom. It is always possible to trigger the "groundstart" after by lowering one of the pin.
This behavior is the same for arduimu and arduimu_basic and is probably describe in the arduimu documentation.
The "correct" way to use this (especially if you don't connect the "groundstart_pin") is to flash the board with ENABLE_AIR_START set to 0, while the arduimu board is flat and steady on a desk. When the leds stop flashing (neutrals are stored), reflash the board with ENABLE_AIR_START set to 1, so that at the next start you will use the stored values. If you prefer to make the neutrals at each start, then leave the code with the flag set to 0.
The reason of the drift is probably that when you start, the neutrals are very far from the real value, and the drift estimation doesn't converge. It may also append when you start upside down.
This mechanism is coming from the original ardimu code, and it is not fitted to paparazzi. I will soon modify the arduimu_basic firmware and driver to remove this stupid air/ground start and a setting in paparazzi will allow you to trigger a new neutrals' calibration.
On 01/08/2011 08:45, GARCIA ALVAREZ, ANA wrote:
|[Prev in Thread]||Current Thread||[Next in Thread]|