02-23-2012 08:39 PM
I took a project at my university to linear actuator which is powered by a stepper motor. I am currently taking a labview class and was looking for advice on controlling the motor and example stepper motor control programs that ppl have already designed.
02-24-2012 02:59 PM
Two of the main ways to control our motors are NI-Motion and NI-SoftMotion.
NI-Motion requires a motion PCI or PXI card such as this one: http://sine.ni.com/nips/cds/view/p/lang/en/nid/138
You would then need a drive to power the motor that you would hook up to this controller.
In addition, you would need NI-Motion software to use the motion card to control the motor.
This manual has more information on how to set up NI-Motion: http://www.ni.com/pdf/manuals/373329e.pdf
For NI-SoftMotion, instead of a PCI card, you would use a CompactRIO with a motion module inside of it.
And then the SoftMotion software would control it. This document shows you a little more about that: http://zone.ni.com/devzone/cda/tut/p/id/12127
04-08-2012 11:42 AM - edited 04-08-2012 11:42 AM
Hi, I'm not sure whether this is the right place for asking this question or not and if not, then please guide me to the right place for asking such question. Thanks.
I have a stepper motor with the Vector Network Analyzer Anritsu MS4623B. I got it up and running with the LabWindows/CVI. I need to sync the motion of the stepper motor with my data acquisition. Basically, I have to acquire the data in a way that in the start the motor will come back to home position wherever it was and then I want to move it to the specific position to do the measurements (For Example, I want to measure the 40 GHz channel between 1m to 3m movement of a stepper motor on a linear positioning system (ball-screw)). I've interfaced the VNA with the PC using LabWindows/CVI and I've controlled the clockwise and anti-clockwise movements of the stepper motor using LabWindows/CVI but I'm unable to sync the system in a way that whenever I run the code, the motor will run back to the home position and then move to a specific measurement start position and move till the end position and in between do the increment and stop and acquire the data. Is there any one to help me please? It's really urgent please and I'm doing this thing first time so please guide me in a proper way. I shall really apprecaite that and will be highly obliged with you. Thanks for your time and concern.
Thanks and Regards.
04-09-2012 10:20 AM
Hi there, AliT.
This is a unique question, so it's probably best to continue it only in the place you've started a new thread: http://forums.ni.com/t5/LabWindows-CVI/Controlling
Just so you know, in the future, it's best to only add on to a previous thread if you have a question directly related to the original. For example, in this case, the customer had a few direct questions about the NI-Motion VIs in LabVIEW and how they work (I pointed him to some examples), so if you had a question about one of the examples I posted, you might ask it here. Otherwise, you would start a new thread. This is good because it allows you to be the focus of that particular new thread.
05-20-2012 06:10 AM
I don't know whether this is the right place to ask this question, please guide me to the right thread if I'm at wrong place.
I was trying to control my stepper motor using Labview. Since I'm a beginner at LV can somebody please guide me with clues of how to initiate my solution. I have attached the manual of motor driver below. I'm planning to include variable speed, clockwise and ACW rotation in my application along with brake. Since the driver is having 25 pin signal connector, I'll be trying to control the motor with either serial or parallel port. Any sort of help in this regard will be highly appreciated.
Thanks in advance.
05-21-2012 11:07 AM
So it's best to start a new forum post when the topic is unrelated to the topic of the thread. This way it is more likely to get seen. However, I will briefly get started answering your question here since I see you tried to create a new post a month back and nobody answered it. This time, if you make a new thread, I'll try to make sure it gets answered properly. Basically, you'll use NI-VISA, an NI/LabVIEW driver, to communicate via serial. This communicates with any serial device, and you send it the commands you know for your motor.
From here, if you create a new thread, we will expand on how to use NI-VISA to accomplish your goals, but before you do that, I recommend you install NI-VISA and look at the examples in the NI Example Finder (LabVIEW >> Help >> Find Examples).
05-31-2012 12:45 PM
Hello Mr. Ravi,
I have gone through some VISA based VIs for communication with serial port. Those were really helpful, thanks for the suggestion. I have got a couple of question regarding proceeding to designing the VI for my stepper motor application.
1. I'll be giving the following inputs to the controller from the VI- control pulses, direction pulse, deactivation pulse and taking the following outputs from the stepper motor- Ready and error (you can refer pages 19-22 in the datasheet of the controller attached in my post above). Coulld you please guide me on how to generate the pulse train for control pulses and direction with following specifications - 2.5-5 V, pulse step >=2ms.
2. On what pins of my computer DB9 serial port will the control pulses be available ?
Thanks in advance.....
Have a great day.
06-04-2012 10:25 AM
So are you trying to produce a variable voltage across serial? This is not possible since serial is a digital protocol that produces either a "high" or a "low" voltage to communicate bits of information. This might be something you can accomplish with a data output device. Do you have another way of tying that specific pin that requires a pulse?
06-05-2012 06:56 AM
Thanks for the reply, my device requires digital pulse as control input in the form of high/low signal. But I'm not clear how much output for high signal a serial port gives, is it 5 V? I will be needing a high signal voltage level greater than 2.5 V for the device to recognize it as high value and its time period greater than 2ms. On the higher side I have no restriction since I can use a resistance for that. Please tell me how do I generate that high low pulse.
Have a great day