Go Down

Topic: Microcontroller program help ! (Read 458 times) previous topic - next topic

daisygrm

Could anyone help me i was asked to develop a microcontroller program to perform closed loop feedback using an IMU.

Nick Gammon

http://en.wikipedia.org/wiki/IMU

Quote

IMU may refer to:

    Inertial measurement unit
    Initial markup
    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?
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

Erdin

#2
Mar 08, 2013, 09:31 am Last Edit: Mar 08, 2013, 09:41 am by Erdin Reason: 1
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:

http://www.youtube.com/watch?v=T0SFAdPUUYs


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:

http://www.youtube.com/watch?v=Ge8L9f6rzA0

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.

Go Up