Measuring RPM?

Post Reply
lasershark1
Posts: 143
Joined: Sun Apr 22, 2012 1:52 am

Measuring RPM?

Post by lasershark1 » Tue May 01, 2012 3:55 am

I'm working with some ideas for speed controlling my intended spindle. I'm going to use a Ryobi One+ speedsaw... box rates it at 26k RPM, it's DC, runs off 18v, and I figure with a motor control module I can fine tune the speed. If I can do that from the Arduino running grbl is yet to be seen, but if not, then it gives me another fun project of building a digital speed/direction control with a second arduino.

But, that being said - does anyone know of a good trick/tip to actually measuring that speed? I want to run it at full bore and actually test it, then see what speeds I get running it at different settings with the motor module.

I've no idea how to test that :)

MLange
Posts: 70
Joined: Tue Apr 10, 2012 8:23 am
Location: Ottawa, ON, Canada

Re: Measuring RPM?

Post by MLange » Tue May 01, 2012 4:41 am

Take a search on eBay for "Laser Tachometer" :mrgreen:
Shapeoko #280 (Inventables Batch #1)

orcinus
Posts: 21
Joined: Wed Apr 25, 2012 8:23 pm

Re: Measuring RPM?

Post by orcinus » Tue May 01, 2012 7:38 am

Painting the shaft white on one side and using a regular, cheapo photo-diode RC tachometer works fine too.
Just be ready to multiply the values you get by 2-3 (because most of them "think" they're working with a 2-3 blade rotor) and don't use it under fluorescent lighting or you'll end up measuring the mains frequency instead ;)

You could build one yourself too, with an appropriate photo-cell and Arduino, although i'm not sure what the top speed and resolution would end up being. And build a simple closed loop regulator for your speed controller.

roberlin
Posts: 59
Joined: Tue Apr 10, 2012 12:12 pm
Location: Baton Rouge, Louisiana

Re: Measuring RPM?

Post by roberlin » Tue May 01, 2012 12:23 pm

if it is a brushless motor (seems unlikely I guess?) you can measure the rpm electrically by monitoring the pulses (say with an arduino) coming off the motor controller.

CptanPanic
Posts: 98
Joined: Tue Apr 10, 2012 3:14 pm

Measuring RPM?

Post by CptanPanic » Tue May 01, 2012 6:31 pm

I saw on another forum where they did this with an arduino, and rpms were only read to 16000 rpm where it wrapped over to 8k.

minorthreat
Posts: 43
Joined: Tue Apr 24, 2012 4:34 pm
Location: Boston, Ma

Re: Measuring RPM?

Post by minorthreat » Tue May 01, 2012 6:38 pm

Here's a few cost effective ways you can do it:

Hollow shaft encoder (something like http://www.usdigital.com/products/encod ... ry/kit/e4p)
Hall effect gear tooth sensor + add a gear to count (http://parts.digikey.com/1/parts/948862 ... 101dc.html)
belt/gear connection to a shafted tach or encoder

minorthreat
Posts: 43
Joined: Tue Apr 24, 2012 4:34 pm
Location: Boston, Ma

Re: Measuring RPM?

Post by minorthreat » Wed May 09, 2012 3:45 am

I went with a Hamlin Hall Effect sensor http://www.hamlin.com/product-detail.cfm?productid=77 and just glued a magnet inside the locking pin hole of my ryobi 1zip.

Here's the code I use to read the rpm with and arduino, next up closing the loop around the speed.

Code: Select all

volatile byte revs;

unsigned int rpmil;
unsigned long time0;

void setup()
{
  Serial.begin(9600);
  attachInterrupt(0, rpm_fun, FALLING);

  revs = 0;
  rpmil = 0;
  time0 = 0;
}

void loop()
{
  if (revs >= 5) { 
    //Update RPM every 5 rev

    // calculate the revolutions per milli(second)
    rpmil = (millis() - time0)/revs;
    time0 = millis();
    revs = 0;
    Serial.print("RPM:");
    Serial.print(rpmil * 60000,DEC);

  }
}

void rpm_fun()
{
  revs++;
}

Post Reply