Digital controllers are hard!
So rather than try to make a new static page for every completed project I do (which I never do because I’m obsessed with getting everything perfect) I’m going to do what all the young people are doing these days and start a blog. I’m not a terribly interesting person but I make interesting things, so I’ll be featuring those.
In that spirit: 6.115 is over! For all you non-MIT types, the 6 means it is an electrical engineering / computer science class (the EE side in this case). Throughout the course we programmed 8051 microcontrollers to do all sorts of ridiculous things, like drive CT scanners and robotic arms and act as feedback controllers for variable power supplies. The actual classroom portion ended about a month ago, at which point we were all sent forth to work on individual final projects – everything from speech interpreters to pen plotters to glove-based robotic controllers.
In honor of my mechatronics roots, I decided to make a ball and plate feedback control system. After constructing the system from leftover delrin and ABS stock, I soldered IR LED and phototransistor arrays onto perfboard and bolted them to the table. By scanning through the LEDs and reading the phototransistors, I was able to determine the X-Y position of the ball on the plate. Running that through a PD controller and sending the command to hobby servos beneath the table made everything work like magic! (Or not; implementing a digital controller with coarse position measurement in assembly with no floating point math is difficult).
In case that made no sense: enjoy the video and pictures! My friend Clare posted some lovely macro shots of the various lab kits during demonstration day as well.