Using BNC2110 DAQ In Order to Control Stepper Motor

So basically my goal here is to use LabView to control the direction and the steps of the stepper motor.
I have BNC 2110 (connected to PC), Lin Engineering's 4218M-54P-04 Stepper Motor, and Lin Engineering's R701 Stepper Motor Driver.
The specification documentations are attached.
I know that the driver and the stepper motor are compatible.
Is it possible to control the motor through Labview(PC) < - -> BNC2110 < - -> R701 Driver < - -> Stepper Motor, without the motor's own controller?
An example of a controller for this particular motor would be on this website.
I would much appreciate your support.
Thank you.
Attachments:
4LeadBipolarSteppingDriver-linengineering--4218m-54p-04.pdf ‏652 KB
DriverR701.pdf ‏379 KB

Hi jhprks,
It would appear that the stepper motor controller that you list communicates via RS-232 or RS-485.  You can make serial calls in LabVIEW using the Serial or VISA commands.  It could be something to look into.
Further, we do have a multitude of ways to accomplish this with our hardware; here are a few resources to take a look at, with the first being an example of how to do this with a multifunction DAQ device:
Using Software Timed Digital IO to control a stepper motor with DAQmx:
http://decibel.ni.com/content/docs/DOC-6385
Stepper motor control via Parallel port:
http://zone.ni.com/devzone/cda/epd/p/id/3611
High Performance Stepper/Servo control:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/10026
Stepper Motor Theory of Operation:
http://zone.ni.com/devzone/cda/ph/p/id/248
Stepper motor Drives:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/3308
Adam
Academic Product Manager
National Intruments

Similar Messages

  • Controlling Stepper Motor

    Hi All.
    I am pretty new to Labview, and am looking for some advice in controlling a set of two stepper motors.  I have some experience with controlling stepper motors, but previously I used Matlab to create a binary script that was read into Labview to create a motion that I desired for the two motors.  Now I am hoping to control the motors using coordinates read in from another system (not an encoder, but a completely different system).  I basically just want the motors to follow the X and Y coordinates as they are read into Labview from the other system.  Any ideas are appreciated.
    Thanks!
    Jacob

    By LabVIEW driver I'm ssuming you mean the DAQ drivers and I'm also assuming since you're using a DAQ to control the motors you don't have an actual motor controller which means you will have to write the code to perform the function of a physical motor controller.
    Since it sounds like you're starting with a pretty low-level interface, I would say the next step is to write a wrapper that lets you input a) Step Direction and b) No of Steps to make in the direction
    Then you could use that function within what will ultimately be your "motor controller" which will keep track of where the motor currently is based on previous steps, and use that to enable the use of an absolute position your high level input.

  • I am using field point to replacement plc, i need to control stepper motor by using field point, what module should i buy and how to control it?

    Can i use FP-PG-522 or FP-PWM-520 to control the stepper motor.

    Cheeking,
    I think Aaron has answered this query at: http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000E16E0000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0
    Pravin

  • Using LabView, Arduino, and Easy-Driver to control a Stepper Motor

    Hello fair folks of the LabView forums!
    I am a humble engineering student in need of some advice and input on a project I am working on.
    I’ve also done a fair amount of reading on the LabView forums with people trying to use LabView and Arduino to control stepper motors, and I’ve used as much information from each as I could. However the problem I'm encountering now is one which is unique to my VI Configuration.
    So, here is what has been done thus far:
    -Installed LabView Interface for Arduino [LIFA]
    -Installed necessary VISA drivers for LabView to communicate with arduino
    -Uploaded firmware to Arduino to allow it to communicate with LabView
    -Properly wired Stepper Motor with Easy Driver and Power Supply; I have verified this by first using the Arduino independently of LabView, using example code found here.
    -I have created a VI, and have just recently got it to run without reporting back any errors. While I suspect the behavior I’m encountering has to do with something inside the VI, it is difficult to determine as there are no errors being reported!
    But here is general problem I am encountering:
    -Connect Joystick to USB Port, connect Arduino to USB Port.
    -Plug in outlet for Power Supply
    -Open LabView VI
    -Run LabView VI
    -LabView successfully detects Joystick, and Arduino.
    -Tilt Joystick; Stepper Motor moves in proper direction, but it only takes a single step. If held, it does not move further. If returned to zero, and then tilted, it again only takes a single step.
    I know that in the example code, the Arduino issued the step command by writing the signal from LOW to HIGH, and varied the speed by how often it did this.
    I assumed that the Write-PWM feature would do this same thing, but perhaps my assumption is wrong. I will continue to tinker with this myself, but I would be extremely grateful for any insight you might be able to lend.
    I’m thinking, if not the Arduino Write-PMW feature perhaps a simple timing-sequence that could be used to alternate between writing 0 and 1, with the timescale of the sequence being scaled to the X-Axis from the Joystick. But, I am open to suggestions, and certainly appreciate any thoughts you may have to offer!
    Attached to this is the VI used in this setup, a picture of said VI, as well as a rough sketch of the hardware configuration.
    Thank you!
    Attachments:
    Arduino Stepper Control.vi ‏1224 KB
    VI Picture.png ‏82 KB
    Configuration Sketch.png ‏522 KB

    Hi danjifraga,
    I am not so familiar with the Arduino toolkit functions, but you may have better luck looking at the Arduino page at:
    www.ni.com/arduino
    I'll ask around on Monday to see if anyone is more familiar with the toolkit.
    Good luck,
    Brian
    Brian G.

  • What kind of cFP can I use to control a stepper motor

    Hi everybody !
    I want to control stepper motors (like to control the opening of a My question is :

    Duplicate post !

  • How to eliminate the noise from the stepper motor

    I’m using stepper motors to move a traverse on which a hot-wire anemometer probe is mounted. When the stepper motors are turned on, they induce noise on the analog signal of the hotwire anemometer, or of any other transducer, at multiples of 120Hz.
    The stepper drives are P41 Series made by American Precision Inc. The P41 Series contains a power supply, a motor drive and a logic controller. The logic controller inputs are optically isolated and utilize the 5 VDC supplied internally by the drive.
    An NI 6251 or NI 6024E DAQ card is used with LabVIEW to send digital output signal to the logic controller in order to step the motors.  
    The AI input channels of either NI 6251 or NI 6024E DAQ cards and LabVIEW are used to acquire the signal of the hot-wire anemometer. Different DAQ cards are used for the data acquisition and the stepper motor control and the noise is transferred through the laptop to the data acquisition card (analog signal).
    All cables are shielded and the noise was confirmed to be conductive and not radiative.
    There was no difference when measuring the analog signal with Differential or RSE.
    As a test, the leads from to the drive’s logic controller were connected to the AI input channels in order to check the magnitude and frequency of the noise flowing to the DAQ card and were found to be 5 V peak-to-peak at 60 Hz.
    Please let me know if you have an idea on how to eliminate this noise.

    It sounds like you have a ground loop issue.  If possible, try totally isolating the stepper controller from the data acquistion AI more than you already have.  This could include any of the following:
    Ensure the optoisolation on the control lines fully separates the power and ground of the digital output and stepper input.
    Use different grounds for the stepper power supply and the DAQ power supply/computer.  Isolation transformers can help here.
    Use lower inductance lines for the stepper controller.  This will reduce the movement of the ground.
    I suspect you have probably been over the above, so you are left with filtering the noise out of the signal.  Since it has high harmonic content, a simple low-pass is unlikely to work well.  Your best bet is probably to characterize it and use some sort of Fourier filtering.  If the relative sizes of the harmonics are always the same, you can take the Fourier transform, find the height of the fundamental, use this to calculate the sizes of the harmonics, delete them from the Fourier transform, and do an inverse Fourier transform to recover your signal.  Alternately, you can use a series of narrowband filters to remove the noise, although this will also remove any signal at the same frequencies.  It is better if you can improve your circuitry to remove the noise.
    Good luck.  Let us know if we can help you more.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How can I send commands to a stepper motor to move in steps?

    How can I controll a stepper motor by using labview.7?
    what do I need?

    This will depend on what hardware you are using to send the commands to the stepper motor. NI offers motion controllers and drives that come with all the functions you will need to operate the motors. Depending on the size and number of motors, you will have different hardware requirements. Take a look at the motion products available here: http://sine.ni.com/apps/we/nioc.vp?cid=1506〈=US
    If you have more questions, you can always contact NI at www.ni.com/contact to help spec out the system.
    If you are using third party products, you will have to call their dll from LabVIEW using a Call Library Node function. This gives you access to all the functions in a dll.
    Hope this helps.
    Regards-
    Julie S.
    Applications Engineer
    National Instruments

  • Stepper motor and sequence

    There are stepper motor vi and sequence vi at the attach file. I want to control stepper motor via sequence vi. When I run the stepper motor vi, it can not be reached part of enter position. How can I integrate sequence vi into the stepper motor vi.
    Attachments:
    Stepper motor.vi ‏24 KB
    Return Code Insertion.vi ‏14 KB

    Sequence vi.
    Attachments:
    Sequence.vi ‏10 KB

  • What NI Stepper Drive is compatible with both NEMA 11 and NEMA 42 stepper motors?

    I have a NI PXI-7350(Motion Controller), a NI UMI7774 (Universal Interface), and a NI P70530(Stepper Drive) and I tried linking up a new NEMA 11 stepper motor linear actuator from Hayden Kirk and kept getting a constant red blinking light on the driver. I then connected my new NEMA 23 stepper motor linear actuator from Hayden Kirk and the driver had the go ahead green light and it worked fine. I consulted the manuals and saw that the driver was only compatible for NEMA 17-34 Steppers. I tried the third party setting as well for the NEMA 11 to no avail. Does anyone know of a NI Stepper Drive that is compatible with my UMI and Motion Controller and also is compatible with a NEMA 11 and NEMA 42 (another motor I need controlled) stepper motors?????
    Solved!
    Go to Solution.

    Thank you for the quick response
    So I have connected as the Third Party Motor option with the P70530 Stepper Driver. I have read the manual and selected the appropriate DIP switches for the third party motor setting. As instructed I downloaded the P7000 Tools 2.11 to set up the motor with the driver. When I open it and try to search for the driver nothing is located. I have appropriately changed the COM settings in the device manager to the appropriate values and also I am seeing the steady green light on the driver. I am at another stand still. What else can I do to get the driver recognized so I can set up these motors?
    Thank you for your time,
    Tom

  • How can I control a stepper motor drive using a DAQ card?

    I need to control a simple CW/CCW stepper motor drive using a DAQ
    card.  I simply need to output a 5 volt signal and then a drop in
    the signal, and so on 200 times or steps for 1 revolution.  I have
    desiigned the basic program, but do not know how to output the
    appropriate signal.
    Cheers,
    Matt

    What DAQ card do you have? Ideally, one with a counter output to generate the steps, where you can control frequency. If you try to start the motor too fast (acceleration or abrupt application of fast pulses) it may stall out. Search in Help/Search for Examples for 'frequency' and 'pulse' for example of frequency generation. You can also use a digital output on the DAQ card to control direction.
    If DAQ card does not have a counter, you coul do a software timed loop to toggle a digital output to generate the pulse train. It may not be fast enough nor accurate for your application, do not know from info you have given
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

  • Controling four bipolar stepper motors using one DAQ

    hi all
          l've just started using  labview an i am looking to contorl Four bipolar motor  for a spine robot though four stepper motor driver using a NI USB-6211  DAQ each motor will be independent so i am wondering can this this be done with one Daq since there is only two counter outputs on the digtal and the same on the analog.the speed of the motor does not matter as they will be push and pull.

    Hi polarmess,
    Welcome to the NI Discussion Forums and LabVIEW. The USB-6211 has (among other functions) 4 digital outputs and 2 counters. If the digital outputs are not sufficient for your application (e.g. not quick enough) and you also want to control each of the 4 motors individually, then then USB-6211 would not be suitable for this application.
    The NI sales team are always available to provide advise on hardware for specific applications, and I encourage you to call in to your local NI branch to discuss what the most appropriate hardware would be to control your robot. Our contact details are available via the contact link on ni.com.
    Regards,
    Imtiaz Chowdhury
    Head of Digital Technologies
    Brand786

  • How to generate digital pulses to run stepper motor in a sinusoidal motion profile using NI DAQ 6229 card

    Hi,
             I need to make a stepper motor undergo rotary oscillation with a sinusoidal motion profile. As it nears the extreme points it should decelerate and finally slow down to zero velocity and then it should reverse direction and accelerate until it reaches the other extremity where it should slow down and stop and reverse direction and repeat this motion.
            The hardware is NI DAQ 6229 and the stepper motor can be controlled using digital Hi-Low (1,0) pulses. For each high pulse(1's) the motor turns 1 step. I am able to generate a analog sine wave and convert it to digital data using Analog-to-Digital.vi  But i am not able to convert the digital data to a stream of 1's and 0's in the correct sequence to get the sinusoidal profile with the amplitude and frequency i require.
            The direction of rotation can be changed by giving a pulse to another input of the stepper motor. So only half cycle of sine wave needs to be generated and it can be replayed after changing the direction to get the full sinusoidal profile.
    Any ways of making this approach work or any new approaches to this problem would be helpful. Thank You.
    Regards,
    Prabu.
    Solved!
    Go to Solution.

    Hi,
             I finally figured out a way to do it. The analog sine wave is converted to digital and sampled. Consecutive values are compared and if the least significant bit(LSB) changes then a pulse is sent to the stepper motor to turn one step.
    I have included the sub-VI's that accomplish it for the particular stepper motor and connector block i have. The front panel of both sub-VI's are quite messy but the block diagrams should be much clearer. The sub-VI's get their inputs from a third VI which i have not included. So take a look at the VI connector panel to figure it out. Hope this helps. Kinda messy but worked out fine in the end for my application. 
    Thanks again for all the help. I appreciate it very much.
    Regards,
    Prabu Sellappan
    Graduate Student
    Aerospace and Mechanical Enggineering
    University of Southern California
    Attachments:
    start motor test waveform dtest.vi ‏73 KB
    sine profile generation subVI.vi ‏41 KB

  • Simultaneous Control Using GPIB / DAQ

    I am working on a project that is a continuation of a previous project. It involves controlling the temperature and pressure in two vacuum chambers. The original project controlled only one chamber and the original code contained a number of global variables. In order to control the temperature and pressure, the LabVIEW code reads in values from a data logger thru the GPIB interface. To regulate the temperature/pressure, a DAQ card is used to control a heater and a series of pressure valves. The client wishes to keep the original code and is asking me to incorporate code to accomodate the second chamber. One computer will be running identical LabVIEW programs(with different global variables and sub-VIs), one to control each chamber.
    I am fairly new to LabVIEW and looking for a starting place or sample code that I can look at. I have duplicated the current code, renaming sub-VIs and global variables. The solution I have come up with so far is to have a VI that does all of the reading and writing, but I am unsure as to how the chamber LabVIEW programs will access it whenever a reading is needed or the temperature/pressure needs to be adjusted.
    If further explanation or the original code is needed let me know, and thanks in advance for any advice that can be offered

    Hi lrsantos,
    It's unfortunate that you have to maintain the original architecture of the code, because this type of application would most likely be better implemented in a single top-level VI with subVIs. However, if that is not an option, I understand.
    So, using notifiers you are able to easily transfer information between "independently-running" VIs. There is a very good example program on this (Wait on Multiple Notifiers.vi) that ships with LabVIEW. You can access this by going to Help->Find Examples->Search "notifiers". This actually does almost exactly what you are thinking about doing. You can make a 3rd VI that reads the information off of the USB port and then sends that information (via Notifier1 or Notifier2, depending on the chamber) to its respective VI. For example, one VI would be waiting for a notification (and data) from Notifier1 and the other VI from Notifier2. You could then process this information accordingly. Like I mentioned, this shipping example should show you exactly how to do this with the exception of 1 thing. If you are passing notifiers between top-level VIs, you will need to write the "notifier out" to a global from your 3rd VI and read it back into your 1st and 2nd VIs (to be passed to Wait on Notification functions).
    As far as priority goes, you won't need to do anything. The way that I described the "3rd" VI as operating is more like a Producer of data and the "1st" and "2nd" VIs act like Consumers. Therefore, the Consumer VIs don't ever really "access" the 3rd VI, they are actually sent data from the 3rd VI.
    Hope this helps!
    Travis H.
    LabVIEW R&D
    National Instruments

  • Stepper motor closed loop control using 7344

    I have some question about the closed loop control of stepper motor using 7344. From the NI website I got that closed loop steppers work differently from closed loop servos. Instead of adjusting the output on each PID iteration like a servo system, closed loop steppers will do a pull-in move at the end of a move to adjust for any difference between the target position and the encoder feedback. By default, it will attempt the pull-in move three times.
    Now for example I got five points: (0,0) (10,20) (30 40) ( 31 60) (50 65). The request time interval I set as 10ms. This mean that in the first 10ms, the machine should move from (0 0) to (10 20). But for some reasons the machine can not move to (10, 20), it moves to (8,16) and the first 10ms passed. In the second 10ms, how it move? Move from (8 16) to (30 40), If like this, the following error will accumulated. In practise, it is not accumulated. Is there anyone can explain something about the closed loop control of stepp motor? Thanks a lot!

    Requested Interval is additional data for the Position buffer type. The Position buffer type requires a Requested Interval parameter, and indicates the time between contouring data points in milliseconds. For all other buffer types, the Requested Interval parameter is ignored.
    The controller will use the closest value it can that is greater than or equal to the interval value you requested. Your time interval must be an even multiple of the PID rate.
    For example, given a PID rate of 250 ms, a time interval of 11.2 ms between points is physically impossible, so a call to configure buffer with an interval of 11.2 causes the  buffer to actually be configured for 11.25 ms, since 11.25 is the nearest possible interval greater than 11.2. The following table shows valid intervals for each PID rate.
    My question is like this. For example I got five points: (0,0) (10,20) (30 40) ( 31 60) (50 65). The request time interval I set as 10ms. This mean that in the first 10ms, the machine should move from (0 0) to (10 20).  If it is impossible for the machine to move from (0 0) to (10 20), there are two ways to solve this problem. First is the time interval is 10ms and assume it move to (8 16) within 10ms and take (8 16) as the start point and (30 40) as the end point of the second move. Second is extend the time interval, assume it takes 14ms to move from (0 0) to (10 20). After 14ms, the (10 20) is the new start point for the second move. I think it works as the second ways.If not, the following error will accumulated.  Is there anyone can explain something about the closed loop control of stepp motor in detail? Thanks a lot!

  • How can I output a square wave to control a stepper motor using 7332 controller?

    I have the following system configuration for testing a linear actuator (LA):
    LabView 7.1
    NI FlexMotion 7332 Motion Controller
    NI Flex DMM 4070
    The LA is a stepper motor with Step and Direction of Rotation inputs, as well as some discrete I/O for Power Enable and other functions.
    The LA specification only requires that I send a 50% Duty Cycle square wave signal with frequency less than 300 Hz to it in order to make it step.  The LA has it's own power source.  I only need the 7332 to generate the drive signal and the DOR signal to the LA.  Using some of the example VI's, I can get the LA to work, but I will need to incorporate the functions in to a custom application. 
    How can I weed through the numerous advanced functions the 7332 offers and only generate a DOR signal and a step command at a user-defined frequency.  How do I set up the controller for this?
    Thanks

    Hello,
    All the VIs that you can use to create a pulse train and digital I/O from your motion controller are found in the "Analog & Digital I/O VIs" sub-palette in the "Flex Motion" palette. Use "Load PWM Duty Cycle" and "Configure PWM Output" VIs to create the square wave. Use the "Set I/O Port Direction", "Set I/O Port MOMO", and "Set I/O Port Polarity" VIs to create digital output. I hope you find this information useful. You can learn about the specifics of these VIs and their inputs/outputs in the NI-Motion VI Help.
    Regards,
    Aaron B.
    National Instruments

Maybe you are looking for

  • Left outer join VS Is NULL .. Please help me to understand this.

    Hi Experts, I have a requirement to use Leftouter join on a column. But unfortunately i couldnt implement this in OBIEE. so instead iam using = and is NULL condition. kindly help me to understand this or give me a solution. Advance Thanks I am pastin

  • Cost Center Text in MB21/MB22/MB23 for movement Type '201' ?

    Hello Experts, I have on issue in T-code MB21/MB22/MB23 . There is Cost center in these t-code, in standard setting cost center text appears but here only cost center text doesn't appears against that cost center . Please review that attached image t

  • How do I convert email and all attachments into pdf?

    I have multiple emails with attachments that need to be converted to PDF.  Using Adobe Pro 11 I can create an email that is pdf with the attachments embedded in their original format, but not as pdf.  I can "un-embed" the attachments and convert to p

  • MM - Provisional and Final Invoice

    Hi All, please, someone can explain to me in which way SAP standard manages provisional and final invoice process (it is clear in which way the Formulas work). Is it possibile to obtain several provisional invoices as much goods receipt and then, at

  • How make a domain name with BC

    I want to make my website with another domain name. (not http://blablabla.businesscatalyst.com but > www.namewhatiwant.com ) How do this change ? It's possible ? I don't want redirection... Because google adwords doesn't want redirection, and doesn't