LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Thorlab stepper motor labview

Solved!
Go to solution

Hello,

I recently purchased a Thorlabs K10CR2/ M integrated stepper motor, and I am planning to use it within a LabVIEW-based experimental control environment.

My goal is not just basic manual control, but to implement experiment-oriented motion sequences. For example, I would like to perform an automated angle sweep, such as rotating the stage from 0° to 60° in 5° increments, while performing a measurement at each angle.

I have reviewed the Kinesis LabVIEW examples provided by Thorlabs, and it appears that they cover only the most basic operations, such as device connection, homing, and moving to a specified absolute angle. What I would like to understand is whether more advanced, higher-level functionality—such as angle sweep or step-scan operations—is already available within the Kinesis / LabVIEW API or example library.

Specifically, I would like to know:
Whether the Kinesis or LabVIEW interface provides any built-in functions for angle sweeps or stepped scans,
or Whether the typical and recommended approach is for the user to construct such motion sequences manually by combining basic commands into a custom control loop.

Additionally, I would appreciate clarification on whether implementing this type of control requires any understanding of the physical operating principles of the stepper motor, or if the provided software interface already abstracts these details sufficiently for experiment-level control.

Thank you very much for your assistance.

0 Kudos
Message 1 of 2
(76 Views)
Solution
Accepted by topic author clickk

I've used Kinesis a fair amount and it basically sticks to direct motor control.  There is basically nothing in there that is dedicated to anything other than direct hardware queries or commands.

 

LabVIEW doesn't really have built-in commands that exactly match what you're looking for either.  There are some that can help, such as the "Ramp Pattern" function that can be used to generate lists of points, such as you feeding it (0,60,5) and it returning the array (0,5,10,...55, 60) that defines all the absolute locations in a scan matching your example.

 

If you look at the properties of any given motion controller, whether it's a stepper or something else (servo, brushless, whatever), there are some common properties that are almost always there and sufficiently abstract.  For instance, you can always check the IsDeviceBusy command to see if it is ready to accept a movement command.  Some might be a little weird, like if you check the "status" property it's another object filled with status Booleans, and the difference between "IsInMotion" and "IsMoving" might not be obvious (pretty sure "IsInMotion" is True if it's not still for any reason, while "IsMoving" only checks to see if it's running a "Move" command and doesn't count if it's doing something else, such as homing the stage).

 

They do include a very large CHM help file (42 megs) that can be confusing at times as they kind of assume you know more about .NET class structures than the average new LabVIEW user, but in general if you search for the name of a function in there you will find information about what it does.

0 Kudos
Message 2 of 2
(40 Views)