How to measure speed, (without using a Hall Effect Sensor)?

Hello Internet,

I just wanted to know, how could I measure the RPM of a moving metal disk?

The problem that I am having is that I can’t utilize a typical Hall Effect Sensor, as my experiment is related to Magnetic Braking, so adding another magnet into the mix, can play havoc…

I did look at Rotary Encoders, but am so far unable to find any evidence of them being utilized for RPM sensing purposes.

For clarity, I will be using a setup similar to the image that I have attached. There will be a DC motor on one side. The other side will not be used.

Thanks for Reading!

You can use an optical rotary encoder. This has a photointerruptor on a slotted disc that provides pulses during rotation.

IndianGeek’w picture:
821d6c791c0f669f6ef9054ba272101d46f10eda.jpg

Looking at that picture it seems like you can try to bounce light off of it at an angle, every bump can be seen that way (as the light is reflected away or not depending on the angle of the surface).

IndianGeek:
I did look at Rotary Encoders, but am so far unable to find any evidence of them being utilized for RPM sensing purposes.

Certainly are, but it is more usual to go to the expense of an encoder when its needed, for
position control.

For simple speed sensing an optical or magnetic detector together with a suitable magnet/white spot
on the shaft would be simpler/cheaper.

Tachometers are the other means, basically a tiny DC or AC generator whose output voltage is sensed.

Hi,

pert:
You can use an optical rotary encoder. This has a photointerruptor on a slotted disc that provides pulses during rotation.

IndianGeek’w picture:
821d6c791c0f669f6ef9054ba272101d46f10eda.jpg

The problem is that I need precision, and I believe that rotary encoders will not give me the level of precision that I need.

wvmarle:
Looking at that picture it seems like you can try to bounce light off of it at an angle, every bump can be seen that way (as the light is reflected away or not depending on the angle of the surface).

Oh, I’m so sorry, the disk I’ll be using will be a flat, uniform metal disk.

MarkT:
Tachometers are the other means, basically a tiny DC or AC generator whose output voltage is sensed.

Oo, Can you link me to some place where I can learn a bit more about these tachometers??

What level of precision do you need?

You can get very high resolution optical rotary encoders that give hundreds of pulses per revolution. That resolution may be further multiplied if you use a reduction gear box on the DC motor that steps down the output RPM, but have the encoder attached directly to the motor shaft. So if you have a 600 P/R encoder and a 10:1 reduction, you end up with 6000 pulses per revolution of the output shaft.

Precision - of how much it rotated? Or how long it took for exactly one rotation? What level of precision?

pert: What level of precision do you need?

You can get very high resolution optical rotary encoders that give hundreds of pulses per revolution. That resolution may be further multiplied if you use a reduction gear box on the DC motor that steps down the output RPM, but have the encoder attached directly to the motor shaft. So if you have a 600 P/R encoder and a 10:1 reduction, you end up with 6000 pulses per revolution of the output shaft.

wvmarle: Precision - of how much it rotated? Or how long it took for exactly one rotation? What level of precision?

I will want precision with respect to the RPM. I would want at max +- 2 RPM.

On that topic, could you please link me to some source where I could see some projects which use rotary encoders for the purpose of speed-sensing. Thanks :)

There is no real difference between a rotary encoder putting out 600 p/r and a single magnet on the shaft. Both measure speed and rotation by counting pulses. The number of pulses per rotation is irrelevant for the technique; you just need to know how many as it's a mere multiplication factor.

A number of +/- 2 RPM is quite meaningless without knowing the RPM number itself. It's 100% error on 2 rpm; 0.01% on 20,000 rpm.

Is the LM393 an optical encoder?

That's a comparator (which may be used to clean up the signal of an optical encoder).

If you don't know what something is, Google is your friend.

There is no real difference between a rotary encoder putting out 600 p/r and a single magnet on the shaft. Both measure speed and rotation by counting pulses. The number of pulses per rotation is irrelevant for the technique; you just need to know how many as it's a mere multiplication factor.

Although resolution would typically be more important for positioning, it does matter in an application where you need to measure speed changes within a single revolution. You can only measure the average speed between pulses. Whether that matters to IndianGeek, I can't say.

There is also such thing as too high of resolution because whatever is receiving the pulses (probably the microcontroller on the Arduino in this case) must be fast enough to catch them all.

wvmarle: That's a comparator (which may be used to clean up the signal of an optical encoder).

I was talking about this .

Do you mean this?

That's only the photo interrupter. A photo interrupter has an LED on one of the "forks" and a phototransistor on the other. If something opaque is inserted into the slot, it blocks the light from the LED from hitting the phototransistor. You also need an encoder wheel to go with it. The encoder wheel is a disk with slots cut into it, which will alternately permit and block the LED light as the disk rotates, generating pulses from the phototransistor. The resolution is determined by how many slots the encoder wheel has.

pert: Do you mean this?

That's only the photo interrupter. A photo interrupter has an LED on one of the "forks" and a phototransistor on the other. If something opaque is inserted into the slot, it blocks the light from the LED from hitting the phototransistor. You also need an encoder wheel to go with it. The encoder wheel is a disk with slots cut into it, which will alternately permit and block the LED light as the disk rotates, generating pulses from the phototransistor. The resolution is determined by how many slots the encoder wheel has.

So would this be well suited for my use case, provided I can make a high-resolution disk??

I'd think so. There might be specific applications where this is not well suited, or another solution is better. You can get pre-made disks for these photointerruptors that fit onto a standard consumer DC motor: https://youtu.be/Yt37QMKKuXA?t=359 Having everything out in the open could be an issue in a dirty environment. If the LED or phototransistor get covered with dust and grime, they're not going to work. It could be a good deal of work to make an enclosure.

You can get one-piece rotary encoder modules that are all enclosed.

You can get encoder motors that have everything in one package, though a lot of them are Hall effect.

Could you suggest any particular encoder that would work upto 1500RPM?

1500 rpm is 25 Hz, most encoders will handle this just fine.

Which one is suitable depends on your complete requirements. You first have to decide on the basic parameters: What resolution do you really need? How to mount it on your existing axle? Single or quadrature (to tell direction)?

Then the more practical considerations: How big can (should) it be? What requirements for dirt/waterproofing?

When you have those requirements you can start searching for a suitable part. Lots of different suppliers, lots of different parts. Check voltage and power requirements to make sure it works with your controller (5V or 3.3V).