looking for sollution to rotate and control a motor at ~3000RPM. stepper? DC?...

Hello,

I am working on HW to replicate the Fizeau experiment for measuring the speed of light.

The geist of the experiment is to bounce a light source (laser) on a far away mirror while passing the light through a rotating crenelated wheel on the way out and in.

If the rotation is slow enough that the "hole" that let the light go out is still "there" on the way back, you will see said reflected light. if the rotation is fast enough, then the hold would have moved away just enough in the time it took the the light to cross the distance, and if you know the rotation speed of your wheel, you can know how fast light travels...

I am therefore looking at building an arduino based system to spin a crenelated disk at a precisely controlled speed (ie, a speed that I can adjust using up/down keys).

My problem is what type of engine can I use?
Nema type motors seems to be limited to around 5 turn per second. Steppers would be GREAT for this application because you control them very precisely, BUT is there any stepper motor that can turn at 50+ RPM? (note, since the only thing that the motor turns is a no load wheel, there is... well no load!)

DC motors can turn faster, and I can use the crenelation in the wheel to mesure it's speed and control it, but how precisely can I control them? how are they actually controlled? a 8bit PWM is most likely not precise enough for my use!

The SW part is not an issue for me as I am a developer in my "real life"...

but I just don't know what to use on the mechanical side of things...

more info:
Distance traveled by light in my experiment: 2*7KM=14KM = 46micro seconds
360 "notches" in the wheel means that I need to move the wheel by 1/720th of a turn in 46micro seconds or do one turn in 33milli second = ~30turn per second...

I can re-use the notches to measure the speed, meaning that I need to do the measurement fast enough on the arduino to aquire a signal at 21Khz, which should be ok, or I can put a second, less dense, set or holes to do that...

Cyrille

Can you use a stepper and add gears to speed up the rotation of your wheel?

You can use PID (look it up) to control the speed of a DC motor. This link has some simple PID code.

I think (and I maye be wrong) that you could arrange things so that the speed control sits on top of a "base" power input to the motor so that the the 255 PWM steps could be concentrated over a small speed range.

A substantial flywheel would help with speed control - assuming you do not need quick changes in speed.

Another thought is to be less concerned with speed control and concentrate on speed measurement so that you know the conditions under which each specific test takes place. Then you could ignore the irrelevant tests.

...R

You'd need a fairly high voltage supply and low-inductance stepper to go 1800rpm.
You don't need to control the motor speed accurately, just measure it accurately. A simple hall sensor
enables the revolution rate to be measured if theres a magnet on your wheel. Choose an Arduino with a
quartz crystal clock for the microcontroller if you want any accuracy, but judging the lining up of notches isn't likely to be super accurate.

The Michelson method with the prism is inherently much more accurate. Many checkout bar-code scanners have
some of the crucial hardware you need for this I believe (high speed spinning prism and motor).

Its the Fizeau apparatus - the Fizeau experiment is something else.