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

Similar Messages

  • 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

  • Control two stepper motors with PCI 7332 for sinusoidal movements

    Hello,
    I am now using two stepper motors of RK566BAE (Oriental motor). I connected those two motors with UMI-7764 and PCI-7332. I designed to have independent sinusoidal movement of each motor. The first motor is wired to Axis 1 and the second to Axis 2 (of UMI-7764).
    I want to use Ni-Motion to create  a single VI in LabVIEW which helps to control both motors. But I have not figured-out how to obtain the movement I desired.
    Could you please advise me.
    Thank you so much.

    There are two ways to do elliptical arc moves:
    Use contouring two download target position arrays to the onboard buffer
    Use arc moves in combination with gearing (shipping example). This requires three axes.
    The 7332 doesn't support contouring and gearing and it doesn't provide a third axis, so there is no way to use this board for this type of moves. The cheapest NI board that supports elliptical moves in contouring mode is the PCI-7342. As the second option requires three axes, at least a PCI-7344 is required for this method.
    Here is a link to a feature comparison table for all NI 73xx motion control devices.
    Kind regards,
    Jochen Klier
    National Instruments

  • Have troubles switching between two ethernet stepper motors

    Hi,
    Please see the attached files.
    Only the Axis which was initialized first is moving. The same motor moves from Step 1 (Rotate)-->Step 2 (Tilt Up)--> Step 3 (Tilt Down).
    The other axis is not moving at all.
    Could you please help me solve this problem?
    Many thanks,
    Cathy
    Attachments:
    three-step_20150410.vi ‏49 KB
    probe_three-step-20150410.png ‏141 KB

    I have the same problem. Once one axis has been interacted with, any attempt to move (or do anything else) on the second axis moves the first axis instead. I've tried invoking Destroy Motion Reference and disabling the axis but to no avail. The only way I've been able to switch the axis is by aborting and restarting the VI.
    Attachments:
    Ethernet Stepper Foobar.vi ‏36 KB

  • How can I change the speed of a stepper motor?

    HSI bipolar Linear Actuator Size14, HSI Chopper Driver 40105, NI PCI-6052E, NI SC-2345, 2 SCC-DO01 modules, and SCC-FT01
    The motor works at one speed with a boolean array input, using the SCC-DO01.  But I need to be able to change the speed of the motor.  Specifically it needs to operate on several frequencies of functions of as displacement vs. time, such as sine wave, triangle wave, and square wave.  I tried to find information about using a digital pulse train but had no luck.  Is it even possible to accomplish with this hardware?
    Message Edited by Draben on 01-22-2006 09:43 PM

    In general E-Series DAQ-boards like the PCI-6052E are not very good for motion control tasks. The 6052E doesn't provide hardware timed digital I/Os so you can control the digital lines only by software. This is both slow and inaccurate as long as you are running the board under a non-deterministic OS like Windows.
    On a real-time OS the jitter would be better but still the frequency would be low and it would still be hard to program accurate acceleration and deceleration ramps.
    If you use the counter/timer instead of the digital I/Os you could reach higher velocities and a much better timing accuracy but it would be even harder to program acceleration/deceleration ramps which you will need if you want to reach higher velocities with your stepper motor. Additionally for motion control applications you may want features like limit switch monitoring and following error tracking which require again real-time capabilities.
    With this said I don't recommend the usage of a multifunction DAQ board as a motion control board. Please have a look at the NI motion control boards like the PCI-7332 which does all the motion I/O and trajectory control onboard.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • How can i control graph with two inputs?

    Hi,
        i would like to ask you about the graph with two inputs
    Normally, if i just give one input, they generate the graph with this input(y) vs time(x).
    But now i would like to get the graph with my two inputs in x axis and y axis .
    i want to control both of two axis. How could i do for it ?
    i attached the file that i try to use "Build XY graph" to control both x and y axis with random number .
    It can run but i don't know how come the graph show nothing. .
    Actually , it have to show something like wavefrom continuously. am i right?
    Could you tell me a way to solve it ? 
    >>>
    what i want to get is ..
    in Graph,
    for x axis , ditance (always increases)
    for y axis , vibration (vary)
    >>>
    Thank you so much for your time . I am looking forward your kindly reply.
    With Respect,
                            Su
    Attachments:
    using Build XY graph.vi ‏59 KB

    Hi NI9233,
    Mind me to interrupt, I am just helping Mike to explain what he meant to you, refer to the graph:
    Picture 1:
    Double click on Build XY Graph, uncheck the clear data on each call
    Picture 2 and 3:
    Change your formula node into +1 Basic Function in Functions Pallette.
    Hope that helps!
    PS: I am sorry for the size of the image, seems I made a mistakes when I saved the picture.
    Sincerely,
    Krisna Wisnu
    Message Edited by Krisna Wisnu on 11-19-2008 08:19 PM
    Sincerely,
    Krisna Wisnu
    Attachments:
    Clear Graph on Each Call.PNG ‏46 KB
    +1.PNG ‏30 KB
    +1_2.PNG ‏21 KB

  • Another Question...rotating on two axis

    Hi again. Well I have yet another question...how do I set a translation to rotate on two axis? Like I know that I can do:
    TransformGroup tg;
    Transform3D t3d = new Transform3D();
    t3d.setRotation(new AxisAngle4f(1f,0f,0f,(some angle)));
    tg.setTransform(t3d);
    for one axis (I just put the declarations in to show an example) but if I try to apply two set rotations or two Transform3D's it doesn't work...so how would I rotate on, say, both the x and the y axis? Thanks,
    Compaq

    in fact the best thing would be to get used to quaternions. I suppose some Java3D tutorials discribe it quite well.
    If you really want to use rotation on axis you have two solutions :
    create 2 Transform3D and apply the result
    Transform3D t3dx = new Transform3D();
    t3dx.setRotation(new AxisAngle4f(1f,0f,0f,(xangle)));
    Transform3D t3dy = new Transform3D();
    t3dy.setRotation(new AxisAngle4f(0f,1f,0f,(yangle)));
    t3dx.mul(t3dy);
    tg.setTransform(t3dx);
    (hum, at least i suppose it would work ;)
    or you can do that too :
    Transform3D t3dx = new Transform3D();
    t3d.setRotation(new AxisAngle4f(1f,yangle/xangle,0f,(xangle)));
    tg.setTransform(t3d);
    (in this case xangle must be != 0)
    I'm not really sure it will work so please tell me if it works. I've tried to help you twice today so you can send me some bucks to the folowing address :
    oh, ok mum i won't give our address on the internet ;)
    c ya
    GnG

  • How to find ANGLE B/W two edges in Oracle Spatial

    How to find ANGLE B/W two edges in Oracle Spatial. I have two edge connected on same node. I wanted to know the angle betwwn them. Can somebody help me out????

    Ok. My first example was an approximation. The farther you get north or south of equator, the more inacurate it gets.
    This one should do the trick with some degree of accuracy.
    declare
      PI constant number := 3.14159265358979;
      g1 sdo_geometry;
      g2 sdo_geometry;
      g3 sdo_geometry;
      angle1 number;
      angle2 number;
      FUNCTION POINT(P_LAT  IN number
                    ,P_LONG IN number)
        RETURN MDSYS.SDO_GEOMETRY IS
      BEGIN
        -- we load both the ordinate array and the point type because some spatial functions show inconsistent behavior
        -- it is not important for this example, just something to be aware of
        return(mdsys.sdo_geometry(2001,8307 -- WGS84
                                 ,mdsys.sdo_point_type(p_long,p_lat,null)
                                                      ,mdsys.sdo_elem_info_array(1,2,1)
                                                      ,mdsys.sdo_ordinate_array(p_long,p_lat)));
      END;
    begin
      -- For the example, project in WGS84
      -- g1,g2,g3 could also come straight out of the database as sdo_geometry
      g1 := point(50, 7);          -- Point A
      g2 := point(51, 7);          -- Point B
      g3 := point(50,10);          -- Point C
      angle1 := atan2(g2.sdo_point.x - g1.sdo_point.x,
                      g2.sdo_point.y - g1.sdo_point.y);
      angle2 := atan2(g3.sdo_point.x - g1.sdo_point.x,
                      g3.sdo_point.y - g1.sdo_point.y);
      -- depending on rotation and where we are on the planet, adjustments may be needed
      if angle1 < 0      then angle1 := angle1 + 2 * PI; end if;
      if angle2 < 0      then angle2 := angle2 + 2 * PI; end if;
      if angle2 < angle1 then angle2 := angle2 + 2 * PI; end if;
      dbms_output.put_line('Angle between the lines A-B and A-C: '||
                           round(sdo_util.convert_unit(angle2-angle1,'Radian','Degree'),1));
    end;
    Angle between the lines A-B and A-C: 90

  • Stepper motor 8SMC1-USBhF and power meter PM100D: how to merge the two VIs into one and make a XY graph of the current position and the power

    Hi there,
    I have a stepper motor (8SMC1-USBhF) and a power meter (PM100D). I want to measure the power while the stepper motor is moving, and obtain an XY graph with the current position on x axis and the power on y axis. So I just merged the two VIs together by copying and pasting, and created local variables for current position and readout value, and changed them to read, and then linked them to the XY graph, but apparently it doesnt work.
    So could you please instruct me how to merge them and obtain an XY graph appropriately?
    Attached are the two VIs.
    Thank you!
    Attachments:
    PM100D Simple Example.vi ‏42 KB
    StepperMotor.vi ‏97 KB

    Hello,
    The XY graph requires that each datapoint on the X axis corresponds to a datapoint on the Y axis.  To create XY data you will need to creat two arrays of X data and Y data with the same amount of elements then cluster the two arrays together to wire into the XY graph.  As an example take a look at the VI snippet below.  Is there a specific error being thrown?
    Regards,
    Isaac S.
    Applications Engineer
    National Instruments

  • How can I send email using two different email address that both link back to my one exchange account on my Ipad mini

    How can I send email using two different email address that both link back to my one exchange account on my Ipad mini? 
    On my PC I simply have a master return email address and use a POP for the secondary address.  Both are through the one exchange account without a problem.  I need to be able to do the same on my Ipad.

    Ah, I should have made that clear.  My domain didn't come from google.  It was purchased at and is hosted at dreamhost, but I haven't used their email servers in years - I just route everything through gmail.  I actually have a bunch of domains (with websites).
    Gmail has an option that lets someone with custom domains send (and receive) email through gmail using the custom domain once Google confirms proper ownership of the domain (to prevent spammers and such).  Gmail has a setting for "send email as" which allows gmail to be sent using a custom domain as the sender.  I'm pretty sure Apple's old mobileme had this feature too, but I didn't use it.

  • How to send report output to  two  detinations at a time from command line?

    Hi ,
    how to send my report to two detinations at a time from command line i.e FILE and Mail ?
    i created batchfile in that i mentioned one line for file(DESTYPE=FILE) perpose and another line for mail perpose(DESTYPE=Mail).i don't want to mention to lines.
    i want to send my report out put two destinations at a time insted of running two times.
    thx in advance.....
    raghu

    hello,
    did you try to use distribution for that ? check out the reports distribution facilities available in 6i.
    regards,
    the oracle reports team

  • Did you know how to link the text in two or more text boxes?

    Did anyone know how to link the text in two or more text boxes in Pages 5.0? Thanks for your answer.
    Qualcuno sa come collegare il testo in due o più caselle di testo nella versione 5.0 di Pages. Grazie per le vostre risposte.

    It's just one of the many, many features that have been eliminated or changed. Leave feedback for the Pages team using the link in the Pages menu and review & rate the new versions in the Mac App Store.
    If you previously had iWork '09, those apps are still in your Applications folder in a folder named iWork '09. You can continue to use them to get things done.

  • How to change co-ordinates of an internal table in page 1 & 2 using offline adobe forms?

    Hello All,
    How to change co-ordinates of an internal table(main window data) from page 2 onwards in offline adobe forms. For e.g., I need to print my internal table around 3-4 lines along with header&footer(only 1st page)in page 1. From 2nd page onwards Internal table should print header and use remaining page til end.
    Thanks in advance for your help.
    Thank you,
    Janakiram.

    Issue resolved...need to use content area option to achieve the same.
    Thanks,
    Janakiram.

  • How to use Batch operation for two xsodata services?

    Hi All,
    I have two xsodata services. How to use submit batch for two xsodata services
    Thanks,
         Mj

    Gateway Batch Calls from SAPUI5

  • How do I share files between two Macs on my wireless network?

    I have an iMac G4 and an ibook G3 on a wireless network. I have "file sharing" activated on both computers. (Also Appletalk, which may or may not be a misguided move, but I got the idea from OSX "Help.")
    When I try to get from either computer onto the other, my computer is recognized by name (another alternative is to log on as a "guest"). I'm prompted for a password. None of the passwords I use works. I've tried the administrative passwords for both computers.
    How do I get beyond this hurdle to share files? I've posted elsewhere to no avail. This must be an easy one. How do you share files between two macs on one network?

    Do your accounts on the machines have the same short name? It's an issue I've seen a few names.. one machine with bsmith, the other with bobsmith, but the long names for both being "Bob Smith". The login windows would confuse users because it showed their names, but because the short names didn't match, it wouldn't work.
    The password you should use is the administrative one, so I don't know why you're not having luck.

Maybe you are looking for

  • Can no longer see family purchase in iTunes using family sharing

    On all my devices the option to select another family member to view and access their purchases is gone.  All I can see now is purchases under my AppleID. I checked in iCloud and other family members are still setup to share their purchases so not su

  • Can't Back Up Mail Due To Numerous EMIX Errors -- Help

    When I try to drag my mail folder from Library to a backup hard drive, it begins to copy then quits, saying it couldn't read an .emix file. I delete that file, and the whole thing happens again. No matter what I try, it keeps finding .emix files that

  • T-code to see the report generated by a Report Writer.

    Hi, I  am new to report writer and need your help. I have a output which is generated  through a report writer. I need to compare the code that generated this output in development and production systems. The only information I have is  the library n

  • Getting Error with date parameter field -"Invalid DATE"

    Hi I created a report with 9.2 version. And  i created 2 date parameter fields in it. And within crystal reports it works fine. But If, I call from the VS2005 crystalreport.net(report document) SDK , i am getting error as Invalid Date" enter a Date V

  • List of Open Transfer Requirement(TR) - Reg

    Hi all I want to know about report :  List of Open Transfer Requirement(TR). Where i have to get the details. ie. Which table i have to get it? Can any one explain that reports briefly? Any Standrad T.code is there ?