Sound rev counter (RPM) measurement

Hello Profis,
i am have to measure rev counter RPM of a DC Motor using arduino with three measurements ways
1- Sound
2- Optical
3- Hall Effekt
my question is how to do it sound using a microphone and which mic. is suitable for it?
any ideas will be helpful
thanks in regards

Very curious as so how the sound of a spinning motor can be used to determine RPM? Will you be discerning the frequency of the motors sound and then determining its periodicity? Will you be picking a particular sound frequency produced by the motors? What sort of audio frequency circuit will be used?

Ah, I do see it is possible for a gas combustion engine. Just pick up the sound of the gas exploding in the cylinders. But an electric motor. hummm.

i thought i could measure sound spectrum which is produced from Motor and with help of frequency i can measure the RPM.
below is the link:

of a DC motor?


Perhaps you can use one of the other methods to get RPM and record what tone(s) the microphone picks up at a variety of different speeds. Might give an approximate means of reading rev count by sound.

1 Like

It might work but I wouldn't expect to be very accurate and you'd need a way to calibrate it.

For starters, Audacity can record and then plot the spectrum so you could record at different speeds or as you are accelerating to see if it looks useful.

If that looks promising the Arduino has an FFT library to analyze the frequency information.

A piezo sensor mounted or glued to the motor would probably pick-up more motor sound-vibration and less room-sound. But, you'd probably need a preamp.

Otherwise you can get a microphone board. I have this SparkFun board. It has a built-in preamp and a biased-output (1) so it's "ready to go". This particular board isn't very sensitive (the sound needs to be fairly-loud) but it might work if the mic is very-close to the motor. There are other sound sensors with adjustable gain.

If you get a "sound sensor" make sure it puts analog or digital audio signal. That's the most common type but there are sound-sensor boards that just put-out a logic-one when the sound reaches a certain loudness threshold and other boards that put-out a variable DC voltage representing the loudness with no frequency information. Or, there are boards with multiple different-kinds of outputs.

(1) The Arduino can't read negative voltages so audio signals have to be biased.

1 Like

i will use Matlab for programming not Arduino sketch

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.