From Trammell Hudson's Projects
I've been working on adapting my Vector display code to run on an RGB laser projector with mirror galvos.
I bought a $250 Genssi "L1WRGB" laser projector on Amazon. Not great, but fairly cheap for 1W lasers.
Three lasers, a +/- 12V power supply, DMX interface. Stepper motor galvos.
Board says "LanLing DmxMain PCB 1.03 2011-06-25". CPU is a STC 89C58RD+, an 8051 with 32KB and 16KB of EPROM.
- ULN2803APG - 8 darlington transistor array
- LM358P - Dual opamp, likely for the audio input. second one's purpose is unknown.
- SN75176SB - Differential bus transciever, for the DMX interface
- LM705 - 5V voltage regulator for CPU
- Green laser: 17 P3.7
- Red laser: 16 P3.6
- Blue laser: 15 P3.5
- Steppers: 8 wires, 21-28 into a resistor pack then into darlington array. Common pin is always at 12V. This is a unipolar setup; arduino tutorial on driving. Can drive with half steps.
Teensy 3 can drive steppers and PWM for the laser control. Brightness values around analogWrite(3) are still pretty bright. Steppers seem ok with half steps up to about 600uS between pulses. Only 64x64 display is possible at this range of angles.
Replaced the steppers and control board with a galvo board from Adafruit. The two motors are mounted on a laser-cut acrylic plate that allow forward adjustment and rotation of the assembly.
Note that the port labeled "XY" is NOT the input -- it passes through the +/- 15V power supply input and will blow up your DAC and Teensy. The bottom connector is the right one for the input.
The 10Kpps galvos are not quite fast enough for MAME games. Asteroids is nearly playable, but not very distinct. We'll see how the 30K galvos work instead.