ThorLabs stepper motors synchroniz​ation question

I want to synchronize the movement of two ThorLabs stepper motors which use ActiveX controllers. How can I make sure that the "move absolute" of both motors execute at the exact same time? I have tried putting them in different sequence structures and synchronizing them using 'rendezvous' but, even if the dataflow arrives at the same time to both, one executes first than the other.

Hello,
There is no way for you to achieve synchronization at a software level with your motors. One will always execute first once everything is compiled. You need to be looking into ways for hardware synchronization for these.
-Zach
Certified LabVIEW Developer

Similar Messages

  • 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!

  • What's the type of control for stepper motor?

    Hi,
    I'm using PXI-7358 controller, UMI-7774, Industrial Device NextStep third part microstepping drive, stepper motor SANYO-DENKI (type 103-8932-6421, NEMA42) and incremental encoder 3600 ppr (14400 count/round). I want to say what's the NI onboard type of control used to control motor step position? In the case of servomotor the type of onboard control is a PID, in the case of stepper motor what's the type of control? What's the MAX parameters to set for the project specific (overshoot, settling time, rise time etc..)? What does it means "Pull-in Window" e "Pull-in Tries" in MAX? So, it's possible control the stepper motor with user's algorithm control, excluding the onboard control?
    Thanks for your patience,
    Best regards
    Lorenzo

    >
    Matt wrote:
    > Go to SE24.  Type in cl_dd_document and press enter.  Select the methods tab.  Look for the method "CONSTRUCTOR".  Double click on it.   Click on SIGNATURE button.  The types of the parameters are clearly seen.
    >
    > matt
    TYPE and VALUES OF TYPE -- different things. For example, TYPE C -- CHAR. VALUES of this: A, B, C, ..., 1, 2, 3.
    Thus, return to question.
    TYPES: sdydo_attribute(50) TYPE c
    TYPE: sdydo_attribute
    VALUES: ???
    May be, value ABRAKADABRA correct?

  • How to run a stepper motor for an amount of time determined by a feedback?

    Hi,
    I'm using labview 8.6 and I'm trying to use a ORIEL sterppermike with a 20025 controller.
    I have implemented a VI that has a stack of commands in a for loop. Every loop has the following sequence of commands:
    command 1) start the stepper
    command 2) wait for feedback to reach a certain number
    command 3) stop the stepper
    command 4) wait a certain time before starting again 
    To start the stepper I use a subvi from the example folder:  
    C:\Program Files\National Instruments\LabVIEW 8.6\examples\DAQmx\Counter\generate pulse.llb
    --> Gen Dig Pulse Train-Continuous.vi
    I don't understand why the sequence get stuck at command 1 and never gets to command 2.
    I attach the vi for completeness. 
    Thanks to anyone that will help,
    Matteo 
    Attachments:
    SRL Matteo2.vi ‏121 KB

    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.
    Attachments:
    VNA & Motor Control User Interface.jpg ‏199 KB
    VNA & Motor Control User Interface.jpg ‏199 KB
    VNA & Motor Control User Interface.jpg ‏199 KB

  • Shared variable engine modbus - Getting a stepper motor to work

    Hello,
    I am new to Labview. I need to trigger the stepper motor to start by allowing current to run through the motor. This can be done by turning bit3 on the16 bit register 007Dh. The register address has been attached below as 007Dh.png so please view that before you go any further to have a better sense of what i'm trying to accomplish. Please also note that the decimal conversion of 007Dh is 125.
    So my question is, how do you turn on bit3 of that 16 bit address? How would you translate the holding registers from the manual
    into a 5-6 digit data item that labview can understand?
    (Please refer to this page for the types of data items: http://zone.ni.com/reference/en-XX/help/371618J-01/lvmve/dsc_modbus_using/)
    Attachments:
    007Dh.png ‏17 KB

    Hello Frank,
    Thank you for the help with the modbus slave simulator, everything worked just fine. However I still can't get the real device to work with labview. I am wonding if you can answer a question for me as I am not sure I can do what I want with the equipment I have. 
    What I need to do is turn a stepping motor on and off using Labview as well as get Labview to record the speed and position of the stepping motor over time. I have an AED-AD stepping motor driver made by Oriental Motors. I have attached the user manual in case you need to see it. I am conecting the motor driver device to a computer using an RS485 converter, which oriental motors suggested I use for the purpose of using Labview to collect data. 
    My question is, will this setup work for what I need to do, or do I need some kind of data aquisition device as well? 
    After I solve this, I will be adding three more motors to the Labview program monitoring the same thing as well as some pressure sensors.
    I have just finished my second year in the engineering program and have been hired as a research assistant to solve this problem so I am completely new to Labview. If there is anything else you can suggest to read or someone I can talk to to get more information about this type of control systems I would be very greatful. So far, I have been reading as much stuff as I can find about Labview on the internet but I have not come across anything that helps me figure out if my setup is appropriate for collecting data in Labview.
    Thank you again for your help and advice! I hope you are having a great weekend!
    Kind Regards,
    Meesh
    Attachments:
    HM-60065-3E.pdf ‏1787 KB

  • How to create stepper motor signal (myRIO)?

    Hi there,
    I'm fairly new to LabVIEW, and I'm trying to run a small stepper motor with ULN2003 based driver board (one of these) with a myRIO. I have gone through a few examples in the project guide to get a feel for things, but I can't figure out how to run this stepper.
    What I'm wondering is how do I create the signals to run to the IN1,2,3,4 on the driver board? What functions would I use?
    I don't have a deep understanding of LabVIEW yet, so any specific explanations are welcome. Or, if anyone has an example VI for doing this or something similar, I can just look through that.

    Hey GregRomero,
    I'd start simple.  You can control the stepper motor controller inputs using the Digital Output Express VI, but before you to that, play around with the LED Express VI so you can see how digital outputs work.  Create a VI that looks like this:
    Run the VI and click the buttons to turn on and off the LEDS.  Then switch the LED Express VI to the Digital Out express VI and choose the DO channels you've connected to the stepper drive.  Now you can use the buttons to set the digital outputs and use the logic table on the page you linked to set the motor step.
    Once you get that working you can replace the manual button presses with generated values to drive the motor.
    Let us know if you have questions about any of this.
    -Sam K
    LabVIEW Hacker
    Join / Follow the LabVIEW Hacker Group on google+

  • I need a stepper motor to run a metal sheet

    1.i am doing a project in labview .i need a stepper motor to run a metalsheet and i need to interface it with labview.specification of stepper motor is
    torque: 2n
    load  : 4-5kg
    arm   : 4 
    2. I am using a vision assistant in labview . If i store the script file in my desktop i cannot retrieve it, there is some win32 application error. How can i store my script file like a labview file  

    You are asking two different questions here.
    For question 1: Please stick to the original thread. You've already received numerous responses. If they are not adequate, please indicate what is not adequate in that thread, rather than making people rehash the same answers. 
    For question 2: This makes no sense. What script file are you talking about, and why would you want to store it "like a labview (sic) file"?

  • Suitable card for three stepper motors

    Hello everyone, 
    I want to ask which DAQ card would be suitable for controlling three (X,Y,Z stage) stepper motors using continuous and/or finite pulse generation.  X and Y stages have to be independent on each other (i.e. diagonal movement), Z one does not but it would be nice. Solution may include buying two cards to ensure the independency of counters.
    I have heard that for finite pulse generation two counters are used for one axis (stage). Does it mean I need a card with six counters? Or two cards with four and two counters? In that case, our lab is equipped with the old 6035E card providing two counters (unfortunately not independent in finite pulse generation mode probably due to the statement above), which could handle one of the axes. 
    I dont want to use DIO for pulse generation because there is no possibility to control the frequency of pulses. Frequency for the stepper motor varies from 1000 to 2000 Hz. 

    Hi Diego,
      There is a way to only use one counter to output a finite digital pulse train.
    Normally when performing a finite counter output operation, two counters are required. One counter is used to actually output the pulses and another is used to gate the first counter and therefore output a finite number of pulses.
    The way to accomplish this same behavior with a single counter is by setting up a continuous pulse output task with a start trigger and a pause trigger. The pause trigger takes the place of the second counter normally used as the gate signal, freeing this counter to be used for other operations. 
    Finally, an external source must be used to create a pulse of a desired width in order to achieve a finite pulse train that used a single counter on the PCI-6602.  In the case below the external signal is passed to Dev3/PFI0, which has been configured to be the pause trigger source terminal. 
    Pause triggers are only valid for continuous sampling mode with implicit timing. You can find the properties for the proerpty node in the following locations:
    Properties » More » Pause » Trigger Type
    Properties » More » Pause » Digital Level » Source
    Properties » More » Pause » Digital Level » Pause When
    For each property, right-click the terminal and select Create » Control or Create » Constant  from the shortcut menu.
    Keep in mind also that there are stepper motor controllers available from NI like 7332. For more information check the link above:
    http://sine.ni.com/np/app/main/p/sn/n21:6/ap/globa​l
    May you have further questions dont hesitate to ask!
    Best regards,
    David Varga
    Applications Engeneer
    NIH

  • Repeatable different steps of a stepper motor

    Hello everyone,
    I am working on a project where i have a stepper motor moving a plate and a signal sensor who measures a distance. I managed to initialize the signal so my initial position is the position where the sensor gives me the minimum value (Voltage).Each time the stepper motor moves, i define it from the front panel. My question is, how can my stepper motor moves automatically for e.g. 8000steps then without define it again for another 5000 steps or whatever i want with a time delay. The definition of the steps now is being done from DAQmx Timing>Samples per channel. I want to run the program and the steps to be already defined wihtout change them again and again from the front panel. I attach my current VI.
    Thank you in advance
    Attachments:
    (2nd version (a-D).vi ‏73 KB

    Hi Chris,
    not a problem, we all were new at some point. In case you don't know there are boatloads of classes you can access online with your License or even without one:
    Here's a small collection (courtesy of crossrulz):
    3 Hour Introduction
    6 Hour Introduction
    LabVEW Basics
    Self Paced training for students
    Self Paced training beginner to advanced, SSP Required
    LabVIEW Wiki on Training
    Learning NI
    Getting Started with NI Products
    And if you are a student you can take a real class with NI for a ridiculously small amount of money (say, 93%) discount).
    With start twice I mean that I was wrong in believing you did so, when I fact you started two different tasks, so: nevermind.
    PFI stands for Programmable Function Input, which is confusing because it is probably assigned to an I/O line. I just asked to find out what section of your code I have to look at. I'm still not quite sure about this, butI understood you want to move the motor, when you push a button. The only part of your code, where you even read a button within a while loop is for the Direction Line. Apart from that you just write the inputs once and then forget about the tasks (not even stopping them sometimes). I suggest moving the button that should move the motor into a while loop. 

  • Stepper motor overheat

    Hi all,
    I'm using the legacy motor CTP10xxx10 with motor drive P70530, on page18 the manual says "...If an equivalent heat sink is not used, reduce the default drive current for these motors by 25% to avoid overheating...", I did this by creating a new motor file using the file editor and entered the lower current into the box for "motor current" (the amps peak is auto-calculated). But the amount of heat is still large.
    My question is: do I need to modify the "peak torque" below as well? And how?
    Thanks in advance,
    -chen
    p.s. After I modified the motor file and performed a "Probe Stepper Motor", an error will show up, so I'm not sure the modification takes effect or not at all. Please any help is appreciated.

    First, not all current settings are created equal ... the effective current through the motor may be different from what you selected by driver configuration, depending on the wiring of the motor coils.
    Second, what do you call "a large amount of heat"? If the motor feels very warm when touching it with your finger, it probably has not more than 35 ... 40 deg Celsius (we do not use Fahrenheit over here...). Any motor will withstand such a temperature and even somewhat more. Check the manufacturer's data for maximum surface temperature of the motor housing, and measure it with an infrared or contact thermometer.
    If the motor is supposed to run with the full amount of current with a heatsink, reducing the current by 25 p.c. probably will result in quite a bit of heat of the motor WITHOUT heatsink. Reducing the current by 25 p.c. is not too much, however if it is specified like that by the manufacturer the motor probably will not be damaged.

  • Stepper motor drives

    Hi,
    I am developing a control system for the speed control of a gas turbine. So for that i need to change my present manual movement of the fuel valve to one by a stepper motor. The valve is very sensitive, so i need a high resolution stepper motor (100,00 steps per revolution). I have a NI CRIO and have a digital I/O module fit on the chasis. With the existing setup, i would like to know what is the best stepper motor i can get in the market with least modifications to my current setup. If such a thing is not available, then what is the next best choice. Can anyone please help me out on this.
    Regards,
    Umesh

    Hi Umesh,
    could you please provide some more information? First I feel a bit uncertain by the resolution that you are looking for? Do you mean 10,000 steps per revolution or 100,000 (with a missing zero at the end)?
    If it's 10,000 steps/rev, you could use a standard stepper motor (200 steps/rev) with x50 microstepping. If it's 100,000 you definitely will need a gear box. In general I would also recommend a gear box if you need 10,000 steps/rev, as x50 microstepping is already a quite high value, resulting in reduced accuracy (steps are not evenly distributed anymore).
    Some other questions:
    Could you please provide information about the required velocity and acceleration values?
    What about the inertia of your valve? Any idea about motor sizing?
    Which cRIO digital I/O module are you using?
    Are you using NI-SoftMotion?
    Have you thought about using cRIO drive interface modules (makes programming much faster and easier)?
    Have you already decided which power drive to use?
    Kind regards
    Jochen Klier
    National Instruments

  • Driving 2-stepper-​motor quasi-simu​ltaneously or simultaneo​usly

    Hi All,
    does anyone has idea how i can modify the attached vi to drive 2-stepper-motors in 1D quasi-simultaneously or simultaneously. my purpose is to drive 2-axial sealing punch for micro-hydroforming process. Each of the motor works fine (forward/backward) with the attached vi conf. for open loop stepper.
    my system; LV8.20, Controller PCI 7350, UMI-7764, Stepper-driver SMC32-3(nanotec), drive ST4218L1806-LC(nanotec)
    secondly what is the correct step-by-step order of NI-Motion flx to realiase motion controll program just like in LV vis. am new to motion controll.
    regards to all
    anyasodor gerald
    Message Edited by anyasodor on 02-13-2008 10:39 AM
    Attachments:
    OneAxisMove02.vi ‏42 KB

    Hi Jochen and all
    a little proplem now; what could go wrong with schrittmotor? one of my  schrittmotors now moves only backwards(+/-).
    second question; when i run both motors with the attached vi, one sees that one of the motors run on a low velocity compared to the other one instead of the same vel. as expected
    help pls!!
    regards
    gerald
    Attachments:
    Two-Axis Move01.vi ‏51 KB

  • Haydon Stepper Motor 21,000

    Hi,
    Is there a way to send digital TTL pulses from LabView or VI Logger to control the motion of a Haydon series 21000 motor? The parts we will use are:
    1) 21H4AB-2.5-016ENG---- captive motor -1.5" stroke
    2) E4P-200-197 encoder+encoder cable # CA 3285-1FT
    3) Bipolar Chopper Drive 40105
    Attached are the data sheets for the encoder, motor, and drive. There is also a load cell from omega that we are getting that will be used in a feedback loop. Ultimately, we want to get stress-strain diagrams and viscoelastic properties from biological materials.
    Sincerely,
    Chris
    Attachments:
    E4P%20Data%20Sheet.pdf ‏89 KB
    21000.pdf ‏446 KB
    HaydHybridDrivers.pdf ‏383 KB

    Hi Brian,
    How are you? Thank you for your helpful advice. It turns out we decided to go with your suggestion, and we have now in our possession the NI Motion Control software; the UMI-7764 interface; and the 73xx low cost stepper control.
    I have a question as we configure the system for our motion applications. We are planning to use this in conjunction with a device to measure stresses and strains in soft biomaterials. We have a load cell that measures minute forces and a stepper motor that applies known, minute displacements. Is it possible to do feedback loops, say, to make a loop that tells the system to stop once a certain force is reached? There are "analog inputs" on the UMI board I've noticed. The load cell outputs 0-7.5 mV. We would like to amplify this 0-7.5 mV to the full range of the input range on the UMI board, to reduce quantization error, but to get the gain factor, we need to know the range of these inputs, if these inputs are the way to go. What is the voltage range of the inputs on the UMI board? Is there a way to do control loops in NI Motion? I have all the manuals, but I could not find specifications of the input range in them. Thanks for letting me know.
    Sincerely,
    Christian
    Message Edited by aufgeschlossen on 04-10-2007 09:00 AM
    Message Edited by aufgeschlossen on 04-10-2007 09:00 AM

  • Which stepper motor is required to connect with labview

    title:fault detection in pen. i am doing a project in image processing using labview .i want to  interface stepper motor with labview using daq how can i interface and which type of stepper motor is suitable for rolling metal sheet in which the pen is placed at the top

    I would start with the motor and work down, Labview will woek with any.
    1.  Figure out how much motor you need: torque, speed, resolution, size (nema 23, 34 .....)
    2.  Select a drive for your motor: many diferent drivers to control a particular motor, How much current is required, motor voltage, inductance
    3.  Determine the interface to the controller: step and direction, cw/ccw, serial.  (I  like step and direction)
    4.  Determine support options for the motor, encoders, limit switches ...
    5.  Now you can select your ni card to match the interface, (NI Motion- good for copmlex interfaces and multimotor synchronization, Digital/ counter timers simple but limited conmplexity, less expensive but more software needs to be written)
    This all depends on budget and requirements.
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • 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 !

Maybe you are looking for

  • Hp 1510 printer not being detected by my windows Visa

    I recently bought an Hp 1510 printer and after installing the software i tried connecting the printer with my laptop with windows vista(home version) as the operating software. However the printer does not even get detected after connecting it via th

  • Screen resolution in T400

    Hi everybody I'm thinking about buying a T400 to replace my old T41. Comparing the features for the laptop, I've seen the native resolution for the T400 is 1440x900 while for my current laptop is 1024x768. In case of buying the new machine, I'd be us

  • How can I copy multiple text clips and paste them separetly?

    Vista OS

  • SRM 4.0 PO Approval Workflow

    Hi, I'm new to SRM and have been tasked with designing a Purchase Order Approval Workflow. Many Shopping Carts can be used in creating one PO. This workflow will have to only be approved (by the same user that approver the Shopping cart) if the PO li

  • AA close

    We have a scenario where we would want to seperate the last month into 2 periods and would include a 13th period (20 and 10 days). This means depreciation has to run for 20 days and then for 10 days as this would be a seperate period. I would like to