Thursday, April 29, 2010

Extracting the Galvanometers

-I don’t suffer from insanity, I enjoy every minute of it.

Greetings to all our fellow Code Warriors tuning in. Today's narrated broadcasting comes live from the RCA lab as we continue on our quest of unleashing Dr. Colossus upon the world in all his lasery goodness.

Recalling out last post, Dr. Colossus's goal in life is to project a laser from its core onto a flat surface in an xy scan. The way we proposed to do so is by actuating two mirrors mounted upon galvanometers. In the purest sense a galvanometer is a type of ammeter that can sense and measure current; however, we take it up a step and use our galvanometers as analog electromechanical transducers that provide a rotary deflection of the mirrors to servo their position.

Now, you might ask, "Where are you getting these galvanometers from?" The obvious and thus clearly wrong answer would be to buy them. "Buy them? you say. Sure why not, other than that a single galvanometer serving as a transducer as we want it could cost ~$400, and besides, whats the engineering fun in that. At this juncture in time we were presented with many different options on how to go about acquiring the necessary parts that we needed. The first option was to simply wind our own galvanometers, a simple yet boring task. Being the embedded systems warriors that we (and of course everyone else) are, we chose to get our hands dirty and tear down some stuff to see what could salvage. Sid gave us the suggestion of using the voice coil from an old cd player to serve as the rotary motor that would move the mirrors which we took to heart and built upon. Instead of a cd player, we decided to use an old hard drive and remove that voice coil; we did so because the hard drive has an advantage in that it can be actuated much more quickly than the cd player due a more powerful voice coil.

To extract the voice coils for later use, we first were given a few Maxtor hard drives from our good friends over at Penn Commutech. We then removed all fastening screws and front and back cover, exposing the read/write arm of the hard drive and the platters that store data in between. Since we are only interested in the voice coil and how it actuates the read/write arm, we took a punch to the center spindle to knock out the bearing and remove the platters and its central column entirely. After the voice coil was free, we hot glued the mirror that is to be actuated on the axis of the read/write arm. The before and after picture for one of the hard drives is shown below.

Thats all folks for this update on the status of Dr. Colossus, more to come.

Tuesday, April 20, 2010

A Warm Welcome

-Out of My Mind. Back in Five Minutes

Hello everyone, this is the start of our nifty blog for our ESE 350: Intro to Embedded Systems final project. Yes, we know that it is late in the game, but hey, don't count us out yet.

Without any further hesitation or delay, Ben and I (Miguel) are proud to present
Dr. Colossus - the Major Lazer. Dr Colossus was originally designed to serve as a ubiquitous xy laser scanner for all your laser projecting needs; however, here in the RCA lab Ben and I have gotten our diabolical hands upon it and plan to tranform it into one of the most evil contraptions of all time: a portable game of PONG that can be projected onto any surface.

Just imagine: You are in the RCA lab trying to work on your 350 final project when out of nowhere two fly looking guys burst into the place bragging about their new implementation of how to display a simple game of ping pong on the wall. You start to say to yourself, 'yea that looks cool and all, but I could just as easily whip out my phone and start playing a game...," but as soon as you see the lasers turn on you are instantly drawn to the device like a moth to a flame and you begin to play, and play, and play. Unbeknownst to you six hours have just elapsed where all you have done was watch a small laser ball travel back and forth when you come to the realization that that 350 demo you have worked so hard on is in four hours and you are not finished and all you can think of are those damn lasers... f**king Dr. Colossus.

Although Ben and I would never use Dr. Colossus to sabotage any of our fellow CodeWarrior's hard work, we do intend fully to exploit it for all of its mindless entertainment and wholesome fun. The inspiration behind Dr. Colossus came to us when searching the interweb for project ideas where we came upon many implementations of a laser scanner used to serve as an oscilloscope output for a stereo input. This oscilloscoped laser used two mirrors to reflect a laser onto a flat area which would deflect the light at different angles in response to the changing currents and frequencies of the music. Given that the general theme for our final project was 'games' we decided that it would be neat to take this same concept of modulating the laser's path via mirrors into the simplest game we could think of: PONG.

Originally we wished to implement this projector system by
placing a laser-diode on a gimbal motor (a pivoted support capable of many degrees of freedom) that would raster-scan over an area producing a high-resolution version of the input image; however, initial calculations proved this task to be extremely difficult and practically unfeasible. In order for the displayed image to look smooth and continuous to the human eye, the laser would have to raster over the area back and forth and refresh approximately 30 times/second requiring actuation of the gimbal faster than we could provide. One possible solution to this limitation would be to reduce the area over which the laser would raster scan to increase effective speed of the motor; however, we have chosen to scrap this idea and alternatively implement this projector system using 2 servo-positioned mirrors capable of vector imaging of a directed beam.

The servo positioning of the mirrors is to be controlled using two galvanometers each moving back and forth in one direction so that when they are placed orthogonally with respect to each other, the total system covers two degrees of freedom in movement by scanning over an area, as shown in the figure below.
By controlling how much current is fed to the galvanometer and thus how much each mirror will deflect, we can control where the beam will go anywhere on the projected screen.

Using these concepts above, we intend to interface the HC12 to operate and control the galvanometers and thus the projector. Our course of action is to utilize the PWM output of the micro controller to control how far the galvanometers actuate the mirrors and thus the area that is to be swept out.

Well, thats it for now. Be on the look out for updates, live from the RCA lab!