need to spin a small mirror at a specific rpm.. off-the-shelf/simple options?

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
Hi all, One of my many small light/art projects requires an angled mirror to spin at precisely (or as near as possible) to 2400 rpm. being a small (1cm diameter) circular mirror, on a tiny 3d printed holder, the load on the motor is minimal.

the motor itself can be anything as long as its small.

the speed needs to be as close to precise as possible since it needs to (approximately) sync with a laser which repeats a pattern 40 times a second. if its a bit off, the pattern will slip a little. thats fine (its an art piece after all) . however if its way off the pattern wont work at all.

another alternative would be to read the rpm from the motor and sync the laser to that... probably better but ive no idea if its doable- the laser is driven by a multichannel wav file through a dac. . another thing to research. trying to decide what the best approach would be.

this is one very small part of quite a complex project, plus my skills are not exactly "genius level" so i need a solution that isnt too complex.

i had assumed that some pre-made sketch for arduino would be available, using a small motor with rotary encoder, but from what i have read, its actually not so simple, and there does not appear to be anything off-the-shelf i can load onto an arduino and hit go. given thats about the level of my arduino skills.... hmm.

so im wondering if there is a relative simple circuit that can achieve this goal, or, even better, some ready made small motor/fan speed controller that can be utilised. i did look into synchronous motors, generating an ac waveform at the chosen frequency should not be beyond my skills.,.. however all the ones i found for sale are a single block with inbuilt gearbox (very low rpm) or great big things to drive large loads. i also looked into stepper motors, but driving them to 2400rpm is apparently also quite complex, depends on the motor chosen, you need to ramp the speeds to avoid missing steps, and the controller needs to handle quite fast switching.

any tips on the most straightforward solution most appreciated.
 
Last edited:

panic mode

Joined Oct 10, 2011
4,929
above is an example of motor speed control in open loop. that means without encoder, so speed may vary slightly over time but you can adjust it manually to be what you want. to control DC motor you just need PWM. there is no even need for Arduino if you are not into programming - there are ready made speed controller (check Amazon etc.).
 

ronsimpson

Joined Oct 7, 2019
4,660
There is a class of AC motors that run at multiples of the power line frequency. This is not my area of expertise. I see there are motors on the market that run at 2400 rpm. I hope someone that knows AC motors can comment.
 

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
above is an example of motor speed control in open loop. that means without encoder, so speed may vary slightly over time but you can adjust it manually to be what you want. to control DC motor you just need PWM. there is no even need for Arduino if you are not into programming - there are ready made speed controller (check Amazon etc.).
thanks for the reply, definitely the simplest option of course.. however im kinda hopping something that will hold a speed pretty precisely, i worry that without any kind of feedback, this one will change rpm as it warms up etc.
 

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
There is a class of AC motors that run at multiples of the power line frequency. This is not my area of expertise. I see there are motors on the market that run at 2400 rpm. I hope someone that knows AC motors can comment.
yes those are the synchronous motors i mentioned in my first message, however its hard (ive not found one) to find a small one which is not in a single steel module with a a very low gearing included (2-4 rpm).. of course those might be modifiable but ive no idea how self-contained the actual motor is inside.
 

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
You absolutely need synchronization. It will quickly be out of sync if you do not.
to be honest the beam follows a circular path. if its perfectly synced, the pattern will stay "fixed" on the circle.. if it drifts a bit (a few rpm etc) then the pattern will slide round the circle. if this is slow, it does not matter.. what does matter is if it goes far enough "out" that the pattern spins unintelligibly.
 

panic mode

Joined Oct 10, 2011
4,929
not really... open loop should work well enough and it is cheap enough to try. and it worked more than well enough for tape recorders and record players.

open loop means there will be some changes but most of them are due to varying load and things like friction.

since the load here is very light and very constant, the biggest concern is out of picture. if needed, add some mass to act like flywheel - it will help smooth it out.

other issues may be due to thermal changes (this should settle within a minute or two).

or different supply voltage (use voltage regulator).
 
Last edited:

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
thats a very interesting page. about 80% goes over my head but im sure one of the presented options would be suitable.

im not sure if all the tweaking necessary to get a correct result with a specific motor might not be more complex that a simple encoder wheel and associated circuit as per the link i posted, but i now have a good few options.

ill need to look into exactly how the wave file used to control the laser is structured. its an industry standard thing for analogue lasers, usually containing another pair of channels of waveforms to control the galvos for beam steering.

if i wished to do a proper sync, maybe i could use one of those free channels to include a timing pulse to synchronise the motor with the laser. the alternative would be retiming the wave file to match the motor rpm which might be quite processor heavy.

Sounds complicated but at that stage id probably be getting help from an expert as it would mean the project has some funding


one thing i should definitely consider if the project goes ahead, motor speed sensing will be essential, as it would be part of the (many) safety features of the final piece. if the motor stops spinning, you have an 3 - 8 watt laser beam hitting a static point on a plastic structure. quite undesirable to say the least.
 

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
A stepper motor will maintain a fixed speed based on the frequency of the steps, and a small one should be able to go at 2400RPM.
i have read that this might be doable, but stepper motors generally dont feature a "max rpm" spec ive seen, and i read that if you use a stepper motor at high speeds, it must be gradually ramped up and down in speed since you cannot simply say "go fast" or it will just sit and go "bzzzz"
 

crutschow

Joined Mar 14, 2008
38,401
i have read that this might be doable, but stepper motors generally dont feature a "max rpm" spec ive seen, and i read that if you use a stepper motor at high speeds, it must be gradually ramped up and down in speed since you cannot simply say "go fast" or it will just sit and go "bzzzz"
True.
So the drive circuit may have to ramp up the frequency at the start, which shouldn't be difficult.
 

KeithWalker

Joined Jul 10, 2017
3,604
Record players use an open loop system. Most just use a DC voltage regulator (LM317) to control the speed of a small DC motor. The motor runs at a relatively high speed. A small pulley on the shaft drives a rubber belt that passes around the turntable. The turntable acts as a flywheel, smoothing out the rotation. The torque does not vary so the speed remains constant.
You can buy the belt and the motor assembly with built-on regulator from Aliexpress. It would be relatively easy to construct a suitable "turntable" flywheel with bushed bearings.
EG530SD-3F DC5-12V 3-Speed 33/45/78 RPM Metal Turntables Motor for Record Player - AliExpress 44
 
Last edited:

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
True.
So the drive circuit may have to ramp up the frequency at the start, which shouldn't be difficult.
one other thing i read somewhere was that at high speeds the pulse rate to drive the steppers becomes problematic. i dont know enough to say if 2400 rpm would be considered "problematic" for your typical arduino stepper driver. if i assume 1.8 degrees per step, which seems typical, that would be 9,333 steps /second for 2400 rpm.
 

ronsimpson

Joined Oct 7, 2019
4,660
I know this is not right but.... is the size about right. The black gear reduction (black) part comes off and you have a 790rpm motor.
1756314978980.png
 

Thread Starter

robinscottlawrie

Joined Feb 15, 2018
96
I know this is not right but.... is the size about right. The black gear reduction (black) part comes off and you have a 790rpm motor.
View attachment 354919
is that a synchronous motor or something else? size would great. really small. smaller than i need in fact. the dimensions i need are "smaller than 25mm diameter" as it has to fit in a tube in my project. length can be anything really up to about 50mm. my initial tests are using a bog standard hobby motor of the type that has existed since forever.

i wonder if it would be powerful enough to spin my tiny mirror! unfortunately 790rpm is probably a too slow. i need to keep the scan speed high enough for it to be totally un-noticeable.
 
Top