cancel
Showing results for 
Search instead for 
Did you mean: 

GoTo(ABS_POS) error during motor running

srg0016
Associate II
Posted on September 03, 2014 at 09:59

Hello!

In my application I send GoTo(ABS_POS) commands when stepper motor is running at constant speed, when BUSY flag is high, so I'm sure that the target speed is reached. And everything is going well most of time, but sometimes (maybe 5-10% of total number of commands send) GoTo(ABS_POS) coommand acts like GoTo_DIR(DIR, ABS_POS)  command but with ''wrong'' direction and motor makes all 2^22 steps in opposite direction. So, GoTo(ABS_POS) doesn't act like a positioning in a shortest way. I have checked real signals many times to be sure that adrress of command is 0x60, not 0x68, one can see on attached picture.

Are there any suggestions why this can happen and how one can avoid such problem?
2 REPLIES 2
spelger
Associate II
Posted on September 03, 2014 at 18:11

i don't have an answer for you but the Run() command takes a direction and speed (i assume this is how you got to a constant speed). depending on the position of the motor when Run() was issued (and direction used) and the position when the GoTo() is issued i can see how the motor might move in a different direction that what you expect.

for test purposes you might want to retrieve the position before Run() and the position before GoTo() to see if the 5-10% wrong directions correlate with the positions found.

hope it helps,

scott

srg0016
Associate II
Posted on September 03, 2014 at 23:27

Thanks for suggestion! Such test I haven't done yet. But I'm really confused by the fact that GoTo(ABS_POS) command, which can be issued anytime (surely when BUSY flag is high) at any position and should position motor in shortest way, sometimes for some reason fails.