Reduced Size Rotomotion IMU
Since 2003 I own a 6-DOF IMU from Rotomotion company.
It is a sensor unit containing inertial sensors for 6 degrees of freedom (DOF).
These are 3 separate gyro sensors and two acceleration sensors, each to measure 2 axes.
The unit was often shipped as a kit and probably is therefore most equipped with standard components.
This results in considerable dimensions and a greater weight.
To use this IMU in a small model airplane, I mainly had to reduce the dimensions.
Original IMU kit
Reducing the size of the main board
The unit consists of 3 PCBs - the main board, the xy-board and the z-board.
The main board includes the microcontroller and a lot of connection options, including servo headers.
For my project I need but only the collection of data - all further calculations are done by a powerful central computer.
For this reason I designed a new motherboard in SMT, having only the necessary components.
It also has headers to directly connect the two sensor boards at the proper angle.
This eliminates the ribbon cable connections and separate mounting of the sensor boards.
New main board
Customizing the sensor boards
To fit the sensor boards at right angles in narrow space, some through-hole components were also replaced by SMT parts.
Affected are some resistors.
The SMT components were soldered directly on the pads of their predecessors.
Furthermore a part of the xy-PCB was milled away to make room for the Yaw gyro.
Note the black mark in the following picture.
Replacement for through-hole resistors
The PCBs can now be plugged together right-angled.
I maintained the original pin layout as far as possible.
The new motherboard consists of a low-drop voltage regulation, an ATMega168 (backward compatible to the original controller),
a LED, and some adjustments to improve the AD conversion.
The IMU weighs 30g without case und has a power consumption of 28 to 30mA.
Various methods for data processing were tested including a Kalman Filter.
Using a visualization in Java 3D, these methods can be examined in real time.
For the Kalman filter the original source code of the Autopilot project was used.
After several weeks of checking and testing I finally found a crucial bug in the source code.
I also use the visualization in a modified form for my log file viewer "FlightViz"
where a log file serves as data source instead of a direct connection via serial interface.
Applied on a model aircraft the IMU and the Kalman filter do a good job.
However problems appear on high wind when the GPS heading differs some 10 degrees from the plane's longitudinal axis.
In this situation a compass would be a good additional reference instead of the GPS.