On 05/08/2020 11:38 AM, John Dammeyer wrote:
Hi Jon,
I suppose you are using external hardware to create motion and count encoder
pulses?
So BASE_PERIOD isn't even used?
Or is it still needed for tapping?
My understanding is the SERVO_PERIOD time is used to calculate the spindle
velocity from the time between encoder pulses at the BASE_PERIOD.
Yes, I have hardware encoder counters in my machine, and
there is no BASE_PERIOD. (Effectively, the
base_period is 1 us.) The base_period is only used to help
the software encoders not miss pulses (and the step
generators go faster).
Depending on hardware, the various encoder drivers may have
several ways to compute velocity.
It can just take difference between current and last encoder
position, but this is very noisy due to the
double quantization (in both time and position). Or, it can
use a timestamp of the most recent quadrature
transition to compute time between pulses. This can be less
noisy, especially with a little arithmetic to filter toward
zero velocity when there hasn't been a transition in a few
servo cycles.
Jon
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users