From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Setting up two axes to receive a positon command

In the document 'Implementing Feedforward Position Component on NI-motion Controllers', it mentions that both axis 1 and 2 need to be setup to receive the position command and that this could be done using a vector space. How exactly is this done? in MAX?

Thanks
J
0 Kudos
Message 1 of 5
(3,499 Views)
J,

the idea of the method described in the document that you have linked is to add a voltage that is proportional to the position of  an axis. As proposed in the document you could use two axes for the job - one to control the axis with PID and another one to generate the additional voltage.

As both axes need to start and stop in a synchronized way, you need to run them in a vector space. Typically you define a vector space in your application. I'm assuming that you are using LabVIEW, but the function calls are almost exactly the same in other programming languages.

To define a vector space call "Configure Vector Space.flx", (please refer to the shipping "Multiple Axes" examples of NI-Motion for further information). Axes that are combined in a vector space start and stop at the same time and that's what you want here.
Now you can provide two dimensional target positions (X,Y) to the vector space. While Y represents the real target position of your moving axis, X is proportional to the output voltage of axis1 at the end of the move. I would suggest to set the PID parameters of axis1 to to Kp=1, Kd=0 and Ki=0. This should provide the most flexibility in your application to add the amount of output voltage that is appropriate for the current situation.

In general this approach should work for the intended use case, but it is still a little bit cumbersome. Could you provide additional information about your application? This could possibly allow me to come up with an alternative approach.

Thanks and kind regards,

Jochen Klier
National Instruments
0 Kudos
Message 2 of 5
(3,474 Views)
Hi Jochen

Thank you very much for your reply, which I'll study in more detail and respond if I have further queries. Basically, I want to control a voice coil actuator, which will be moving against a varying non-linear load. While I have not tested my current standard PID control fully yet, I anticipate there will be stability issues with a non-linear load.

Regards,
J
Message 3 of 5
(3,461 Views)
J,

this sounds like a reasonable approach. For the case that you are looking for good information about tuning your system, please have a look at this tutorial.
If you need even more flexibility in terms of the control algorithm, you could consider NI-SoftMotion as a solution.


Jochen
0 Kudos
Message 4 of 5
(3,455 Views)
Thanks again Jochen
0 Kudos
Message 5 of 5
(3,441 Views)