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

Reply via email to