Stepper Control

Hi all .
I am looking for some help and here is a simplified version of my project. I have a motor and 2 steppers  that I am trying to control. The motor rests on a table whose position is defined stepper 1 and stepper 2. My main problem is with the positioning sequence. States A through E represent different positions i would like to 'fire' at.   Position A is the resting position and the motor is always in the 'on' state.  At regular intervals ( 5 minutes )  or on demand ( 'press fire') a 'firing' event is triggered.  Whenever this happens I would like for the motor to stop and then the table to move from A to B and then back to A. When prompted the second time the motor stops and  the table moves from A to C and back to A and so forth. The cluster provided in the 'fire' event case are coordinates to the new position.  The order of movement is something like this:
First Time    ( 5mins)    =      A to B
Second Time(10 mins)  =      A to C
Third Time    (15 mins)  =      A to D
Fourth Time  (20 mins)  =      A to E
Fifth Time    (25mins)  =      A to B
The motor is also turned on after reaching the new position. I would like to know how to implement this sequence.  As it stands the table moves continuously in an almost random manner which is not what I want. Thank you in advance.
Attachments:
state machine.vi ‏33 KB

Charles.m,
I am not sure I completely understand what you are trying to do. Your simplified example is almost too simple.
I suspect that your problem is in the shift register and event structure in the upper loop. You have the output tunnel set to "Use Default if Unwired." Everytime any event case with that terminal unwired executees the value on the shift register is set to the default value for the enum, which appears to be "A."  When I wired through all the other cases and alternately hit the Fire and Start Motor buttons, it seems to go through the sequence you want.
Use Default if Unwired is useful for situations like the booleans connected to the termination terminal for the loop.  Only in the Stop case do you wire anything.  In most other circumstances, like tracking the position (A B C D), it is definitely NOT what you want.
Lynn

Similar Messages

  • Stepper control with labview

    Hello again,
    Im developing a project with a lazer pointer attached to a stepper motor, my program allows me enter a value and make the stepper  "step" a certain amount of times .This works ok but I have to stop the program running and start again in order to make the stepper step again.Is there a way that I can enter a value to make the motor rotate then enter another value to make it rotate again without stopping and starting the program. Ive attached my vi
    any input is much appreciated
    Attachments:
    jonnystepper.vi ‏133 KB

    Thanks!!
    Right here goes, the array in the while loop defines the sequence for half step mode, this array contains 48 values and therefore if all the elements are read this gives 48 (half) steps which corrosponds to 90 degrees of rotation (the motor gives 3.75 degrees per full step). The for loop part of the vi allows me to enter a value in to the control named index 2, the array in this part of the vi contains values that corrospond to a particular number of half steps.So if I have 48 in the first element and 24 in the second element this allows 90 and 45 degrees respectively, if 0 (first element) is entered into index 2 the for loop iterates 48 times and therefore I get 90 dgrees of rotation,if 1 (second element) is entered into index 2 then the for loop iterates 24 times and I get 45 degrees of rotation. What i would like to achieve is .......enter 0 into index 2 then start the program, when the motor has finished rotating  I would like to change the value in index 2 to1 and see the motor spin again without having to start and stop the program.
    Apologies for explanation........I hope you can understand the jist...please feel free to tell me if you think my method is incorrect or contrived
    with freunlichen Grüss

  • Best value stepper control solution

    Hi,
    I'm currently working on a university project to build a 2-axis traverse for our wind tunnel. We are going to be using stepper motors for the movement and controlling them through LabVIEW. I've been looking at motion controllers but have to admit I'm a bit confused about a few things. So far I've come up with two possible options but am unsure of the accessories I will need to achieve the functionality I require. Here are the options:
    1. PCI-7334 4-axis stepper controller (4-axis card instead of 2-axis so that a third axis of movement can be added at a later date)
    2. NI-9512 CompactRIO module x2
    I want to be able to control 2 NEMA-23 motors with quadrature encoder feedback using either P75030 or P70360 power drives. The main thing I'm confused about is whether I would need to buy the NI-UMI-7774 and/or NI-UMI-7764 for this or if the encoder and stepper drives could connect directly to the PCI card. Also are there any connectivity accessories that would be required for the NI-9512 or does everything here connect directly to the module.
    Thanks in advance for any help,
    Adam
    Solved!
    Go to Solution.

    Hi Adam,
    The two options of PCI-7334 and NI-9512 will both be suitable for controlling NEMA 23 stepper motors.
    I have found a few documents which will detail what you need for each of these options.
    PCI-7334 - http://www.ni.com/pdf/manuals/372324d.pdf
    NI9512 -  http://www.ni.com/pdf/manuals/375578a.pdf
    For more information on what comes with each module and the current pricing i would advise contacting our sales team for a more in depth discussion with you so that you get the best setup for your needs.
    If you are based in the UK or Ireland then you can call 01635 523545.
    Please post back if you have any further questions.
    Best Regards,
    Ben B.
    Applications Engineer
    National Instruments UK & Ireland
    "I've looked into the reset button, the science is impossible!"

  • Stepper Control with labjack

    Hi everybody,
    Im doing a project at uni that requires me to control a small stepper with labview. The program I developed can generate the correct binary sequence (using a 4 element array) but the problem im having is obtaining a high enough frequency to drive the motor at sufficient speed. Two pieces of hardware that ive tried to use are Labjack and NI ELVIS(to output the signals). I now Have access to NI DAQPad-6015.

    What frequency range do you need?
    Using discrete digital outputs toggling on/off, you will be limited by the iteration speed of your software loop. This is probably limited to 100's of Herzt, most likely less than 1KHz. Post your code, maybe we can help. Please note that software timing can be indeterminate due to Windoze overhead- the speed of your motor may not be constant. Also note that your stepper may stall out if you command it to accelerate too fast.
    The other option is that the DAQPad-6015 has 2 counter/timers that you can use to generate a wide range of frequencies and dynamically change and ramp up and down in frequency. But you would also need additional simple hardware (state decoder) to generate the 4 discrete phase signals that go to the motor drive electronics.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

  • Easy driver stepper control via digital outputs

    Hi, I have a couple little motors that I'm driving with a Sparkfun easy driver board. The board just takes in pulses, and for each pulse it gets it steps the motor one step. Another digital pin sets the direction. I have attached the VI.
    I have the digital PFI1 on my DAQ connected to the "pulse" terminal on the board, and it steps when you send pulses to the board. However, the DAQ seems to be operating in burst mode. If I set the frequency to 10 Hz, for instance, with a finite number of steps (say, 1000), the motor steps in little bursts rather than continuously moving. I scoped the output of the DAQ, and it does appear to be turning the square wave on and off.
    The pulse chain is initiated by:
    1. CO Pulse Freq, set to 0.5 duty cycle and the specified frequency using ctr1
    2. Implicit timing with finite samples, # of pulses is the number of user provided steps
    3. DAQmx Start Task
    I enter a loop to monitor the progress, which just checks DAQmx Is Task Done every so often and updates a counter.
    What is a better way to do this? Why is the counter operating in burst mode?
    Thanks
    Attachments:
    Stepper2.vi ‏51 KB

    Hm. It appears that Sparkfun has a number of defective units that behave this way. I think my code is actually fine.

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

  • Control a stepper

    Hi,
    I want control a stepper who needs pulses of 5V.With every puls it make one stepp.
    I want to increase and control the speed of the pulses.
    The pulses come from the counter of the connector block.
    I have a worse resolution (attachment) where this funktion works.But every time the while-loop starts I have a short break in the funktion and this
    makes big problems at higher speed.
    So what can I do to control the funktion during it runs?
    Thank you for helping
    Attachments:
    Stepper-control.JPG ‏57 KB

    See the attached, it is a simple program showing a continious update of a pulsetrain out of "dev1/ctr0".  Hope this helps.
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA
    Attachments:
    UpdateCounterFrequency.vi ‏53 KB

  • Stepper Pulse Voltage Level in Open Collector

    I am using the PXI-7344 Motion Controller to drive three stepper motors and 5 servos. I am running into unexpected problems with PXI-7344 Motion Controllers to drive stepper motors.
    Steppers are configured as CW & CCW and open loop.
    At first,I started with two PXI-7344 Motion Controller for 8 axes control.
    But two axes stepper control with two axes servo on a one PXI-7344 gave a problem that one of stepper axis speed was faster than a given command speed on a certain moment during all four axes were running simultaneously. In spite of new firmware upgrade, that problem could not be fixed.
    So now I am using three PXI-7344 Motion Controllers for 8 axes.
    The second problem is the output voltage level of stepper pulse.
    PXI
    -7344 Motion Controllers and stepper amplifiers are interfaced with "open collector".
    Stepper amplifiers are driven with +24Volts and +24Volts is supplied from stepper amplifiers.
    As hooked up to a scope to monitor,stepper amplifiers are working correctly as the output voltage level of stepper pulse over +15V for a rise but incorrect as below +15V causing fast speed and more pule move than the given command.
    The problem is that the pulse voltage level is not uniform for axes on PXI-7344 Motion Controllers. For an instance,Axis one always gives +15V pulses but other axes are not. And other PXI-7344 Motion Controller's axes always gives only around +13V level pulses even if it is new one.
    So it could not be replaced with other one except that gives +15V level pulses.
    Why does such strange thing happen?
    And how could that problem be fixed?
    Any help would be greatly appreciated!
    Thanks in advance.
    Choe

    Choe.
    The stepper outputs on the PXI-7344 Motion Controllers output TTL pulses ranging from 0 to 5 volts. I'm a bit confused by your explaination that the "PXI-7344 Motion Controller's axes always give only around +13V level pulses." Does this mean that the 7344 is outputting 13 volts, or is this the output of the stepper motor amplifier? Also the voltage level of each pulse should never effect speed, just torque.
    I recommend going to www.ni.com/ask and contacting one of our NI-Motion specialists. That may provide a better forum for getting to the heart of your odd behavior.

  • How can I use flex motion control VI without hardware?

    I would like to try and simulate the motion control of my system before i hook up the motion control card. But when I use the VI in flex motion contro took kit it asks for address or something and gives me an error. Can't I just simulate without hardware?

    Hello,
    The only way you can use FlexMotion without any hardware is to set it up as Open Loop Stepper Control. Otherwise, you will get errors when no encoder signal is fed back to the controller.
    Please let me know if you have any further questions.
    Regards,
    Andy Bell
    Application Engineer
    National Instruments

  • What are resources that one has to use motion control in LabView?

    I am a newbie at Labview and I am trying to get a stepper motor to drive a shaft for one rotation (the shaft is attached to a bearing which will rotate a laser around a fixed object in the center). I am very limited in experience and I am wondering if ValueMotion is the way to go. Do you have to purchase the PC controller from NI to use value or flex motion? It would appear that using the intialization and setup VI's that ship with LV 6i would be the easiest and quickest route.
    What demos/programs for labview will be best in helping me in my efforts? I have yet to even select the controller or stepper motor for this application.

    Hello Graymalkin79...
    LabVIEW and an NI motion controller for your PC are an excellent combination for the application that you describe. To answer your specific questions...Yes the ValueMotion and FlexMotion VI's require a PC based controller from NI. For your application, either the 7334 stepper controller (ValueMotion) or the 7344 step/servo controller (FlexMotion) will do the trick. For straighforward stepper control as you describe in your application, ValueMotion is fine and the VI's for init, setup and operation should have you up and running quickly. FlexMotion provides a significant level of motion capability and overall system integration that may enhance your total application, but that's difficult to determine from your brief description.
    Most
    any Stepper Motor requires a power driver unit like the MID7602, and the selection of this component really depends on the motor that you choose and its associated torque and speed requirements in your system.
    Both ValueMotion and FlexMotion VI libraries provide motion demos that you can use interactively as well as VI's that you can integrate into your overall laser based LabVIEW application.

  • Question of Requirements for Servo Project (Beginner to Motion Control in NI)

    Hello, 
    I need to automate the rotation of an object while measuring the resistance/required torque and rotation angle. This should be achievable with a servo motor with torque feedback, if I've been informed correctly. I will then need to compare the torque vs. angle curves and produce some kind of output depending on that analysis.
    I'd like to ask from those more experienced:
    I have experience in LV so I would like to have that as the programming environment. What other components will I need to control a servo in this fashion (with feedback control and the ability to send a digital output dependant upon the results of my analysis)? Any recommendations? 
    Thank you. 

    Thanks for the response.
    I see now. I didn't know this holds for servos as it does for DC motors.
    To reiterate:
    In essence I need a system to do the following:
    1. When triggered by existing PLC system to "GO", begin.
    2. Actuate servo or stepper a certain # of revolutions, measure/calculate torque with T=KI proportionality.
    3. When revolutions finished, go back. Analyze Torque vs. angle curve. 
    4. Depending on result of (3), either send PLC system "TRUE" or "FALSE". 
    That is essentially all. this system would fit between two stations of an existing PLC system. I want to program the servo or stepper control with LV. 
    However, I don't know where to begin. What would one need? Should I use a stepper or servo? In addition to the controller and servo/stepper, what else do I need?

  • 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

  • Stundent Project- Remote Controlled Microphone Stand

    Hey guys i am working on a student project which involves putting
    together a business plan for a product. the product i have chosen is a
    Remote controlled microphone stand for sound recording facilities. If
    anyone has any ideas on what i might use to put something like this
    together snd how much it would cost please share them.
    Basically the stand will have two moving parts, the height of the
    centrepiece, and the microphone clip which is at the end of an arm.
    This ideally would be hinged on a ball and socket. but thats about it.
    I am totally new to this area of motion control so anything would be
    helpfull thanks!

    Mish,
    Ali is absolutely right in recommending stepper motors. They are usually the best (also the cheapest) means of motion and position control. However, in order for the stepper to maintain position (i am assuming that you would need it to) it needs to be energized the whole time. This could possibly be circumvented by having the user clamp down the position after it is set automatically. I can think of many ways in which this can be done (manually or programmatically) and I would be happy to explain if you want me to.
    National Instruments has products that help you develop a whole stepper control system. Here is a link if you are interested in the details: http://zone.ni.com/devzone/cda/tut/p/id/4165
    Also, in order to convert the rotational motion of the motors to linear motion, you need a "linear stage". You would need a really small stage, the likes of which are used in benchtop microscopes. Look at this website for such products - http://www.mechatronictechniques.com/products. To perform this translation from rotational to linear motion, stages use the principle of a "ball screw". To learn more about these, you can read this: http://en.wikipedia.org/wiki/Ball_screw.
    Hope this information helps.
    Jaidev Amrite
    Applications Engineer,
    National Instruments

  • Whether the NI step controller can control the digital servo driver and motor

    I want to you can help me confirm whether the NI step controller can control the digital servo driver and motor.If can,what is the differents between servo controller and step controller to control servo motor?Thank you so much!
    Best regards

    The PCI/PXI/FW 7344 high precision controller can be used to control both steppers and servo motors. The older PC Step controllers are made for stepper only control. The difference in the two control types is with stepper control, the controller outputs two digital signals that control the step and direction of the motor. The drive uses these digital signals to energize the stepper phases and commutate the motor. In a servo system, the controller outputs a -10 to 10 Volt analog signal that the drive then uses to output the appropriate current to the motor which is proportional to torque.
    You can get more information from the following website:
    http://zone.ni.com/devzone/devzone.nsf/webcategories/69771825AE23E98E86256786000BEA02?opendocument
    Please let u
    s know if you have any further questions.
    Regards,
    Andy Bell
    Applications Engineer
    National Instruments

  • PCI6602 for motion control?

    Hi, I am wondering if it is possible to use the pulse generation of the
    PCI6602 to control a stepper motor
    driver, the problem is that I need aceleration and deceleration in the
    pulse train.
    I'm using the PCI6602 for event counting (~ MHz), and I need to
    synchronize the data acquisition to the stepper motor pulses at a rate
    of ~10 KHz. It would be nice to use a single card for both acquisition
    and motion control.
    thanx,
    Stefano

    Stefano,
    Yes, you could use the PCI-6602 to control a stepper motor. This will require two counters per stepper axis to control the step/dir or CW/CCW lines, or one counter per axis if you only want to move in one direction. You would need to programmatically ramp up the pulse rate to control acceleration. However, since updating the output pulse train frequency is software timed, acceleration may not be very smooth and you risk losing step. Also, you would need to manually handle any pull in moves.
    While you could achieve reasonable stepper control with the counter board with some trial and error, the PCI-7334 would probably be a better solution. This controller easily handles acceleration and deceleration and allows you to route the encoder signals over the
    RTSI bus to control the data acquisition process.
    Regards,
    Brent Runnels
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Preview's PDF text select ignores columns and misses word spaces

    I have a number of scanned pdf newspaper articles that I was attempting to copy the text from. Preview appears to register the existence of columns, as there is a pale blue background between the columns. However when I use the text select tool, it c

  • Window Controls Missing?

    Okay, back in my previous OSX, if I opened a folder I got a window with various control icons across the top.  Among them, on the far right, was an oblong button that toggled this control bar visible or invisible.  In Lion, this toggle button has dis

  • W530 graphics performance

    Hi, all -- My purchase decision is between the T530 and the W530. Does anyone know the difference in performance between the T530's NVS 5400M and either the W530's K1000M or K2000M graphics?? Unfortunately, the sales guy I talked with drew a complete

  • Finder becoming unusable

    Finder is failing. Today, I've had to reboot my MBP 3 times in order to finally get a working Finder - it hung at various times after booting - once during a disk verify, once 15 seconds after booting with only the MBP disc icon on the desktop (gave

  • HP Deskjet 1000 stopped printing

    Running Slackware 13.37, on 1686 with Athlon AMD XP2200+ under cups 1.4.6-i486 and HPLIP 3.113a on kernel 2.6.3.7.6-smp. Was printing fine when ink ran out, installed new black and ran hp-levels showing 80% color 100% black.  Tried to print from Fire