Thanks to this post, I did something similar on my router. I did it in a much simpler (IMO) way. Since I have 5v available in my power supply, the circuit is very simple.
Electrical Parts:
Emitter/Receiver from Fry's:
http://www.ecgproducts.com/specs/310...df/nte3102.pdf
25 Ohm resistor
Mechanical parts:
I made a target on my rapid prototyping machine to break the emitter-receiver beam. It screws on to the router spindle, under the collet nut. The window on the target is 30 degrees "wide".
... That's it...
+5V (from power supply) to 25 Ohm Resistor to "+" on emitter; "E" on emitter to ground. "D" on receiver to Ground, "+" on receiver to Pin 15 on the parallel port (my breakout board has pull-up resistors built in on the inputs).
I set up the Index function as described below for pin 15.
Works GREAT! Router runs 15k to 30k, and the readout looks like it is tracking perfectly.
Thanks so much for the info in this thread, and I hope others can use the info as well.
Next step is to pull out the speed controller from the router, and do a closed-loop feedback circuit that I can control via GCode.