2012-10-03 08:36 AM
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?
2012-10-29 09:28 AM
2012-11-14 08:16 AM
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 accordinglyThe stall detection event does not cause the motor to stop.RegardsEnrico