AME 3623: Project 7: Compasses and Position Control

At the end of this project, you should be able to:

Component 1: Circuit

Connect a compass to your circuit. We have two different types of sensors for the class; your group has one.

Combined Compass/Gyro/Accelerometer

For those of you who have the "long-stem" gyros for project 6 (labeled MPU-9150), then you already have a compass. You do not need to do additional wiring.

Access:

Notes:

Compass-Only Sensor

These compass modules also have "long-stems". You have this compass if you have a short-stem gyro.

Access:

Both Compass Types: Testing your Compass

Before using your compass to control your hovercraft, you should test the compass to confirm that it is well calibrated. The best approach is to implement a while(1) loop that queries the sensor heading, prints it out and delays for a short time (e.g., 100ms). Zero degrees should correspond to magnetic North. Turning your compass to each of the cardinal directions (East, South, West), your program should report angles close to 90, 180 and 270 degrees. If these values are substantially different, then your compass needs to be recalibrated. See the instructor or the TA for help on this if you are having trouble.

Remember that you should calibrate your compass while it is on your hovercraft and far away from other magnetic sources.

Component 2: Software

Implement the following functions:

Copy all of your functions from project 6, and copy the following function from project 1:

Structure your main() function as you did for project 6. Except:

Your main function should still ramp-up the middle fan, stopping once the craft begins to turn. Afterwards, perform 30 seconds of hovering while maintaining a heading toward the selected goal. During this time, the hovercraft will oscillate around its goal since we do not have damping turned on; this is OK for this lab. After the 30 seconds has passed, your craft must slowly ramp down the middle fan.

Component 3: Testing


What to Hand In

All components of the project are due by Thursday, April 14th at 9:00 am.

Grading

Personal programming credit: Group grade distribution:

Group Grading Rubric

Grades for individuals will be based on the group grade, but weighted by the assessed contributions of the group members to the non-personal programming items.

References


andrewhfagg -- gmail.com

Last modified: Wed Apr 13 14:50:02 2016