XMOS Based IMU

XCore Project reviews, ideas, videos and proposals.
User avatar
rp181
Respected Member
Posts: 395
Joined: Tue May 18, 2010 12:25 am

XMOS Based IMU

Post by rp181 »

Version: 1
Status: Under development
License: GPL
Download: /files/project_builds/HLHCS.zip



Code will be maintained on GitHub: https://github.com/rp181/XMOS_IMU

Download the eagle files using the "download latest version"

NOTE: The NCP1521B power reg portion in the schematic looks off, but the pad mapping is correct. I still need to fix the library part.
As a component of a larger autonomous helicopter project, this XMOS based IMU will eventually give 3-Dimensional attitude information (Roll, Pitch, Yaw). The board contains:
- 1 XMOS L1-128 - This handles all of the sampling and processing of data. Inputs are listed below, and 4 1 bit ports are left for output data, to support I2C, SPI, or UART. One will be chosen (or it will be configurable), to interface with other MCUs, including another XMOS processor.
- 3 Axis Gyroscope (ADIS16060) - Each axis is it's own Gyroscope unit, as 2 axis gyroscopes have reduced performance. The Gyros are analog
- 3 Axis Accelerometer (ADXL335) - Analog outputs
- 8 Channel ADC (AD7928) - Convert the Gyroscope and Accelerometer outputs to digital SPI data, read by the XMOS. The built in sequencer allows for fast collection.
- 3 Axis Magnetometer (HMC5843) - An I2C Magnetometer. This is connected off-board via cable to move it away from sources of interference (such as the rotor motor).
- GPS (Any UART Module) - Connected via cable
The XMOS processor collects all of the data, processes it, and will stream AHRS information. The IMU filter is still to be determined, but the eventual goal is some sort of Kalman filter (independent of the physical system).
Current Status: Base IMU board designed. Magnetometer verified working with another dev kit, ADC being read. Other sensors on order.
Images:


User avatar
rp181
Respected Member
Posts: 395
Joined: Tue May 18, 2010 12:25 am

Post by rp181 »

User avatar
rp181
Respected Member
Posts: 395
Joined: Tue May 18, 2010 12:25 am

Post by rp181 »

The GPS cable is flipped (pin 1 should be pin 6, etc), so the cable had to be cut and resoldered. Otherwise, everything is working fine. I am finalizing the sensor input and scaling before starting the filter portion.
User avatar
rp181
Respected Member
Posts: 395
Joined: Tue May 18, 2010 12:25 am

Post by rp181 »

I managed to get a serial link to my computer, and obtained data. This graph shows the roll angle calculate with just the accelerometer, and just the gyro (and the respective high and low frequency noise). I am working on the filtering at this point.
User avatar
Gravis
Experienced Member
Posts: 75
Joined: Thu Feb 02, 2012 3:32 pm

Post by Gravis »

what are the standing up parts? btw, you should totally use the MPU-6000 as it's super awesome ([optional] built-in filters!) and would reduce part count. you can also get a tiny GPS module to put on the board.

i love the project. dont stop (until you drop!)