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 possibleHi 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 -
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 KBHi, 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] -
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 KBHi 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,
-MarkGreetings, 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 ZeylikovichRoman,
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
-
A lot of my saved passwords are for different pages on the company internal network. Since there is only one password for all these pages it would be easier if I could change all of them in one go when I change the password. I haven't seen any way to
-
Business System in XI not able to attach Receiver/Sender interfaces.
I understand the difference between Business System and a Business Service (as I can read sap help and the previous posts on this subject thankyou). I have a 3rd Party Warehouse system (Manhattan). I have defined this in the SLD and imported this in
-
Why can't I sign a document?
I have adobe reader v 11.0.04 and for some reason everytime I import a document (PDF) and click on the sign tab to try and place a signature, everything in the sign tabis all grayed out. Please help. OS: 10.9 ( wouldn't work on 10.8 either) The probl
-
Pages 4.2 update doesn't run with Snow Leopard
I keep both Montain Lion and Snow Leopard on the same computer, different partitions. After upgrading Pages this week, it no longer runs under Snow Leopard. The icon changes and a launch message says I can't use this version with Snow Leopard. It lo
-
Change DataSource of fields via code
Hey there, is it possible to change the properties Name and FormulaName of the FieldObject programmatically (c#)? Both properties are readonly. We need to replace the fieldnames of many reports which contain a big count of fields. We don't want to do