Getting the most out of PID systems is the key to precise hydraulic motion control.
By Peter Nachtwey
Delta Computer Systems
EDITED BY KENNETH KORANE
Hydraulic motion control offers many advantages over electric and pneumatic systems, especially in applications involving high-speed linear travel, heavy loads, or smooth position and pressure control. Hydraulic actuators are typically small, quiet, and produce less heat and EMI than electric actuators. And for high-performance motion control, hydraulic systems often cost considerably less than their electrical or mechanical counterparts.
When designing hydraulic control systems, however, it is critical to set up motion controllers with correct control algorithms. Compromises can be made in designing a hydraulic circuit, but the hydraulic motion controller cannot always compensate for deficiencies. For instance, a motion controller cannot make a closed-loop system move or accelerate faster than a comparable open-loop system, but it can be more accurate and reliable.
Open loop, the most basic form of control, requires no gain tuning. Users only send a signal to the valve to move the cylinder at a desired speed. Automated systems require position sensors to trigger the output, while manual systems rely on operator skill. In simple systems, the lack of adaptive control means actuator speed will vary with changes in oil temperature and load.
Open-loop mode is often used to initially set up closed-loop systems. One procedure, for example, is to ensure a positive drive output moves the cylinder in the positive direction. It is important to correct drive polarity before using closed-loop control or the PID will drive rapidly in the wrong direction. Another procedure is to fully extend and retract the cylinder to determine the motion controller's limits. The amount of cylinder drift when the drive output is zero indicates whether the null adjust of the servovalve or amplifier card needs tweaking.
Open-loop control also tests basic performance. For example, if the drive output is set just high enough to initiate motion, smooth movement indicates normal operation. Erratic movement shows excessive static friction. If this happens, reduce static friction or add accumulators to keep the pressure relatively constant. Another performance test sends the valve a constant voltage to determine how fast the cylinder ramps up to a constant speed. This gives a good indication of system response. Setup software that captures and documents system performance is useful during this type of testing.
Operationally, open-loop control works well for holding a cylinder against a stop, moving nonlinear systems, and traveling at maximum speed. In each of these cases, closed-loop control is not recommended. In the first case, PID controllers overcontrol the system by trying to move the cylinder to an unreachable position. In the second case, PID controllers assume the system is linear and will not perform well over the range of desired positions or speeds without changing gains on-the-fly. The third case is similar to the first PID controllers do not work well if asked to move a positioner faster than its maximum speed. In this case, the target position gets far ahead of the actual position and the system overshoots the destination, which is usually undesirable.
To enhance performance, advanced hydraulic motion controllers make the first part of the move in open-loop control for maximum speed, and then switch to closed-loop control for ramp down.
Closed-loop control compensates for load changes, friction, and nonlinearities, so that motions are more repeatable than with open-loop systems. However, this extra precision costs more. PID position controllers are more expensive than open-loop controllers and they require position feedback to compare actual and target positions. They also need skilled personnel to tune the proportional, integral, and differential gains for best performance. Nonetheless, higher precision, more-consistent manufacturing, and less scrap often outweigh the extra cost of using more-sophisticated control systems. Here's a look at some control fundamentals.
Target generator. When an advanced motion controller initiates a move, it does not try to reposition the cylinder in a single action. A step jump causes a rapid increase in pressure which can cause positioning errors and jerky motion, accompanied by hydraulic shocks that create leaks and damage position sensors. Typically, a motion controller bumps the target position toward the requested position in small increments every 1 or 2 msec. The target generator (a function of the hydraulic motion controller) calculates target position and target speed every time increment, implementing functions such as S-curve and trapezoid ramping, linear or cubic interpolation, and motion "gearing." There are often different target-generator routines for each motion function.
Proportional control. This is the most basic type of automatic control. Proportional-only control systems are easy to implement but prone to inaccuracy as it is difficult and sometimes impossible to reduce positioner error to zero. This is because reducing the error also reduces the drive output to the point where the positioner cannot overcome static friction or an out-of-null valve. The equations describing simple proportional control are:
E = XT XA
where E = error and XT and XA are target and actual positions, respectively. And
DP = GPE
where DP = proportional-drive output and GP = proportional gain.
PI control. Most hydraulic control systems use PI control, which solves the error problem inherent in proportional-only control by guaranteeing error eventually becomes zero. Here:
DI = DI + GIE
where DI = integral drive and GI = integral gain.
DO = DI + DP
where DO = the PI drive output.
The integral term increases the drive each time through the loop when the calculation is done. Even if the error is small, the integral drive term will "wind up" until the positioner reduces the error to zero. The integral gain controls how fast the error reaches zero.
PID control. Few hydraulic systems use the differentiator part of PID control because it is either not understood or position feedback is noisy. The differentiator provides damping which reduces oscillations. Two equations can be used to implement the differential drive term.
DD = GD(EC EP)
where DD = differential drive, GD = differential gain, EC = current error, and EP = previous error. Or,
DD = GD(VT VA)
where VT = target speed and VA = actual speed.
D = DD + DI + DP
where D is the PID drive output.
Most motion controllers use the first differential-drive equation, but the second is more intuitive and easier to discuss. Calculating actual speed is problematic because most feedback devices have resolutions in the 0.001 to 0.0001-in. range. An error in reading the actual position of 0.001 in. over a 1-msec time period equates to an error in actual speed of 1 ips, which is significant. Because the differentiator requires accurate speeds, using it means the controller must filter the actual speed calculations over a 4 to 10-msec time span, the feedback must have little if any noise, and resolution should be finer than 0.001 in.
Notice that PID control requires an error before it generates an output. If moving the positioner requires a sizable output, there will have to be a significant error before the PID control generates the required drive output. Consider a system that needs 5 V to travel 10 ips, looking first at only the proportional gain. Assume the control's proportional gain is 10 mV per every 0.001 in. of error. From this data, an error of 0.500 in. will be required to move the positioner at 10 ips. The error would have to be 1 in. to move the positioner at 20 ips, assuming the system is linear. These errors are not acceptable in many applications.
Adding the integral drive term eventually reduces following error to zero. The problem here is "eventually." Normal hydraulic systems are quick, point-to-point movement systems which do not give the integral term time to wind up. So, to minimize following error during quick point-to-point moves, augment the PID control with a feed-forward drive.
Feed forwards, predictive functions supported by hydraulic motion controllers, provide a means of estimating how much drive output is required to move or accelerate. For instance, if moving the cylinder at 1 ips requires 1 V, it will probably take 2 V to move the cylinder at 2 ips and 3 V to move at 3 ips. However, this is only true in a perfect world. PID control combined with feed forwards provide much better control than either by itself. To estimate how much drive the feed forwards provide, use target speed and target acceleration provided by the target generator, multiplied by a gain as follows:
DF = GFVT
where DF = velocity feed-forward drive and GF = velocity feed-forward gain.
DA = GAAT
where DA = acceleration feed-forward drive, GA = acceleration feed-forward gain, and AT = target acceleration.
Each feed forward plays an important role in a motion profile. Velocity feed forward plays a part whenever target speed is not zero. This makes it important to supply the drive with a constant velocity. If actual position lags behind target position, velocity feed-forward gain is too low. Conversely, if actual position leads the target position, velocity feed-forward gain is too high. Set properly, following error will be small during the constant-velocity segment of the motion profile.
Acceleration feed-forward terms are only active while accelerating or decelerating. Acceleration feed forward should only be used with controllers that can generate smooth accelerations and decelerations, or S curves. Otherwise, step jumps in acceleration make the drive react too quickly, causing hydraulic shocks and jerky motion. Over time, that degrades system reliability and leads to oil leaks. Normally, actual position will fall behind target position while accelerating and overshoot the target while decelerating. The acceleration feed-forward term supplies extra drive while accelerating and reduces drive while decelerating.
It is helpful to have a means of graphing target and actual positions to aid in adjusting acceleration feed forwards. Increase the feed forwards until the actual position follows target position during the acceleration and deceleration ramps. If the gain is too large, actual position will lead the target position during acceleration and lag it during deceleration.
These drives are added to the drives calculated from the PID to get DT, the total drive output:
DT = DP + DI + DD + DF + DA
One key point is that two sets of gains are normally needed to support cylinder extend and retract because the surface area of the piston is not the same on each side.
Pressure-relief valves traditionally provide pressure control. Manually turning a screw that loosens or tightens a relief spring, or adjusting an electrical signal, determines the setpoint for pressure-relief valves. However, relief valves do not open until pressure reaches the setpoint. If pressure increases rapidly, it will overshoot. This can cause flashing in injection-molding applications or product damage in clamping operations. An additional problem is that relieving oil pressure wastes energy.
A PQ or pressure-flow valve provides another option. The valves act like normal servovalves except an extra 0 to 10 V input acts as a pressure-relief setpoint. Thus one valve can control both position and pressure, but they still do not handle pressure transients well.
A better approach uses a servo-valve and a position/pressure controller. The servovalve controls position in a normal fashion. But when controlling pressure, the valve dithers the valve spool (alternately opening and closing the valve in small, quick steps) around the closed position to increase or decrease pressure. This wastes little oil and, because pressure can be changed quickly with small movements of the valve spool, pressure response is good.
Note that this requires a valve with a zero-overlap spool. Valves with overlapped spools cannot increase or decrease pressure with minute changes in the spool position. This approach also requires pressure sensors at each end of the cylinder. The intent is not to control pressure on one side of the cylinder but rather to control the differential force across the piston. Therefore it needs a way to convert pressure inputs into force:
ΔF = PAaA + PBaB + S
where ΔF = differential force, P and a are pressure and piston area, and S = the offset.
In horizontal static situations, pressure on the B side (rod side) of the piston is always higher than A-side pressure because the B side has less surface area and yet must produce the same force to hold position. In vertical systems, offset compensates for the weight of the moving parts so users can deal in net force.
The position/pressure controller requires two PID loops, each with its own set of gains. The key is knowing when to use the result of the position PID, the pressure PID, or a combination of the two. For example, a press application only needs the position PID when the press is closing. When the press is closed and starts building pressure, position control is unnecessary and the pressure PID takes over. The simple way do this is to enable the pressure PID control with a pressure setpoint. The set-point should be low enough so the pressure PID control has time to assume control before pressure overshoots the reference value.
Better yet would be a target generator for pressure that computes a series of target pressure points between the current pressure and the reference pressure for each time increment, resulting in smooth transitions to the pressure setpoint. This is far more desirable than simply using the reference as a target with large errors between reference and actual pressures. Pressure transducers in the system should measure actual resulting forces, rather than the force being exerted (hydraulic force). This ensures exacting control.