Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Does the Velocity Feedforward PID parameter function on a slave geared axis?

I'm using electronic gearing to slave an axis to a master axis.  I have the PID settings identical between the two axes, including the Vff parameter for Velocity Feedforward.  The Vff seems to be having the expected effect on the master axis, but the slave axis appears to be ignoring the Vff parameter.  Since I'm geared to an axis (as opposed to an encoder or ADC channel) I expect that all of the PID parameters should function normally.  The other PID parameters do, in fact, behave as expected, but the Vff just doesn't seem to affect the slave axis.  Is this expected behavior for some reason, is it a bug, or is there some other setting I need to be aware of to get this to work.  I really need the Vff to get decent motion from these axes.

 

Best Wishes,

 

Matthew G. Harrison

Systems Engineer

Moore Good Ideas, Inc.

0 Kudos
Message 1 of 7
(5,108 Views)

Hi Matthew:

 

I'm not sure whether this will have an impact on the answer to your question, but just in case, is this a stepper motor setup or servo?

Alex Person
NI-RIO Product Support Engineer
National Instruments
0 Kudos
Message 2 of 7
(5,086 Views)

Hi Matthew,

 

in general I would expect the control algorithm not to change when switching to geared mode. That's really strange, but anyway. I have seen that you have an open service request with an NI Applications Engineer in Austin and he should be able to clarify this with R&D.

 

Here are just some ideas for potential workarounds:

  1. Vff is typically required to reduce following errors when using drives that run in velocity mode. You may be able to get rid of this requirement by configuring your drives in torque (current) mode.
  2. As another approach you also could load the same move constraints for both axes independently while inversing the target position for the second axis. Then you could start both axes simultaneously.

When using geared axes, the slave axis is geared to the encoder position of the master axis. Maybe this is the reason why you Vff doesn't seem to work but I'm not sure. In contrast to gearing the 2nd approach that I have described, doesn't provide real gearing but only a setpoint synchronization which might cause issues when the master axis hangs a bit while travelling. Still even in geared mode a similar issue could occurr when the slave axis hangs, as there is no feedback to the master axis about such a situation and you could also run into problems with mechanical torsion. With this said the second approach is not so bad compared to gearing, as long as you keep the maximum allowed following error within reasonable limits.

 

I hope that helps,

Jochen Klier

National Instruments

0 Kudos
Message 3 of 7
(5,083 Views)
They are both servo motors with identical gearboxes.
0 Kudos
Message 4 of 7
(5,080 Views)

Hi Matthew,

 

as Vff is only relevant for servos that was quite clear. Any comments about my suggestions?

 

Thanks,

Jochen

0 Kudos
Message 5 of 7
(5,072 Views)

Jochen;

 

I apologize for not directly addressing your detailed comments more promptly.  I was attempting to respond to the earlier question from  "A Person".

 

I have requested the electrical engineer working on this machine to investigate whether reconfiguring the drive controllers to torque mode is an option he is willing to pursue.  It sounds like the NI motion controllers prefer this anyway and regardless of my specific slave-axis problem current mode may give generally better performance.  This is my preferred solution at the moment, but it may end up being out of my control.

 

I have already considered your second suggestion, and I may end up having to do that, but it will complicate my code because these drives make a variety of buffered and unbuffered moves.  Also, this software has to run on a few different machines some of which have the dual-drive setup, and some do not, so there would have to be more configuration specific code if I have to do this rather than just dealing with the gearing.  Also, I'm concerned that if the drives don't share the same trajectory generated output, even if the following errors remain small, I could see undesirable position differences simply due to different trajectory generation.

 

Regarding you last comments, I don't think that it is strictly true that "when using geared axes, the slave axis is geared to the encoder position of the master axis."  I know that you can configure gearing to an encoder, but you can also gear them to an axis as I am doing in this case.  When gearing to an axis, as opposed to an encoder or ADC Channel, my understanding is that the slave axis receives the trajectory generation output from the master, and differences in the positions of the two axes should be limited to the following error.  In the case of gearing to an encoder, I would understand why Vff might not work, but I would expect it should be ok when gearing to an axis.  My current wild guess is that NI-Motion assumes that you are always geared to an encoder and disables Vff even in the case of gearing to the trajectory where it really should be used.  I'm hoping to confirm this with tech support, and in that case, I'm hoping reconfiguring the drives will solve the problem.  Failing that, I'll have to add some more code to independently manage the axes.

 

Again, thank you for your well-reasoned comments.

 

Best Wishes,

 

Matt

 

Message Edited by MatthewHarrison on 07-21-2009 09:02 AM
Message Edited by MatthewHarrison on 07-21-2009 09:03 AM
0 Kudos
Message 6 of 7
(5,063 Views)

Matt,

 

you are completely right that axis to axis gearing is based on the trajectory generators and not on the encoders. I have definitely mixed this up. So in this case using independent axes and starting them simultaneously should be the best option in terms of functionality. As the trajectory generators always stay in synchand as they use the same math, the reliabilty of this option should be the same as with gearing but yes, it will require some amount of recoding.

 

With these facts the issue sounds like a bug and tech support at NIC should file a Corrective Action Request (CAR) to R&D.

 

Jochen

0 Kudos
Message 7 of 7
(5,056 Views)