Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

trouble positioning a stepper motor accurately

I'm using a PXI - 7344 with an MID7064 motor driver for XYMR Microscope Stage(Danaher Motion) which has encoder of resolution 2000 (counts/rev).
 
The motor is in 200 steps/rev configuration and microstepping by 10 (closed loop). 
So the motor and encoder are effectively in same resolution. So i expect it to be accurate to +/- 1 step(with three pull in moves ) because the motor and the encoder may not be in phase.
 
But i get accuracy of +/- 3-4 steps. I didn't  have this problem previously (till a week ago), I had accuracy of +/- 1 step.
 
Any ideas on what could be wrong?
 
Thank you
 
 
Prathyush
0 Kudos
Message 1 of 4
(3,863 Views)
Hi Prathyush,

Is it possible that your motor began slipping?  Did the load on the motor change?  You might try increasing the number of pull-in moves that the system will attempt.  If the motor is slipping, it might be worth it to give the motor more opportunities (via increasing the pull-in moves) to correct this.

Wes P
Applications Engineer
National Instruments
Wes Pierce
Principal Engineer
Pierce Controls
0 Kudos
Message 2 of 4
(3,843 Views)

Hi,

No, the motor is not slipping, and load did not change. We updated the NI motion driver a week ago to V 7.6.

thnx

Prathyush

 

 

 

0 Kudos
Message 3 of 4
(3,824 Views)
Hy Prathyush,

Here is another thing to consider.  You may be trying to stop the move in between physical poles on the stepper motor.  Since the motor has 200 steps per revolution, that means that there are 200 physical poles on the motor to step with.  You are microstepping at 10 microsteps/step.  So, if you try to stop a move after a number of steps that is not divisible by 10, then you are essentially trying to hold the rotor between two poles which are competing to magnetically attract it.  Essentially, the rotor is in an unstable "tug-of-war" so to speak.  Now your encoder has a resolution of 2000 counts/rev, each count being evenly spaced out.  If the motor is being held between two poles, there might be slight vibrations which cause the encoder feedback to vary slightly, thus giving you a 3-4 count error.  If you set up your moves where you never land in between poles, I expect you should have better accuracy.

Wes P
Applications Engineer
National Instruments
Wes Pierce
Principal Engineer
Pierce Controls
0 Kudos
Message 4 of 4
(3,810 Views)