IEEE Laser Projector

From rev0wiki
Jump to: navigation, search

This is a project put on by the Cal Poly IEEE Student Branch, led by Jason Osmann, to create a monochrome laser projector capable of displaying VGA resolution video at 30 frames per second from a host computer, in real time.

Major subsystems


The laser used is a fiber-coupled red laser, which will be brightness modulated via a pockels cell.

Scanning Motors

Test setup of the horizontal scanning motor.

The projector requires two motors, a vertical and horizontal scanning motor. The vertical scanning motor will be slower, needing to perform a full top-to-bottom scan 30 times per second. The horizontal scanning motor needs to be much faster, performing a full left-to-right scan 480*30 times per second. Both motors will have faceted mirrors in order to direct the laser output.


The system will use one of three methods in shaping the beam. One method is collimating the beam to provide a parallel beam at all distances, which would by principle be focus free, though the pixel size will be dependent on distance, and the best viewing distance would be fixed by the angle which the motors scan the beam. The other method is to focus the beam to a point at a fixed distance away from the projector, in order to provide a sharp, small pixel, but would require a set distance for the screen, dependent on the focal point and angle of the motors. A last option is to focus the beam such that the pixel size grows at the same rate as the image expands over distance from the projector. This would provide consistent focus at any reasonable distance, and is utilized in some commercial laser projector systems. Control and Feedback

The projector system will be controlled by a microcontroller, which will handle communication between the computer and projector, the control of the scanning motors, and the pockels cell and optical feedback.

Scanning Motors

Horizontal Scanning Motor

Oscilloscope capture of IR light reflected from the faceted mirror to measure RPM.

Tests have been done on a scanning motor from a Samsung color laser printer, which contained a brushless (3-phase) DC motor, controller IC, and 4-faceted mirror. The controller IC has no freely available datasheet, and has the following markings:

  • Top line: AN4032A (?)
  • Bottom line: 920C2311

After some basic research, I found a similar project done here: in which the author reverse engineered a very similar laser printer motor system and was able to control and get a tachometer feedback from the motor. I used a similar method in testing my motor, first by identifying power and ground pins, easily identifiable by looking at the ground plane and the positive pin of the filter capacitor. I then found that the 3 other pins connected to the controller IC, 2 of the lines being RC filtered, and the third being connected through a resistor. I hooked up an adjustable power supply to the controller IC and began ramping up the voltage, while carefully monitoring the current through a bench multimeter. Again, using the author's technique, I figured the voltage of the board/controller to be around 24VDC, since the filter capacitor was rated for 47V, and capacitors are commonly derated to twice the operating voltage. I was able to turn the power up to 20V, when the IC began to function properly. The author found one of the lines to be a tach output, giving 6 pulses per revolution when the motor was spun. I attempted to find such an output on my motor first, using a 10k pull-up/down resistor, but to no avail. By accident, I noticed that the motor spun briefly when the 3rd pin was pulled to ground through the 10k resistor. By further experimentation, I found that this must be a PWM-controlled line to vary motor speed. I then programmed an ATtiny44A microcontroller to produce first a 50% duty square wave at varying frequency, and was able to get the motor to spin at fairly high speed. I modified the code to produce a varying pulse width signal at several frequencies, with pulse width being controlled by the voltage on an ADC line, so I could varying the speed with a potentiometer on the fly. I was able to achieve the highest motor speed by ramping up my power supply to 21V, with both outputs paralleled, and a PWM frequency of 3906Hz at a high duty cycle. I measured the speed of the motor by setting up an IR LED and phototransistor, measuring dark pulses from a single black stripe painted on the motor spindle. I measured the top speed to be 227,000 RPM[1], by multiplying the frequency of pulses measured on the oscilloscope by 60 (Hz = 1/s, RPM = 1/s * 60 s/min). The trace was viewed with infinite persistence at 113,520 RPM[1], and showed very little deviation.

Project Updates

  • 10.17.2010
    • Obtained scanning motor system from Samsung laser printer
    • Interfaced motor to microcontroller and achieved motor operation over varying speeds, up to 227,000 RPM[1]
  • 10.??.2010
    • [1] Correction: IR light sensor was receiving pulses from the mirror facets, thus the actual speed is 227,000/4 = 56,750 RPM.