### Author Topic: how to find the RPM of a DC motor without spec sheet  (Read 6051 times)

0 Members and 1 Guest are viewing this topic.

#### vipulan12

• Robot Overlord
• Posts: 181
##### how to find the RPM of a DC motor without spec sheet
« on: August 01, 2013, 11:52:31 AM »
i have these small motors that came from electronics of all kinds and i dont know how to find the RPM

is their an easy way to finding the rpm,is there a special too?

to solve my dilemma i am using my arduino to count the number of times the motor completes a rotation
however it seems to be very slow
it isnt detecting the complete rotations fast enough

my idea was to power the motor, the motor will be connected to an aluminum strip
for each rotation the aluminum strip will close and open a circuit connecting to my arduino
the arduino will serial print a 1 when is the circuit was closed(allowing current to flow) and a 0 when the circuit was open(no flow of current), this would be done in exactly one minute
the serial monitor would have groups of 1's (because of the baud rate)
so you would have to count the groups of 1s to count the number of rotations per minute
the problem is however when the circuit is being closed and open really fast the arduino isn't picking up the time when the circuit is opened(disconnected)
and the monitor shows up with a bunch of 1s

is what i am doing making sense or am i just wasting my time?

would this process be better if i used a photoresistor?

thanks
« Last Edit: August 01, 2013, 11:57:19 AM by vipulan12 »

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #1 on: August 01, 2013, 02:54:59 PM »
Even a pretty fast motor, like 10,000 rpm, would only do about 170 connections per second, which should be perfectly possible to track with an Arduino. Is it perhaps the case that your aluminum foil causes contact "bounce"?

That being said, reading the speed of a motor is a very common problem, and is typically done with either quadrature (relative) encoders, or absolute encoders, either optical or magnetic. You can buy encoders that you attach to your motor shaft or gearbox, and that will give you clean pulses to measure.

If you must build your own, I think a phototransistor and LED and a comparator or opamp will work pretty well. You should install a pin-change interrupt on the pin that the count signal comes in on, and have the interrupt routine count the number of ones or zeros.

#### vipulan12

• Robot Overlord
• Posts: 181
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #2 on: August 01, 2013, 03:22:39 PM »
do you have any encoders in mind?

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #3 on: August 01, 2013, 05:23:55 PM »
I buy my motors with built-in encoders (like the Pololu gear motors) or as complete servos (like the Robotis servos.) I know that various hobby shops have encoders; encoders are also commonly sold by parts distributors like McMaster, Digi-Key or Mouser.

Twenty seconds on Google found this: http://www.robotshop.com/search/search.aspx?locale=en_us&keywords=encoder

#### johnwarfin

• Full Member
• Posts: 120
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #4 on: August 02, 2013, 09:00:30 AM »
why do things the hard way? an led and phototransistor (no op amp required) or, better still, hall effect and magnet. arduino has many tach and freq counter sketches to make this easy.

#### richborek

• Beginner
• Posts: 1
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #5 on: August 02, 2013, 07:35:00 PM »
If you have a variable frequency strobe light you could use the frequency to determine the rotations. Cut a hole in a disk place it on the end of the motor and turn it on.  Then change the frequency until it stops convert the Hz frequency into minutes.

1 hertz = 60 revolution/minute

Cheers.

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #6 on: August 02, 2013, 11:14:49 PM »
why do things the hard way?

I think that a rotary encoder that you just attach to the shaft is about as easy as it's going to get, but your mileage may vary.

Btw: There appears to be two interpretations of the question.
1) How to read the RPM while a motor without built-in encoder is working?
2) How to read the RPM of a motor under no-load conditions once, for characterization?

I agree that a strobe light and spinning disk might be quite sufficient (although for 10,000 rpm motors, you need 200 Hz or higher for the strobe)

#### waltr

• Supreme Robot
• Posts: 1,944
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #7 on: August 03, 2013, 05:43:58 PM »
why do things the hard way? an led and phototransistor (no op amp required) or, better still, hall effect and magnet. arduino has many tach and freq counter sketches to make this easy.
Yep, this is the easiest method.
Use a thin cardboard disk attached to the motor shaft with a hole for the LED/phototransistor (opto-interrupter). Run the phototransistor output to your Adrinuo and count the number of pulses in one second or other period of time.

Check how I measured RPM in this thread:
http://www.societyofrobots.com/robotforum/index.php?topic=17008.0
« Last Edit: August 03, 2013, 05:45:44 PM by waltr »

#### johnwarfin

• Full Member
• Posts: 120
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #8 on: August 04, 2013, 06:48:29 AM »
LED/phototransistor is not only easier but cheaper too. even easier (and cheaper) is two leds pointed at each other. note that an led not only emits light but can also act as light sensor.

#### vipulan12

• Robot Overlord
• Posts: 181
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #9 on: August 05, 2013, 08:56:08 PM »
how exactly would it be setup?
is using a photoresistor and LED godd enough for the job?

#### newInRobotics

• Supreme Robot
• Posts: 1,015
• N.I.R.
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #10 on: August 06, 2013, 12:43:11 AM »
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music." - Kristian W

#### vipulan12

• Robot Overlord
• Posts: 181
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #11 on: August 27, 2013, 02:55:05 PM »
could this sensor also be used to measure rpm?
https://www.sparkfun.com/products/9299

it's cheap but i wonder about it's accuracy

#### waltr

• Supreme Robot
• Posts: 1,944
##### Re: how to find the RPM of a DC motor without spec sheet
« Reply #12 on: August 27, 2013, 06:16:43 PM »
Yes, that is perfect and is the type of sensor I use. The ones I use were salvaged from old printers.

Quote
it's cheap but i wonder about it's accuracy
What would not be accurate?
When the light beam is interrupted, blocked, the output is high when unblocked the output is low.
It is up to you how you measure the time of the intervals between high and low outputs.

Now, unsure you properly bias the LED. It does need a series current limiting resistor.