Integral Windup on Engine Control

Hi Guys,

I have implemented a digital PID controller to govern the RPM of a gasoline engine. The controller is in incremental (or velocity) form and includes filtering if the D term, etc.

The controller works well, except for the case where I believe I'm getting integral windup. In this application, it is obvious the the "actuator" saturates at wide open throttle and fully closed throttle. However, there are also rate of change limits on the throttle, particularly during throttle opening. If there is not enough fuel to generate torque with the increasing throttle (air), then we have a lean condition and the engine loses power and can't accelerate. So essentially the plant has rate of change limitations beyond which any changes in throttle makes no difference in the plant output until such time as the fuel has a chance to catch up.

During this period, I believe I am effectively seeing integral windup. This is in fact "actuator saturation" in effect and during these periods the integral will build up (the error terms get added to the throttle motor and the motor itself continues to integrate). I believe this is part of the cause of the overshoot I'm seeing. The engine becomes saturated at rapid throttle movements, and it then overshoots. In this case, the actuator has upper and lower saturation bounds but also rate of change bounds.

I'm generally familiar with windup protection, and its obvious how to do it when dealing with simple actuator limits. But in this case, how do I limit the integral term when I run into a rate of change saturation? I'm not even sure how to detect when I am saturated in order to add compensation to the integral term.

Thanks,

Paul

Reply to
Paul W.
Loading thread data ...

Paul,

Anything that interferes with a controller carrying out its appointed task will cause windup. That includes rate limiting or any kind. St Clair has an excellent booklet that specifically mentions this issue. It can be found at

formatting link
What I do when faced with rate limits external to the controller is to try to pre-empt them within the controller. For example, VFDs often have a minimum speed at some value. I program a low output clamp on the controller slightly higher than the external one in the VFD. The controller will then implement anti-reset windup when this limit is encroached upon. This is a feature in the DCS but can easily be applied in a self-programmed unit since you will know when the limit is reached.

If you have insufficient information about your process to do this, you have a problem.

Walter.

Reply to
Walter Driedger

This is a bit general; because I don't have time right now to go into your application in detail, but: you are using an incremental control law. Somewhere in the system these increments must be integrated to get back to a whole value (this integration will occur either in some electronics, or in some electro-mechanical equipment). The problem you are describing (integral windup) could occur if your integrator is upstream of a rate-limit (which, I assume, you cannot bring forward in the system to lie within the controller itself - since limiting the size of the increments would also be a rate-limit).

The definitive way to get around this (where feasible in the given hardware) is to couple the limits on the integration of the increments to the actual value of the rate-limited signal; i.e. the integral value is not allowed to exceed (lead) the value of the rate-limited signal by more than a certain amount; e.g. by one increment, or by a sufficient margin to keep the rate-limiter moving (e.g. to overcome stiction). In a whole-value control system, this is typically achieved by a technique called external reset or external reset-limiting, or some such similar technique.

It may help to know that in a whole-value system, P+I action can be achieved (and is achieved in some commercial controllers) by positive (that's right positive) feedback around a 1st-order lag. (Work out the transfer function for yourself). External reset is easy to achieve in this approach, because the limiting device; e.g. a rate-limited actuator, because the feedback-lop is extended out to encompass the limiting device (hence the term 'external reset'). I leave you to work out whether you could adapt this approach to your application.

Kelvin B. Hales Kelvin Hales Associates Limited Consulting Control Engineers Web:

formatting link

Reply to
Kelvin Hales

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.