cancel
Showing results for 
Search instead for 
Did you mean: 

L6470 step loss

jgarcia
Associate
Posted on October 03, 2012 at 17:36

In a L6470 the microcontroller sends a Move command in 128-microstepping type; then, after a zero is read in the busy flag (so the movement has finished), the absolute position is read but the value read is smallest than the value introduced as Move parameter. I have noticed that the STEP_LOSS_A and the STEP_LOSS_B flags are zero so is it possible that some microsteps had lost and that was the reason that both values were different?

2 REPLIES 2
jgarcia
Associate
Posted on October 29, 2012 at 17:28

Please,

Could anyone from ST answer this question?

Enrico Poli
ST Employee
Posted on November 14, 2012 at 17:16

Hello,

the motion engine of the L6470 is not able to detect how many steps has been lost during a motion. After a Move command the final value of the ABS_POS register should always be equal to the previous value plus (or minus in case of reverse rotation) the number of requested microsteps.

The only way to abort the motion before the target position is reached is a failure event.

Events which could cause the motor to stop are:

- overcurrent

- overtemperature

- undervoltage

- switch turn-on (falling edge on SW pin) only if the SW_MODE bit is set accordingly

The stall detection event does not cause the motor to stop.

Regards

Enrico