5001
General Mach Discussion / Re: Step/Dir control of spindle?
« on: March 18, 2018, 02:07:08 AM »
Hi Roger,
I've always battled with phaselock loops, I've had some good successes but they can be very hard fought.
I made a fairly simple estimation of my servo accuracy, 20/8000=0.25% That number comes from the Following Error window, 20 is its default.
Thus if the commanded position gets any more than 20 encoder counts away from the actual encoder position the drive faults 'Following Error'
The 'Zero Error' window is by default 4 encoder counts, thus if the error is less than 4 counts then the drive doesn't bother to try to reduce the error
further, you might say its ultimate position error is 4/8000=0.01%
Really these sorts of numbers are not truly reflective of the performance of the machine for lathe threading purposes. As you point out its ability to recover
from sudden changes in load like a tool digging into the start of a thread. My servo drive will fault if the commanded position lags by more than 0.9 degree
but whether it will fault is all about its torque reserve and the time it takes for the drive to apply the extra current. The control loop in my Allen Bradley
servo drive is 16kHz and in my own home grown one 20kHz. If I assume 10 control cycles is sufficient to have the drive increase current to match a sudden
increase in load I would expect a lag of 500-600us.
If of course the applied load exceeds the torque available from the servo it will fault no matter what happens. I can stall my Allen Bradley spindle by crashing
it into a job but it makes a hell of a bang....you may have heard it after all your only 2000nm away!
Craig
I've always battled with phaselock loops, I've had some good successes but they can be very hard fought.
I made a fairly simple estimation of my servo accuracy, 20/8000=0.25% That number comes from the Following Error window, 20 is its default.
Thus if the commanded position gets any more than 20 encoder counts away from the actual encoder position the drive faults 'Following Error'
The 'Zero Error' window is by default 4 encoder counts, thus if the error is less than 4 counts then the drive doesn't bother to try to reduce the error
further, you might say its ultimate position error is 4/8000=0.01%
Really these sorts of numbers are not truly reflective of the performance of the machine for lathe threading purposes. As you point out its ability to recover
from sudden changes in load like a tool digging into the start of a thread. My servo drive will fault if the commanded position lags by more than 0.9 degree
but whether it will fault is all about its torque reserve and the time it takes for the drive to apply the extra current. The control loop in my Allen Bradley
servo drive is 16kHz and in my own home grown one 20kHz. If I assume 10 control cycles is sufficient to have the drive increase current to match a sudden
increase in load I would expect a lag of 500-600us.
If of course the applied load exceeds the torque available from the servo it will fault no matter what happens. I can stall my Allen Bradley spindle by crashing
it into a job but it makes a hell of a bang....you may have heard it after all your only 2000nm away!
Craig