Hi to all!
I have a thorlabs MTS50-Z8 motor(actually three of them) with kdc-101 controller paired. I want to make a linear movement(e.g. on X axis...) between three or more points without stopping at the intermediate ones with Labview and kinesis software.
My problem is that the motor stops at the intermediate points even in an instant and the movement is not smooth and continuous. I have tried many configurations in Labview without success.
I would appreciate any help or recommendation guys.
Solved! Go to Solution.
I don't know the ins and outs of your software, but it probably has a "Move from point to point" with the ability to specify the end points, the velocity, and (possibly) the acceleration/deceleration. If accel/decel are not specified, then they are probably assumed to be "infinite", i.e. "Stop instantly".
Does anything change (other than the end points) in your multiple movements? That is, are the velocities all the same? Then if you want a continuous movement, simply go from the first to the last point, not "stopping" at the intermediate points. Otherwise, if the velocity changes, you (by definition) must have an acceleration at some point. If your controller allows you to "update on the fly", and if it is smart enough to allow you to say "Go from whereever I am to point X", then you can try the following:
This is a little messy. Note that some motion controllers allow you to control not only velocity but also acceleration. This turns a "Move from here to there, and then come back here" from a Trapezoidal movement with "sharp corners" into a movement with a smooth stop. It's a fun exercise to figure out the programming so that you make the intended motion. Newton's Laws of Motion come in handy when doing this.
Thanks for your reply!
My velocity definitely will not be the same from point to point. Can thorlabs kdc 101 controller "update on the fly"??If so how do i programm it in labview?
In case the controller cannot "update on the fly" how a continuous movement the way i want can be achieved?
I believe what you're looking for is something called a "contour move". Once upon a time, NI offered motion controllers that have this functionality, but they are now discontinued. Contour move allows to you to hit all the points, without stopping. See here for an explanation.
It is really hard for LabVIEW software to update velocities on-the-fly and send to the motion controller, you would need super low latency to achieve this for contour moves. Usually the velocity calculations are done in the onboard trajectory generator of the motion controller, before the contour move is executed. Therefore, I would check with Thorlabs to see if they have this function on their hardware.
We offer the contour move function on our EMotion controller, but it may not the best fit for your case as you already are using Thorlabs motors and controller. But, at least you'll know what function to look for.
I have used Kinesis a fair amount. It's fine for some things, but not really for anything that requires exact timing or high speeds.
The company is much more oriented towards the sort of things you would see in a lab environment than in a manufacturing environment (it is called ThorLabs for a reason).
You will likely need different equipment to accomplish your desired task at the desired speed. As a general rule, if a motion controller can control several axes all at once it will be much more likely to have the features you need. Nearly all of the controllers ThorLabs makes are one controller driving one motor.
If you're looking for such a controller and to use one with LabVIEW I can tell you I've had pretty good results with Newport XPS line, but there's others out there I haven't even tried which might work as well or better.
Thank you all for your replies.
Is it more likely to achieve the movement i want with my hardware by using python instead of Labview?
It sounds me a little strange A KDC101 controller and a MTS50-Z8 motor not to be able to make a simple 4 point continuous movement on X Axis e.g.
without stopping at the intermediate points.
I've been (passively) following this thread, as we've recently "inherited" a fairly simple motion-control project done with Arduinos and fairly clumsy LabVIEW code. We're adding data-processing routines, but if we needed to replicate this system, I'd seriously consider looking at TENET (see the earlier post by @RIObotics to this topic).
The problem i face up with is finally hardware related...I had response from throlabs that the specific controller cannot achieve this kind of movement i want to achieve.
Thank you all for your help!