KFLOP Closed Loop Steppers

Have an Austrian Microsystems AS5306 & 300mm 1.2mm Magnetic strip to try closed loop stepper via teh KFLOP IO board.

I've prototyped the AS5306 & attached it and the mag strip to the X & Y Axis

KFLOP pins 0-3 are wired for input & Output Channel 1 is already working with open loop (Mode = Stepper)

AS5306 A & B outputs are connected to KFLOP Bits 2-3 respectively, and I can see KMotion Digital IO screen has these pins toggling as I move the Y Axis by hand.

Now need to configure KFLOP to used the AS5306 as a linear encoder input.  Time to battle the cryptic KFLOP documentation..

AS5306 outputs 40 pulse per pole period = 1.2mm / 40 = 30uM distance between pulses.  By outputting A & B outputs 90 deg we get a full resolution of 15um.

 


KMotion configuration:

X = OC0, IC 0

Y = OC1, IC1

For input gain, help says:

This was calculated from the ratio of the number of μSteps/rev to the number
of encoder counts/rev. (A micro stepper amplifier set to 50 microsteps/full setp
and a standard stepper motor with 200 full steps/rev will have 10,000 μSteps/rev,
a rotary encoder with 2000 lines/rev will profuce 8000 quadrature counts/rev,
10000/8000 = 1.25).

So to get a ratio per mm

  • AS5306 outputs 1/0.15 pulses per mm = 66.6667\
  • Stepper is 0.9 deg, direct driving a 2mm pitch GT2 belt via a 20 tooth pulley.

X is currently running Gecko G203 at 1/10 uStepping:

400 motor steps * 10 / 2mm pitch * 20 teeth = 100/66.6667 = 1.5

Y is running a TB6560 at 1/16 uStepping

400 motor steps * 16 / 2mm pitch * 20 teeth = 160/66.6667 = 2.4


The ratio above can be put in either Input or Output gain:

if Input gain, kmotion raw units are motor uSteps, if output gain then kmotion units are Encoder pulses

What is the impact of this on Deadband:

We will experiment with using encoder pulses first.


Deadband considerations:

minimum target pitch for this machine is 0.5mm, so an accuracy of 0.1mm should be satisfactory, this is within 3 encoder steps, however, what does this do to alignment..

Kmotion best compromise so far:

Y axis

Deadband set to 0.5 / 0

PID = 0.3, 0.005, 0.1

Feed forward = VA = 0.0001 / 0.0001

VAJ = 26668 (400  mm/s), 60,000, 600,000

X Axis:

Deadband 1 / 0

PID 0.1 / 0.002 / 0.1

Feed forward = VA = 0.0005 / 0.0005

VAJ = 26668 (400  mm/s), 40,000, 400,000