Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

guide in using usb 6009 to control motors

hi guys i am new to labview and in need for your guidance.

i am currently doing a project which require me to control a set of DC motor using usb 6009 and also a stepper motor(for positioning)

The dc motor is just to move in forward and reverse direction. while the stepper motor movement is to move clock wise at an interval of 90 degrees.After finishing 360 degrees, the stepper motor will rotate counter clock wise and back to its starting position.

The basic functionality: A turn table is secured on a stepper motor.The stepper motor will position the turntable at an interval of 90degrees.When the desire position is reach( at 90 degrees) , the DC motor will then turn on. This cycle will continue for 360 degress at an interval of 90 degrees. After that, the stepper motor will rotate counter clock wise and back to its starting position.

i have look gone throught most of the introduction materials about labview but still does not know how to start the program using labview for my application.

i hope you guys can help get me started by giving me some pointers or any sample block diagram for me as a reference.To help me get started.

thanks alot guys!!!

 

0 Kudos
Message 1 of 10
(6,402 Views)
Hi,

I would strongly recommend against trying to complete the task you describe with the USB 6009. You really need a motion controller and drive to implement the type of application you describe. A typical motion controller runs the trajectory generation, the control loop and other time critical tasks like limit switch detection in a real-time task to accurately control motors. There are capabilities that a DAQ card just doesn't have. While it should be possible to generate analog output voltages from the 6009 and feed them through an amplifier to connect to your motors, it would not be a feasible way to program an application.

You can find information on NI motion controllers, drives, and the NI-Motion driver from this link:
http://www.ni.com/motion/

I would also recommend this tutorial:

Fundamentals of Motion Control
http://zone.ni.com/devzone/cda/tut/p/id/3367

Best Regards,

~Nate

Message 2 of 10
(6,386 Views)

thanks nate,

i am now using BNC-2110 to control multiple DC motor.

i got some Questions, hope you can help me. some Questions may sound silly as i am still new to all this.

1.Is it possible to use BNC-2110 to control Nema 34 stepper motor directly using labview? or i still need a driver to control the motor.

2.How to design a program to control the stepper motor? since my application is just to rotate the stepper motor CCW and CW at an interval of 90 degrees? how to generate the pluse? i have look through some examples. most of the program uses array. i wonder is it possible to send me any reference program so i can work on it?

3.similar to Question 2, i need to turn the stepper motor at angle of 90 degrees, using labview. how do we achieve the 90 degrees?

4.For the control of DC motor, which is just to turn on and off, how can i achieved it? i try setting the DIQ max and use it to run the DC motor. but cant work? is there any reference program so i can work on it?

thanks for your help.

0 Kudos
Message 3 of 10
(6,367 Views)
 

Hi happy,
 
The BNC-2110 is actually the connector block for connecting signals to your DAQ card.  Which DAQ card are you using with the BNC-2110 (what is it cabled to)? The same restrictions I mentioned in my previous post still apply with any DAQ card, to controlling a servo or a stepper motor.  You will still need a controller and a drive.

Which examples have you looked through? Were they specific to motion control? If you want to take a look at some good examples of how motion control with steppers or servos is normally done, download the NI-Motion driver from ni.com. Once you have installed the driver, browse from the NI Example Finder to Hardware Input and Output>>Motion Control and you will find a whole list of examples.

To achieve a specific move with either a stepper or a servo motor with the NI-Motion driver, you would specify a position in counts, and then use the #counts/rev specification to determine how many rotations or degrees you want to travel. The driver will take care of all the low level configuration and setup based on which board ID (controller) and axis you specify.

To complete a motion application with a DAQ card, you would essentially have to write your own driver. Even simple moves would require complex LabVIEW applications compared to using the NI-Motion driver and motion control hardware. 

I hope the above information and examples prove helpful.

Best Regards,

~Nate

 
0 Kudos
Message 4 of 10
(6,360 Views)
thanks nate,
 
i have a better understanding after reading the examples you had posted.
 
thanks again, if i have any more problems, i will consult you again
 
regards
 
 
0 Kudos
Message 5 of 10
(6,341 Views)
hi nate
thanks for your reply.
i still got some Questions i want to ask, thanks you for your time.
1. i intended to use digital input and output port of BNC-2110 to control sets of servo motor(5V)
    is it possible to do it this way using lab view? without using any I/O card.
    since i am new to labview, i wonder is there any example Vi for me, to use as a reference?
 
2.I am also planning using the digital port of BNC-2110 to detect IR sensor measurement.Again is it possible?
   I am using 4 sensors, the sensors are used to detect positions.Is it possible for the digital port of USB-2110 to differentiate each of the 4 sensors? if yes, how does it achieved?
 
3. The project that i am doing is rotating a turn table using stepper motor, and positioning of the turn table using IR sensors.The IR sensors is place at 90 degrees difference on the turn table.
since there is a sequence of events. example. on and off the motor when sensors are detected.
how should i approach this algorithm using labview?  any example V.i that i can use it as a reference?
 
thanks nate
  
0 Kudos
Message 6 of 10
(6,335 Views)
Hi happy,

You can't use the BNC-2110 connector block for any signal acquisition without a DAQ card. The BNC-2110 basically allows you access to all the terminals of you DAQ card; it can't do any processing or signal acquisition by itself. Think of it as a fancy screw terminal in terms of functionality. What really matters is what kind of DAQ card you have the BNC-2110 plugged into.

Once I know what type of DAQ card you have, I can help answer your other questions.

Best Regards,

~Nate
0 Kudos
Message 7 of 10
(6,331 Views)
thanks nate
 
i have been told by my friends that we can use NI BNC- 2110 to control motors. thanks for the correction.
 
i got one Question, for my application, which is to control a stepper motor( together with a driver and pluse generator) and 4 DC motors and 4 IR sensors used for positioning.
 
what type of DAQ card you can recommend me to connect to BNC-2110 ? and what are the cables needed?
 
i browse through the NI website and i was thinking of using NI DAQ card-6062E
 
what do you think?
 
thanks nate.
 

 

 
0 Kudos
Message 8 of 10
(6,315 Views)
 

Hi happy,

You are going to need a card that is capable of handling the input signals that you expect (IR sensor input, motor feedback for each motor), and providing the output voltage signals to your amplifiers to control the 5 motors. The card that you listed only has 2 analog outputs, so it won't work if you require one analog output channel per servo motor. Without knowing how exactly your IR sensors work, or the specs on your motors I would say you need:

Stepper:
4 digital output lines (one for each coil, assuming you have a 4 coil stepper motor)
1 counter input for quadrature encoder feedback

Servos:
4 analog output lines, each going to a separate amplifier circuit
4 counter inputs for quadrature encoder feedback from each motor

IR:
4 digital inputs (I'm not sure what signals your IR sensors return, but you can determine the channels necessary for these)

You would have to create your own custom LabVIEW code to control all the above channels.

The closest thing I found to fit your needs was the M-series 6229. This card has all the digital and analog channels you would need, but only has 2 counters.

OR

You could purchase a motion controller such as the PCI-7356. This card could handle all of your motor control and feedback needs, as well as the DIO and analog input you will need to take data from your IR sensors. The feedback and trajectory generation is built in with this card. You would have to write all that code yourself is you used a DAQ card. You can also interface this card with the 2 different drives (one for the stepper and one for the servos).

Are you sure you are up to the very large programming task that all this motion control with a DAQ card would entail? I would not want to do it, unless that was the focus of my project and not a tool to get my project up and running.

Best Regards,

~Nate

 
0 Kudos
Message 9 of 10
(6,283 Views)
thanks nate..
 
i will look into it and if i encounter any more problems, i will ask you agian.
 
thanks
0 Kudos
Message 10 of 10
(6,263 Views)