Could anyone help me i was asked to develop a microcontroller program to perform closed loop feedback using an IMU.
IMU may refer to:
Inertial measurement unit
Intensive Management Unit - a type of prison in the United States usually practicing solitary confinement
Interactive Member Universal
Interactive Marketing Unit
International Mathematical Union
International Medical University
Interurban Multiple Units used by Citytrain
Islamic Movement of Uzbekistan
Israel Mathematical Union
Italian Mathematical Union
The Irish Medical Union - now renamed the Irish Medical Organisation.
The Indiana Memorial Union on Indiana University Bloomington campus
Are you planning to interface with a type of prison?
The Arduino is the best microcontroller to do so. Lots of example is code is available, and we are glad to help.
A closed loop is software that controls motion with sensors. For example a balancing robot. http://en.wikipedia.org/wiki/Closed_loop (read the 'feedback' and the 'PID controller')
An IMU is a few sensors together, needed to control for example that balancing robot. http://en.wikipedia.org/wiki/Inertial_measurement_unit
I guess you need an IMU, but also a few motors or servo motors.
Search for "arduino balancing" or "arduino self leveling", you will find many projects. Here are a few: https://sites.google.com/site/onewheeledselfbalancing/Home/easy-build-low-cost-arduino-self-balancer http://sebastiannilsson.com/en/k/projekt/selfbalancing-robot/
But I think you don't have to make a robot, but something like this self-leveling project:
For some IMU boards is good code available, and for others not. Boards at Sparkfun have good code, https://www.sparkfun.com/search/results?term=imu&what=products
The MPU-6050 sensor board is very cheap on Ebay. Jeff Rowberg wrote a good library for that, https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 And this is the 'teapot' example using that:
You also need motors or servo motors. Servo motors can be easily connected to the Arduino, and the Servo library provides an easy way to control them, http://arduino.cc/en/Reference/Servo
It all starts with an Arduino board. I would suggest the Arduino Uno board, that is the most common and easiest board. http://arduino.cc/en/Main/arduinoBoardUno Follow the instructions to set it up, see "Getting Started" on the home page, http://www.arduino.cc/ First thing to do is to get the 'Blink' example running on the Arduino.