Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Most effective way of limiting the rate of a signal (PID Control of a hydraulic actuator)

I am controlling a hydraulic actuator using a PID loop via a Compact RIO connected to a servo valve. What is the most effective way of limiting the rate at which the actuator moves as I am trying to achieve a set cycle time? I am using a displacement transducer for the feedback signal.

 

0 Kudos
Message 1 of 6
(6,029 Views)

Hi RobF,

 

- Are you performing your PID functionality on the real-time (RT) or FPGA?

 

On the RT side (assuming access to the PID Toolkit) you can use the PID Output Rate Limiter to perform the functionality.  On the FPGA side you could limit the rate via your PID gains, or create a custom implementation.


Regards,

Peter D

0 Kudos
Message 2 of 6
(6,007 Views)

Hi Peter,

 

Thank you for your reply; I am performing the PID functionality on the RT. I have tried using the PID Output Rate Limiter that you mentioned; this however only dampens the response time of the servo valve, which is not what I want. I require high-speed control but with a controlled cycle time for example extended state - compressed state and return in 7 seconds.

 

Regards

 

Robert Foat

0 Kudos
Message 3 of 6
(6,002 Views)

The rate or speed should be proportional to the servo valve control voltage.  So if you have a nice linear servo valve with no deadband then a simple open loop setting should work.  Position control

is more involved since it requires a trajectory calculator and then the error between the calculated trajectory and the current position becomes the PID error.

0 Kudos
Message 4 of 6
(5,998 Views)

Thank you for your reply sachsm, I understand the theory behind the PID error calculation as I have controlled servo valves previously in other languages. My problem is that I do not know how to do this in LabVIEW. So if you or anyone could show me an example where the error signal has been calculated or the rate of an actuator has been limited to a set time that would be a big help.

 

Kind Regard

 

Rob

0 Kudos
Message 5 of 6
(5,991 Views)

Like I said, the key here is building a trajectory generator that can understand that you want to move a certain velocity and acceleration profile that will get you to your end position in the desired amount of time.  You might want to look into NI's softmotion toolkit which was designed to address this kind of functionality.

 

http://zone.ni.com/devzone/cda/tut/p/id/3723

0 Kudos
Message 6 of 6
(5,979 Views)