i have now tried changing the p.i.d values, it seems to hunt about too much like that, i checked closed loop feedback that also takes too long to settle, although it hunted out the commanded value for once!. Averaging is more like pulling the wool over your eyes..!
Im on 45khz , have one slot in my index pulse plate 10mm wide on a 94mm diamater plate. On my inverter 10V = top speed @ 50hz = 2790, through 1.1:1 pulley = 2536. Ive calibrated the spindle in at 1-2-3-4-5-6 ~ us.
i can get good results for commanded in the mid to high range 750-2500, within target to 5-8 rpm, (thats adeqaute for sure on a low inertia pint sized drive) but for some reason still in the lower rev range when calibrating mach just dosent pick up the index pulse properly below 750. it can be anything upto 100rpm out, its non linear also, just to be even more of a figure out!.
when initiating auto-calibration it starts the spindle around 125rpm, and my motor spins at around 44,
mach has to increase to around 250 before the spindle starts to register steady speed at around 75-100rpm, before that its not registering properly in mach.
by the time it gets to around 750rpm the spindle speed actual has caught up with mach calibration commanded, and from then on upto 2500 its better. why when mach is calibrating does it not wait for the actual speed to catch up with the commanded before the commanded moves onto the next reference point up the graph* etc!. perhaps its an acceleration thing, i'll try that next.