Creating the Equivalent of a Single Axis Stepper Motor Indexer in a cRIO

I am looking for some FPGA code that implements a complete (or near complete) Single Axis Stepper Motor Indexer function on a cRIO using an NI-9474 DO module. 
For those that aren't familiar with the term "indexer", an indexer is a pulse generation subsystem that provides pulses to  a stepper motor driver that in turn drives the windings on a stepper motor. Some vendors provide a combination indexer/driver units that are issued motion commands via a number of communications standards.
The FPGA indexer should:
Output pulses in the 1Hz-800KHz range.
Run the stepper at constant velocity continuously or for a fixed number of steps.
Implement an acceleration/deceleration ramp when changing velocity.
Implement clock-wise and counter-clock-wise limit switches.
I  have some demo code provided from NI that proves to me that an FPGA indexer is feasible, I am looking for some examples of a more complete indexer.

I am not aware of any examples of this being implemented.  You mentioned that you have some demo code.  Where did you get this, and if it wasn't from the website, could you post it?  It is very possible that you can build off of this example to get the behavior you'd like.
Regards,
Burt S

Similar Messages

  • What is the best way to create the layout for a single page website in Adobe Muse?

    I was wondering the best way to create the layout for a single page website in Adobe Muse. Does anyone have any suggestions?

    I know how to create a website but will that help me create a single page website? Below I will leave a demo of what I want. I want it to only have one page but multiple sections. What is the easiest way to create a single page website like the demo below?
    Demo Website

  • What are the pin connections from 7764 to stepper motor drive

    what are the pin connections from UMI 7764 to stepper motor drive? I use PCI 7340 controller. Third party driver  is not branded, but assembled.  It has 3 inputs, one for (A,A/) one for (b,b/) one for enable, apart from ground pin.

    Dear enigmata,
    Here is a link to the UMI Manual that describes the signal connections:
    http://www.ni.com/pdf/manuals/321941b.pdf
    What you really need is the documentation for the input of the "translator" mentioned on the left side of the last diagram you posted. It is still not possible to tell which of you drive inputs correspond to step and direction (or CW, CCW) because in the circuit that you posted, these signals have already been converted by other circuitry in the drive to the A, A/, B, B/ output signals for the stepper motor.
    I agree with Jochen: Without the documentation you will need to test it out as he described in his last post.
    Best Regards,
    Nate Holmes
    National Instruments

  • SSRS 2008 - create the interval values in y-axis dynamically

    Hi All - 
    I have a report which has number values in y-axis and date in x-axis. This is a clustered column chart, the problem is for a particular date if one of my value is very huge say (in Thousands, Ex: 10000) and another is small (Ex: 120). In this case my small
    value bar is hardly visible.
    Hence in this case, I was looking around for an option like below, the y-axis interval needs to change dynamically based on value (i.e) until a threshold value the interval should be fixed say incremented by 120, once it reaches a threshold (Ex: 360) it
    should be auto (i.e) if the max value for that date is 3800 after 360 the interval needs to be in thousands or more based on the need.
    So based on the above explanation i would want the values like below for my y-axis -> 120, 240, 360, 2000, 4000.
    Please let me know in if this is possible

    Hi smurug,
    Based on my understanding, you are creating a 3-D Clustered column. And you want to make the Y-axis values distribute uniformly, right?
    In Reporting Services, there is a scale break feature which can display two distinct ranges in the same chart area, then to make Y-axis values distribute uniformly. However, this feature is not supported in 3-D Clustered columns.
    For more information, please refer to this article:
    Displaying a Series with Multiple Data Ranges on a Chart (Report Builder and SSRS).
    In your scenario, if you want to make Y-axis values distribute uniformly, you can add a secondary vertical axis to display those too larger values. Please refer to steps below:
    1. Go to Series Properties, enable secondary vertical axis, then design the report like below:
    2. Preview the report.
    Reference:
    Adding a Secondary Axis to a SSRS Chart
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • How do you create the equivalent of a named  range in Numbers for iPad?

    At first I didn't think Numbers could handle named ranges but when I look at the formula written for the "Personal Budget Template"  The "Actuals" column is calculating using named ranges but I am not sure how the ranges were created...  In any case it does appear that there is a way.  Does anyone know how?

    Those technically are not named ranges. Its using the information in the "header" rows. Once you make a row a header row and sum it (or include the whole colun in some function). It will use the data/name in the header row in the equation to make it clearer. I do not think you can make named ranges in Numbers.
    I made a test excel workbook using two formulas to sum a range, one with named ranges one without and sent to my ipad, when i opened it up...and downloading... yep...  it converted the named range to a regular range with letters and numbers. no named ranges support.
    But learn to use your header and footer rows to get the same affect in many functions.
    When i assign both header rows and columns to a table, it combines them into one string to show "Jan 2001" when I had a header column with Jan in A2, and a header row with "2001" in B1, then used the value in an equation.
    The one your looking at I think says something like "=Sum(actuals)". that formula is in a designated footer row, and has a designated header row. at the top of that column is the label "actual". if you look at the difference column formulas, you will see how it combined header rows and columns into a single text string and use it to cross reference the cell being used.
    Jason

  • How do I co-ordinate a two axis stepper motor/encoder system to move sinusoidally?

    I am trying to add a second (lateral) motion axis to a tow tank assembly. The goal is to have the combination of lateral and longitudinal motion trace out a sinusoidal path. Any help would be appreciated.

    If you are using a 7344 board then it would also be possible to do circular moves instead of using contouring. In your case you would need two 2D vector spaces running circular moves. You would only connect the first axis of each vector space to your drive while the other one is running as open loop stepper so it doesn't need any feedback signals. In this configuration the first axis of each vector space is doing a sinusoidal move.
    Regards,
    Jochen Klier
    Applications Engineering Group Leader
    National Instruments Germany GmbH

  • Looking for a controller/driver for the Haydon S&I 43000 series stepper motors.

    There are some Haydon steppers listed as compatable on the motor adviser page, but I don't see the 43000 series.

    Here is a pdf of the specs I have.
    Attachments:
    Haydon_Motor.pdf ‏185 KB

  • Is it possible to use the parallel port to control a stepper motor (compumotor s6-drive)?

    I'm using a compumotor S6 drive and I was wondering if I could somehow use Labview to program the parallel port to send the required step and forward backward signal to the controller and motor. All I need it to do is go back and forth at a user defined rate. Considering I know very little about Labview this is a daunting task indeed.

    Hello Tiano!
    I found an example on the www.ni.com website named "Reading from the Bi-directional Parallel Port."
    Here is the link: http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B123AE0CBA4C111EE034080020E74861&p_node=DZ52058&p_submitted=N&p_rank=&p_answer=&p_source=External
    Hope this and the other documents help you along your way!
    BB_Phil

  • Does Muse have the equivalent of a table?

    I need to create a grid (with borders) of pictures and text, just like the old html tables.  Does Muse have a widget or feature that creates the equivalent of a simple table?  I would like to be able to specify the number of rows and columns and get the equivalent of a table.  I would prefer to avoid doing this one div cell at a time or via html.  Is there anything built into Muse to do this?  If not, what is the best design alternative?

    You will probably do better asking in the Muse forum here:
    Help with using Adobe Muse CC
    --OB

  • How should I tune the PID to improve 'Jog Axis' reponse?

    In MAX the 'Jog Axis' reponse as the accessory.
    When decelerating the velocity, it exceed zero more to a large negative velocity. And this makes the settling time long.
    How should I tune the PID to disappear the phenomena? Anybody can tell me?
    Thanks a lot.
    Attachments:
    Jog Axis.JPG ‏146 KB

    Hi, Jochen. Thanks for your answer. Now I try to express my question in detail.
    System: 2_D position table (50mm*50mm)
    hardware:  PCI7344 + 2 voice coil motor + driver(no feedback,just a amplifier) + 0.5micron encoder(Renishaw) as the position feedback
    software: Labview7.1 + MAX3.1
    Aim: To get the setting time of single axis lower than 40ms (even if there is some overshot)
    The document you mentioned I have read before. When I tune the servo,'Auto tune' can't get meaningful parameters. So all the time I tune it manually.
    1, About Step reponse: I can get a setting time lower than 40ms(step 1000 counts + 200 sample) by accident, but the same PID I can't get the good result all the time.
    2,When I use 'start motion.flx' moving 6000 counts (400000 counts/s+32000000 counts/s^2+S curve time 3) or use 'Jog axis',the setting time are more than 100ms (see axis.jpg). I try to increase the Td or Kd. It can change the overshot, but the setting time is not ideal.  IF Kd too large, the system will unstable.  I think maybe the aim is unpractical, right? Jochen, has you tune some table whose setting time lower than 40ms using 7344?
    3,what's the relationship between 'step reponse' and 'Jog axis'.Should I tune the PID according to 'Step reponse' or 'Jog axis'? (In 'Jog axis', the velocity and Acceleration and Deceleration also play an important role.)
    4,The driver have no current feedback.I guess it is an important problem.what'a your opinion?
    Attachments:
    jog axis.JPG ‏143 KB
    jog axis2.JPG ‏143 KB

  • Is a stepper motor the most accurate way of turning an object a predetermined angle?

    Hi guys,
    I am starting a project in which I need to rotate a small object (about the size of a calculator), on a stage, in increments of ~2-5 degrees a number of times. 
    I have used LabView software previously  and it seems the right choice to carry out this part of the project. 
    Would a stepper motor be the most accurate option for this? What are the other options?
    Apologies if I have posted this on the wrong 'board',
    Thanks!

    A stepper motor is probably the way you will have to go if you need to continously rotate the object without returning to an origin position. Like if you need to step it 2 degrees clockwise a thousand times, you need to use a stepper motor. A regular motor with an encoder can be used but you wont have the precise control you are probably looking for. This where a pulsed width modulated motor control unit is typically put into the system. I believe NI has some modules that do this but I have never used them.
    [will work for kudos]

  • 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

  • Can I get a stepper motor to work useing an AO channel on a DAQ card?

    Can I get a stepper motor to work useing an AO channel on a DAQ card? I know its a very low currentl coming out, but what Im going to be using the motor for is very weak. Has anyone tried this before? I certinaly dont want to spend 2,000+ on somthing that will be basicly moving a string on some pullys back and forth.
    Thanks,
    -Mark

    Greetings, Mark
    You can certainly use the A0 as a driving signal, but you need to amplify the current considerably to run a stepper motor. Additionally, most stepper motors require multiple phase driving signals to work properly. If I understand your application, I believe a stepper motor is a bit of overkill...you only want to use them when precise positioning and repeatability is an issue. You might look at some of the linear actuators available.
    Eric
    Eric P. Nichols
    P.O. Box 56235
    North Pole, AK 99705

  • How can I control 3 stepper motors w/ amplifier by sending TTL pulses from DIO96

    We have NI PCI-DIO-96 board and we have 3 stepper motors with amplifier and encoders. We want to control the motors by sending TTL pulses directly from the DIO-96 board to the amplifiers. Is this possible? What would you recommend if this is not a good approach? Thanks in advance.
    Roman Zeylikovich

    Roman,
    Thank you for contacting National Instruments. While using a motion controller would be the recommended approach for any type of motion application, you may be able to use your DIO board to generate a TTL pulse train to control the step and direction inputs of your drive and motor. You will need to make sure that the current sinking and sourcing specification for the DIO-96 fits your stepper motor. That board is not designed to source very much current at all so this is one issue you will need to verify. Also, this board does not have any counter/timer logic that can handle quadrature encoder inputs.
    Again, this digital device is probably not the best solution to control a stepper motor, but, depending on your hardware, could be configured to work proper
    ly. The PCI-7334 is a low-cost stepper motion controller that can control up to 4 axes and is designed to easily accommodate these types of applications. You can browse through more information on our Motion controller boards at the following website:
    http://sine.ni.com/apps/we/nioc.vp?cid=3809〈=US
    Let us know if you have any more questions or comments.
    Regards,
    Michael
    Applications Engineer
    National Instruments

  • Stepper motor noise in 1 direction

    Hi guys, i'm currently using my 6221 DAQ to provide the pulse train to drive my stepper motor (through a stepper driver). But i'm currently having a problem. The motor always produce clicking noises when i run it in 1 direction. I've tried swapping the driver and checking the cables but to no avail. Based on your experiences, what may be the problem here?

    Thanks Jochen for your reply.
    >As I have posted many times in this forum, I'm not a fan of using DAQ boards for controlling motors (e. g. here, here and here).
    Typically the costs that you can save by using a >cheaper DAQ board
    (compared to a motion control board) will be wasted rapidly by the
    additional time that you need to spend for implementing a solution that
    is anything but ideal.
    Well, sometimes tasks are given to us just like this...
    >But anyway.
    >Which part of the 6221 are
    you using to control the motor? (DIO, AO, Counter)? Are you using
    software timing or hardware timing?
    I'm using AO to generate the TLL pulses. I'm using software timing
    >Have you checked the electrical
    signals with a scope? There is a chance that the control signals are
    pulled down by low-impedance inputs of the drive. E. g. if this happens
    to the Dir+ signal, you may see the problem that you are talking about
    (ok, when Dir+ signal is low, not reliable if Dir+ signal is high).
    I've checked the pulse train for both forward and reverse action and it both looks the same. My Dir signal is driven with a DIO line. How would i know if my Dir signal is causing the problem? I haven't thought of probing it with the scope yet but what kind of 'unreliability' should i be looking for? Isn't it just 5V and 0V?
    And if Dir signal is the problem how can i rectify it?
    >By the way: NI motion control boards provide open collector outputs that allow to drive up to 64 mA.
    Mine requires 1.5A
    Attachments:
    Pulse train.JPG ‏65 KB

Maybe you are looking for