Why not just spin 2 mirrors; one for X and one for Y. It's how they do professional light shows. For increased resolution make the mirror a box or a hexagon. The more flat surfaces the faster the scan per RMP. The only issue is that the X needs to spin much fast than Y and so It must require a more complicated mirror geometry.
So with a flat two sided mirror each X pos would require would take Y/2 X rotations per Y pos
- a 4 sided mirror its Y/4 X rotations per Y pos
- a 8 sided mirror its Y/8 X rotations per Y pos
- a 16 sided mirror its Y/16 X rotations per Y pos
- and so on
In terms of RPM required its going to be quite demanding.
Lets say you want to make a NTSC Standard display your going to need to scan a Line every:
1 sec(scan time)/((480Lines/2(for interlacing)*30 Frames per second) = once every 0.139 milliseconds that means your X mirror would need to be going or 432000 RPM. Which is insane so assuming you need RPM>1000 you need >10 faces on your X mirror.
(Motor Speed)= (Scan Speed)/(2^Number of Faces on Mirror)
Log2 ---------------- = Number of Faces on Mirror
The Y mirror can move at a much slower rate with is equal to your (Vertical Scans per second)/number of Faces. So 480/2=240 RPM which can be done simply.
The Real Question is Does the AVR have enough CPU power to keep up with all of this and can the Laser be switched at these speeds.
I think using more then one AVR could be of help;
- One for reading the incoming signal <- I think that you will need at least a 100+MHZ chip to do this right
- One for controlling the motors <- Easy
- One firing the Laser. <- The laser might be a problem because it needs to operate faster ~1.5-2Khz range