wanna make a laser-show - can I use a DC motor?

Hi guys, I'm looking for a way to make a sort-of-a laser show ( i.e. like write something on a wall, or draw a shape ).

Probably the professional method of choice would be to use galvanometers ( http://www.aliexpress.com/item/LP-8K-Mini-Galvo-System-laser-Galvanometer-Based-Optical-Scanner/677222002.html ), but the cheapest I could find are >120$ and have a pretty big drive box.

Trying to make my own galvos from a speaker, as shown here http://www.instructables.com/id/Arduino-Laser-Show-with-Full-XY-Control/ , would be way messy, big and inaccurate.

So here's the idea I came up with - I could use two simple DC motors with mirrors attached to them and a hall sensor, that would tell arduino its position. And have arduino turn the laser on and off at the right time.

What do you think? :)

I don;t understand the design. What do the DC motors do spin mirrors? why would you not use servos or steppers to drive the mirrors to position?

Because servo/steppers are too slow and you would see just the laser dot moving, instead of a whole shape. DC motor would be simply continuously spin the mirror at a pretty high rpm and with arduino turning the laser on/off at the right time, hopefully, it would look like a shape drawn.

By the way, if we look at "DJI Phantom Brushless Gimbal Camera Mount", it's using brushless DC motors ( not steppers or servos, right? ) for such micro-movement?

What you propose sounds reasonable to me. If we look at it like a CRT display, your horizontal motor will spin quite fast and the vertical motor will spin proportionally quite a bit slower.

How fast you can spin the motors, and therefore the resolution of your display, is closely related to the speed at which you can switch the laser on and off. Check out the timing requirements for the Arduino TVOut library to get an idea of what you can do. In fact, it may even be possible to hack the TVOut library into a LaserOut library.

Thanks! And an even better idea - instead of using a simple dc motor with a hall sensor, I could use a brushless motor, so arduino, while driving it, would know it's position! )

Artem85: So here's the idea I came up with - I could use two simple DC motors with mirrors attached to them and a hall sensor, that would tell arduino its position. And have arduino turn the laser on and off at the right time.

Using a sensor to detect the phase of the mirror seems very reasonable, but make sure the sensor you use is capable of responding fast enough. Have you figured out what sort of rotational frequency you need to support? There are fast Hall sensors available, but slower ones might have a reaction time of tens of milliseconds which would severely limit the frequency you could achieve.

Say i want 10 "frames" per second, therefor the "vertical" motor should make 10 turns per second, while the "horizontal" at least 100 per each "vertical" turn, therefor 100x10=1000 rps or 60.000 rpm.

Hmm... most brushless motors that I found would give about 1000-2000 rmp. Simple toy DC motors give 15.000rpm

Well, since 60.000 rpm anyway aren't available, would have to adjust the project either to a DC+hall sensor at ~15.000 rpm or a brushless at ~1500 rpm.

I am not sure of what you are describing, but let me suggest anyway. If you place 4 mirrors on the shaft rather than just one, would that give you 4 times more resolution?

Laser displays often employ faceted mirrors. A hexagonal mirror, for example, cuts your RPM requirements to 1/6th.

Interesting idea! This things are called "polygon mirror motor" or "polygon mirror scanner", http://www.aliexpress.com/wholesale?SearchText=polygon+mirror+motor Do you think this ones can be driven by an arduino?

Here's how it supposedly looks inside a laser printer.

Now have to decide what to do about the "vertical" motor, which as to work 100+ tunes slower. I could either use one more such unit or, maybe, fix the first unit, with the laser, on a brushless motor, what would just swing it back and forth...

You are attempting to re-invent the sort of mechanical scanning system used in early TV experiments - such as the Nipkow scanner.

I think it will be very unprofitable.

Yes, a laser printer polygon mirror assembly is specifically designed for this purpose, but just think for a moment how fast a laser printer prints? One page every five seconds if it is really fast? Albeit at 1200 dots (lines) per inch and perhaps you only want 300 lines, so you could get about ten frames per second. On the other hand, the polygon mirror will probably be scanning too fast in the other direction.

The big problem here is that you are illuminating the whole area with your laser, and most of the time it would be turned off, so your brightness is very limited. This was the problem that made mechanical scanning TV unworkable and it remains pretty unworkable even if you have a laser.

The commercial devices which do this actually do use motors, ordinary motors in the case of the cheap ones, but purpose-built "voice coil" motors essentially identical to those in hard disk drives in the top grade units. The laser is on most or all of the time, so this - vector scanning - is more efficient. Come to think of it, I'll bet you have a few dead disk drives lying about?

Yeap, thought about it all night and think you're right. the polygonal mirror thing would be too clumsy, etc. A commercially available "laser scanner" ( http://www.aliexpress.com/item/LP-8K-Mini-Galvo-System-laser-Galvanometer-Based-Optical-Scanner/677222002.html ) is a bit too expensive at 120$ ... any ideas of a cheaper source?

Meanwhile I'll try to crack some old HDD open and try a voice coil motor from there. )