ArduIMU
Revision as of 00:58, 15 October 2010 by Markgriffin (talk | contribs)
This page describes how to integrate an ArduIMU into an existing Airframe/Paparazzi-Code.
- 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.
- The integration into the software is realized as a module. That is an easy way to connect and test new software.
- 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.
- 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.