ArduIMU

From PaparazziUAV
Revision as of 01:58, 15 October 2010 by Markgriffin (talk | contribs)
Jump to navigation Jump to search

This page describes how to integrate an ArduIMU into an existing Airframe/Paparazzi-Code.

  1. The ArduIMU communicates over I2C with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground and supply the IMU with 5V.
  2. The integration into the software is realized as a module. That is an easy way to connect and test new software.
  3. This Guide/Software is made to use the ArduIMU without separate GPS-Receiver and without Compass/Magnetometer. The GPS-Data is sent by the Tiny 2.11 over I2C to the IMU.
  4. There is an other airframe/main-AP we wrote wich uses a magnetometer for yaw-drift compensation. We didn't write an installation guide like this yet. But we try to do this as soon as possible.

You can download the code here.

Airframe Adjustments

conf/airframes: "MyAirframe.xml"

  • (1) Insert the module:
<modules>
  <load name="ArduIMU.xml"/>
</modules>
  • (2) Activate "i2c" and "modules"
ap.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150
ap.CFLAGS += -DUSE_MODULES

Copy the Modules and other Data

conf/modules: "ArduIMU.xml"

  • (3) Copy "ArduIMU.xml" into the directory "conf/modules/"

sw/airborne/modules/: "ArduIMU"

  • (4) Copy the directory "ArduIMU" into the directory "sw/airborne/modules/"

Flash the ArduIMU

  • (5) Flash the ArduIMU with the adapted software. For information concerning flashing of the IMU, read:

http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6

Have Fun !

Please note that there was a major revision to the paparazzi i2c drivers in early September 2010. As the ArduIMU code is written for the former drivers, it will not work on a paparazzi installation updated after 1 September 2010 (it will work on a paparazzi installation updated before then). To work with the new transaction-based i2c drivers, the ArduIMU code will need to be revised.