LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

programatically controlling stepper motors

Hello all,
 
I am working on programing an x-y stage to be moved by stepper motors controlled by LabView with Flexmotion. I can jog the table programatically without any problems and my linear encoders are working. My question is what is the best way to move the table to a specific position? Do you do the math and convert encoder postion to stepper counts and then send the move to the controllers? Is this the best way or is there some other metod that will yield better results?
 
Thanks,
Justin  
0 Kudos
Message 1 of 4
(2,497 Views)
On Jun 26, 12:10 pm, Apexed <x...@no.email> wrote:
> Hello all,
> &nbsp;
> I am working on programing an x-y stage to be moved by stepper motors controlled by LabView with Flexmotion. I can jog the table programatically&nbsp;without any problems and my linear encoders are working. My question is what is the best way to move the table to a specific position? Do you do the math and&nbsp;convert encoder postion to stepper counts and then send the move to the controllers? Is this the&nbsp;best&nbsp;way or&nbsp;is there some other metod that will yield better results?
> &nbsp;
> Thanks,
> Justin&nbsp;&nbsp;

Are the encoders incremental encoders or absolute encoders? If the
encoders are incremental encoders than yes you must do the math and
convert the change in position from the present position to stepper
counts. This would be an open loop mode of operation. If it is an
absolute encoder you could tell your stepper to move, compare your
present position with the desired position and stop moving when you
got to the required position. This would be a closed loop mode of
operation.
0 Kudos
Message 2 of 4
(2,471 Views)
Yes I believe they are absolute encoders. Right now I am operating in an open loop. (I get an error after a few moves in the closed loop, could be a encoder setting that is wrong havn't tried to troubleshoot it yet) Is there any specific advantage other than just reading the encoder position directly?  What process do you use to make a move? Right now I am using the load vector space.flx vi to read the move position. Is this the best/easiest? Or should I be looking at a different vi to hadle the moves? 
0 Kudos
Message 3 of 4
(2,461 Views)

Have you set it up in Measurement and Automation Explorer (MAX)? Do you get errors in MAX when it is in closed loop mode?

Usually MAX is the first place to go for troubleshooting and configuration. If it works there then a good approach is to search the LabVIEW example finder for an example that may do what you are looking for or similar. Then configure your example the way it was done in MAX. If the load vector space.flx VI does what you want than just make sure that the configuration parameters are the same as MAX.

You may have a quicker response posting on the Motion Control and Motor Drives board.

Vince M
Applications Engineer
0 Kudos
Message 4 of 4
(2,432 Views)