Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

feedforward PID control problems

hoping for a little help with the feed forward vi.

 

I have two inputs to a PID function, the Process variable (PV) being slightly behind (phase lag) the set point (SP).

This little bit of phase lag causes some unnecessary error in the PID algorithm.

I believe that feedforward VI is used to correct this type of problem.

The PV is from a load cell if it matters, recording around 1Htz cyclic load. 

 

I can utilize the PID feedforward VI and plot its input vs output and see that it is indeed creating the necessary phase change (shown below in figure).

 However, when i put the phase changed signal into the main PID vi, it somehow dosent seem to ever change/correct the phase offset of the PV signal that is coming in, its like its really not being used except that at very large vales (ie 0.2min) it just becomes unstable..

 

I have tried both lead and lag for both the PV and SP for every conceivable values between 0.000001 and 10min..

 The feedforward VI does create amplitude changes between the inputs and outputs at small time levels (ie 0.001min) of which i am correcting for manually. Yet, The output signal without the feedforward vi seems to always better than with it.

 

 

 

 

 

 

0 Kudos
Message 1 of 4
(6,075 Views)

 

here is an image demonstrating a example of the problem. 

this is with feedforward changing the phase of the SP.

I have also tried altering the PV too with no luck.

 

 

 

19213iF2FA3B2D82F3E86C

 

 

0 Kudos
Message 2 of 4
(6,066 Views)

Jimmyinct3-

 

Unfortunately, my PID knowledge is somewhat limited.  However, I am relatively familiar with the tools of being able to implement these systems.  Looking at the screenshot you posted, I am unsure what exactly is happening and what is incorrect.  Is it possible for you to elaborate on the charts that is unexpected behavior?  Does anyone else have any additional input that may help Jimmyinct3?

 

Regards,

Mike S
NI AE
0 Kudos
Message 3 of 4
(6,028 Views)

 

hi george,

Thank you for checking in.

Im starting to get a handle on this after 3 or 4 days.

 

Basics are that the PID function is used for feedback.

It compares a setpoint (the desired state) to feedback state (process variable) in order to compute the error term which is then used for feedback.

Sometiems the set point feedback has a time delay in it and thus, creates a little extra error in the comparision and makes it hard to get the PID accuracy perfect.

So with a feedback load control system, there is a delay in the time the load cell is read to be compared to the desired state.

 

So what "lead lag vi" does iscreate a delay or lead in one of the signals so there can be a better computation of error.

Where it gets tricky is that lead lag vi also creates a offset and amplutide change in the set point on certain conditions such as larger phase shifts and smaller times delays,.

This in many cases makes a worse computation of error than the loss of phase shift by itself.

And in trying to correct for this offset and amplutide change, i was making mistakes which reduced the size of the error term.

But i did some things to try to keep this simple and the output is still not perfect, but better.

 

of course, i should add a discliamer, trying to help if anyone reads it, but im not a proffessional, i just play one on TV

 

19327iDAD6C0A83477E6C8

0 Kudos
Message 4 of 4
(6,024 Views)