By continuing to use this site, you agree to our use of cookies. Find out more
Forum sponsored by:
Forum sponsored by Forum House Ad Zone

Rotary encoder for spindle speed

All Topics | Latest Posts

Search for:  in Thread Title in  
DerryUK07/03/2012 16:00:02
125 forum posts

Following on from Tony Jeffree's article in MEW 186 I am looking for a rotary encoder to measure spindle speed. My lathe top speed is 3000 RPM.

I am intending to use LinuxCNC software which by default requires an encoder with A=100 PPR and Z=1 PPR.

The best new shaft driven encoder I can find on ebay (or anywhere else) is £65. A possible option would be to use a cheaper (£35) A=1000 Z=1 encoder with an external divide by 10 on the A output.

Anyone know of another source of suitable encoders?



Edited By DerryUK on 07/03/2012 16:01:55

Stub Mandrel07/03/2012 21:10:12
4315 forum posts
291 photos
1 articles

Divide by 10 is easy if you have some basic electronic skills, just use a CMOS decade counter chip.


John Haine07/03/2012 21:30:12
4718 forum posts
273 photos

Hi Derry,

At the moment I use my Super 7 with Mach 3 and a single pulse per rev sensor but since seeing the comments about EMC2 giving better threading I thought that I might give it a go so have been looking into the encoder "problem".

First, I think it's true that you can choose other numbers for steps/rev for EMC2 - in the Integrator Manual (p. 226) it has this configuration code:

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 100
net spindle-position encoder.0.position => motion.spindle-revs
net spindle-velocity encoder.0.velocity => motion.spindle-speed-in
net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable
net spindle-phase-a encoder.0.phase-A
net spindle-phase-b encoder.0.phase-B
net spindle-index encoder.0.phase-Z
net spindle-phase-a <=
net spindle-index <=

The line in red seems to configure the number of steps per rev so you can change this - and in some other forum I saw comments that one could change this, someone mentioned using 4096 steps per rev!


Making an encoder should not be hard if you have access to a dividing setup or could improvise something. Tony Jeffree I think gave some instructions in MEW a while back. If you could make a disc with 60 slots and monitored the slots with a photo-interrupter it should do the job, or 100 slots but you need to work to slightly finer tolerance. Photo-interrupters are dead cheap from RS Components, or even better free from a scrap printer. If you make one of the slots wider, but with its leading edge still in the right position, then if you have two opto sensors at different positions a single additional cheap IC will generate a once-per-rev index pulse. (That's assuming that EMC2 is edge triggered, if it isn't then you just need a divide-by-2 to remove the effect of the wider slot though.) Of you could make an extra hole in the disc for the second opto sensor to generate one pulse per rev; or use a small magnet on the mandrel with a Hall switch which is very cheap as well - see Tony Jeffree's articles on ML7 CNC conversion. Or, if the headstock timing pulley is steel, use one Hall sensor with an additional fixed magnet to generate one pulse per tooth; with another magnet on the mandrel and another Hall switch for the Z index pulse. I don't think that it's necessary for the Z and A pulses to have synchronous edges, but you could ask that question on the EMC forum thread linked above.


John Stevenson07/03/2012 21:46:05
5068 forum posts
3 photos

I'm using 90 on my lathe with a home made encoder disk ade from 3mm or 4mm tufnol sheel.

90 slots one of which is longer. Three opto switches from RS, one controls leading edge, one controls trailing edge and the larger one is index.



I have only shown this as it displays the opto mounting better in that using the threaded rod you can position and tune the opto's to suit any position without having to keep altering brackets etc, handy when experimenting, although mine has been like this for 5 years now.

Edited By David Clark 1 on 08/03/2012 09:37:52

David Littlewood07/03/2012 23:04:35
533 forum posts

And before you shoot him, ask him to stop the blasted adverts appearing all over the right side of (some but not others) threads!


russell08/03/2012 01:51:19
142 forum posts

i've just (about) finished a speed display on my mill. I used a reflective style photo-interrupter
(ex some unknown piece of equipment). As a reflective device. I simply printed out a disk of 60
black-and-white segments, glued it to the top of the spindle pulley, and mounted the interrupter
over it.

This feeds a $20 digital frequency meter. 100 rpm = 6000 pulses per 60 seconds = 100 Hz on
the display.

(plan A was to produce a large disk with 60 holes overhanging the pulley, using a slot-type
interrupter. This way i dont have a sharp disk spinning around)

It works, but the display is a little unstable. I think i still need to adjust the position of the sensor.



Edited By russell on 08/03/2012 01:52:10

David Clark 108/03/2012 09:39:14
3357 forum posts
112 photos
10 articles

Hi David Littlewood

If you see adverts over the text, report the posting, any one on that page and we will sort it out.

regards David

DerryUK08/03/2012 14:28:41
125 forum posts

I like your disc John S. Can I ask how you made your slots?

By extending one slot and using several sensors you have a neat way of syncing your A and Z outputs. What's the max speed you run your disc at and any issues with the sensors rubbing on the disc?

Interesting what John H said about being able to change the encoder scaling in LinuxCNC (EMC2), it just so happens that the supplier I had been considering offers a 200PPR at the cheaper price so I think I’ll give one of those a go.

Thank you all for your input.


John Stevenson08/03/2012 22:35:47
5068 forum posts
3 photos


Slots were cut on a CNC router with a 2.5mm cutter, max speed can go up to 3,000 but usually runs 2,000 to 2,500. No problem with rubbing as there is about 3/4 of a mill space at either side of the disc.

RS part # 455-0919 for the index opto and 455-0868 for the two main opto's.

Forgot to add in the earlier post that using 90 slots with leading and trailing edge gives a quadrature encoder count of 360 per rev.

John S.

Paul Lousick11/05/2012 09:16:28
2078 forum posts
728 photos

Have a look athis site.

They sell a tachometer suitable for a mill or lathe.

You can buy it complete or build your own.

Paul J

Paul Lousick11/05/2012 09:20:04
2078 forum posts
728 photos

Sorry, forgot to add the address

Have a look athis site.

They sell a tachometer suitable for a mill or lathe.

You can buy it complete or build your own.

Paul J

Joseph Ramon11/05/2012 09:55:43
107 forum posts

Cheap sensors for opto-encoders in old computer mice.


All Topics | Latest Posts

Please login to post a reply.

Magazine Locator

Want the latest issue of Model Engineer or Model Engineers' Workshop? Use our magazine locator links to find your nearest stockist!

Find Model Engineer & Model Engineers' Workshop

Sign up to our Newsletter

Sign up to our newsletter and get a free digital issue.

You can unsubscribe at anytime. View our privacy policy at

Latest Forum Posts
Support Our Partners
Rapid RC
Eccentric Engineering
Eccentric July 5 2018
Subscription Offer

Latest "For Sale" Ads
Latest "Wanted" Ads
Get In Touch!

Do you want to contact the Model Engineer and Model Engineers' Workshop team?

You can contact us by phone, mail or email about the magazines including becoming a contributor, submitting reader's letters or making queries about articles. You can also get in touch about this website, advertising or other general issues.

Click THIS LINK for full contact details.

For subscription issues please see THIS LINK.

Digital Back Issues

Social Media online

'Like' us on Facebook
Follow us on Facebook

Follow us on Twitter
 Twitter Logo

Pin us on Pinterest