Diary of May 2002 3-6
May 3, 2002I built mock-up of sweeping mirror assembly (small motor, prototype 7), mounting all elements onto a gripper with two hands (Figure 96; see also Figure 87 and Figure 88).
I started to tune the software, and made it work—almost.
I also made many drawings of sweeping mirror assemblies, based on the mock-up that works, taking into account the right angles for the mirror, etc. (see Figure 82)
May 4, 2002I made a 3D model of all elements (TinyProjector_all.3dm), including the new mirror parameters, etc. This was going to be TinyProjector prototype 9.
I 3D printed two versions of the frame (TinyProjector2_all_frame.3dm, TinyProjector2_all_frame_v2.3dm), see Figure 98: The first has triangle stiffeners on top of the laser array holder, which make it look big and are actually not necessary for stiffness. So the second version doesn't have them; furthermore, the element that holds the photo diode and the IR LED is thinner, and the connecting bar between motor and laser array is less high. In addition, the first version did not come out properly, probably because of inverted normals: overlapping sections of the corner of the laser array holder were omitted. They probably cancelled each other out somehow during the transformation to SLT, or within Quickslice. Was easy to fix by deleting the overlapping sections of the bricks in Rhino. I also did a Boolean union of all elements in the second version, so that the whole frame is just one element.
Then I fine tuned the mirror mock-up on the gripper: I figured out how long the delay has to be so that the blinking sequence starts a bit after the turn of the mirror: it's 16ms. This delay of course depends on the servo arm with two arms: it covers the photo diode with one arm, 180 degrees after the arm with the pushrod passes. (In the next version of the assembly, TinyProjector_all.3dm, the servo arm has just one arm: it holds the pushrod and at the same time covers the photo diode. This will change the timing, of course. But that will not be a problem, since I know the overall length of a sweep now, and will be easily able to tell where the blinking sequence starts, e.g., by adding a long blink at the beginning.) The current blinking signal is 85 dots, each 120 microseconds long, followed by at 120 microsecond pause, which means one sweep (left-right) takes abut 20ms, a complete oscillation (left-right-left) a bit more than 41ms, which means the mirror flaps with a frequency of 25Hz. Looks good, the line covers most of the "good" area of the sweep, avoiding the areas where the mirror switches the direction of the movement. However, the mirror hinge is not very stable, it wobbles, so the line is not very straight.
May 5, 2002I started to assemble the 3D printed assembly from yesterday, the second version. I made all the holes: for the mirror hinges, for the photo diode (both manually with the tiny drill bit I got from Brygg), and for the motor (with the drill machine in the shop; was a pain, because there is not exact 6mm drill bit, and I couldn't attach the piece to the drilling machine).
I made the mirror: glued the 0.9mm wire onto the edge of a 57mm long mirror with epoxy resin, shortened the wire to 67mm. Insertion of mirror into frame works perfectly! Secured the mirror hinge with two pieces of Scotch tape, on the outside of the frame. The insertion of the photo diode works nicely too, and is at the right position (right underneath the motor axle).
Then I 3D printed the mirror handle and the servo arm, two versions, 0.5mm and 1mm thick (TinyProjector2_all_mirrorholder.3dm). Used the 1mm version (Figure 99).
Obviously, this wasn’t going to be stable and precise enough, and certainly not blocking the IR form the LED, so I cut out a servo arm manually from ABS plastic sheet.
[Note that later, I will replace the 3D printed servo arm with a metal arm; the slipping servo arm was the main reason for jitter in the projection.]
I taped the mirror handle onto the mirror assembly, and made a pushrod with thin string wire (diameter 0.025 inches, 0.635mm). It works! The mirror turns light enough to be driven by the motor.
May 6, 2002I glued the tiny mirror handle to mirror, and made a new pushrod that doesn't fall out. Works perfectly.
I soldered in the laser diodes, and to the cable band.
I assembled breadboard with all transistors and resistors, and connected the cable band.
I finally fixed the bug with the B3 pin that seems to need to be grounded. It was actually a directive (in #fuses) that switches this pin on. http://www.ccsinfo.com/faq/?32
(Gerardo suggested first another solution, writing directly do the register, but that was not necessary.)
During tuning (with resistors), I killed one laser diode. Got the 8 new laser diodes from Digikey.
Big problem: the alignment of the lasers is not good. Solutions:
Send me some comments! Copyright © 1997-2004 by Stefan Marti and MIT Media Lab. All rights reserved |