We are developing our own custom IMU/AHRS for the use in our airframe stabilization autopilot. For this project to be cost effective for student and personal use we were unable to use one of the off-the-shelf IMU’s on the market. The AHRS V1 pictured below is our first attempt and we hope it will allow us to further develop our Extended Kalman Filter to go along with it.
Choosing the Parts
For handling the EKF with a high enough update frequency we need something that is high performance yet still within our ~$10 dollar budget for the microprocessor. There are many 32bit microcontrollers on the market currently. There was however, only one MCU that had a 12bit ADC build in which would reduce board space and complexity. That lineup was from ST Microelectronics, specifically their STM23F10X Series. They had extensive documentation and various memory sizes to choose from. In the end the STM32F105RB was chosen which contained 16 ADC channels 2 CAN busses, USB On-The-Go (OTG) and had 32k RAM with 128K Flash Memory.
The sensor suite was pretty common as there is as of yet not much competition when we consider the best performing MEMs devices.
The Accelerometer LIS344ALH was chosen for its small noise density of 50 ug/sqrt(Hz). This we hope will give more stable readings but comes at a hefty price tag of $10.49 which is just one dollar cheaper than our MCU. This parts can be swapped with the cheaper model LIS344AL at any time as they are drop in replacements.
The gyroscopes are the IDG-500 and ISZ-500 angular rate sensors from Invensense. These are cheaper and are said to have better performance than the ST Microelectronics alternatives. These sensors can detect up to 500 degrees per second (dps) of rotation and also feature a second amplified output which is 110 dps. This allows one to use the higher sensitivity for small movements and when saturation is detected you can switch to the output with a lower sensitivity.
Finally the magnetometer was chosen because it really was the only available on Digikey for less than $30 dollars. This device, the HMC5843 features an SPI interface and so will connect and gets sampled differently than the other sensors which increase the system complexity, but hopefully performance should be adequate.
|STM32F105RBT6||64-LQFP||32bit 72MHz Microprocessor||D|
|IDG-500||28-QFN||Gyroscope XY Axis 500/100 dps||D|
|ISZ-500||28-QFN||Gyroscope Z Axis 500/110 dps||D|
|LIS344ALH||16-LGA||Accelerometer Triple Axis 3.5g||D|
|HMC5843||20-LCC||Magnetometer Triple Axis Digital SPI/I2C||D|