Hi Derek,
If Q is easy then you may want to implement that first.
See my previous previous post, the Q was already implemented, finished yesterday.
The auto reverse function would be nice for fresh setups when you are not sure how the tap will react. It would be nice if a letter and number in the line of code would designate the percentage of spindle drop before it backs out. A smaller tap would really want a small amount of drop before it backed out. Not sure if you could monitor encoder counts as opposed to index signal since one revolution of the spindle could be the difference between a broken tap or not. Like I said earlier though if I had a peck setting available in the code then I would peck most holes.
Yes, the controller continously tracks the encoder A/B, it has to, otherwise the tapping could not work, so it knows the change of position -> spindle speed.
I thought to implement it the same way as you described, to have a % setting of speed drop. We could measure the spindle speed when the tapping cycle starts before syncronising to the index channel,
the only possible issue I see is if the spindle is not on it's full speed when the tapping cycle starts, however maybe that is not even a problem,
because the spindle should be around the set speed and so that could be controlled with the M3 dwell to be sure the spindle reached the target speed when the tapping starts.
I'm just thinking loudly...
What are your thoughts on this?