Input device for tachometer

I'm working on a project to make a tachometer that would be capable of reading to about 10K RPM. What would be the best most accurate means of feeding this into the Arduino?

Three options that come to mind are:

reed switch

hall effect

photoreflector (ie. like the Fairchild QRB1134)

I have concerns the reed switch would not be able to cycle fast enough for a 10K RPM speed. Of course the other options would be (only) a little bit more complex to implement...

I'm also open to other suggestions.

Thanks.

-- Mr. Swarf Klingon Machinist

reed switch

hall effect

photoreflector (ie. like the Fairchild QRB1134)

I have concerns the reed switch would not be able to cycle fast enough for a 10K RPM speed. Of course the other options would be (only) a little bit more complex to implement...

I'm also open to other suggestions.

I think the hall effect would be the most reliable.

A small low mass reed switch might be fast enough, but having to deal with contact bounce at that speed would be a hassle I would rather avoid.

An optical pick-up would be bounce free and would be my second choice but optical alignment and keeping the path clean over time would make the hall effect switch my first choice.

Lefty

The more I think about this the more I am leaning toward the photoreflector.

The application I have in mind is to measure spindle RPM on metal and wood working machinery. In the case of metal machines I's expect the magnet for the trigger to attract metal chips and eventually foul. While debris is still an issue I think the photoreflector would be easier to maintain. Big time grunge like on engines would not really be an issue.

-- Mr. swarf

While debris is still an issue I think the photoreflector would be easier to maintain.

I'm sure you know the nature of the debris much more so than anyone can guess. The way I picture flying debris however, would lean me towards the hall effect switch and magnet. A single fragment may intercept optically and cause missed counts during operation, whereas accumulating metal fragments could simply be wiped off occasionally without causing hickups. That is I would rather deal with maintenance than operational issues.