My dad's Rover 75 is very easy to stall, although it got better when it was chipped. It doesn't help that the clutch is so heavy.
My brother's Megane was a nightmare for me to drive, I could never seem to get the balance right. My ol' Xsara would pull away in second gear if done carefully, so I suppose it taught me to be lazy.
And now I drive an automatic. Even lazier still. :-)
|
With an older engine, but still with idle speed control, you can have some fun.
This is becasue the controller for idle speed control has a proportional element, and an integral element.
If you deliberately hold the engine speed below the set point, by slipping the clutch, for a period of time, the integrator builds up its control action. This means that you have to slip the clutch heavier and heavier, until, eventually, the idle control valve is fully opened.
But, the ECU has no way of knowing exactly how far open the valve is - there's no feedback of valve position, and so, the ECU keeps adding control action until the control action is right at the limit of the digital register (i.e., all 1s or all 0s depending upon how it's configured). To saurate the integrator probably takes about a minute.
At this point, if you push the clutch pedal down, and remove the load from the engine, the revs wil soar - the valve is fully open, and because the integrator is saturated, it can't just close, it needs to wait for the integrator to unwind.
In all likeliehood, the engine revs will rise so far that over-run fuel cut off is triggered - the throttle position switch or sensor is still registering idle position. So, the revs will yo-yo between overrun fuel cut off speed, and the speed where fuel is re-introduced until the idle speed control integrator unwinds. Quite entertaining!
More modern controllers have logic called integrator anti-wind up which prevents the full horror (fun!) of this happening.
|
>More modern controllers have logic called integrator anti-wind up which prevents the full horror
>(fun!) of this happening.
Which, in Process Control terminology, is the addition of derivative action to the controller.
Kevin...
|
No Kevin, it's the very opposite of derivative action - it's integral action. [an integrator is 1/s in the Laplace domain]
Integral action is added to reduce any steady state error - effectively to compensate for the slow time varying loads, like alternator torque, air conditioning pump torque, and cold oil drag that without any integral action would reduce idle speed.
Effectively, the integral control action is proportional to the both the error *multiplied by* the amount of time that error has existed, and so, by holding the idle speed low for a while, you can build up lots of integral action.
Derivative action is the very opposite, and responds to changing error signals - it is added to damp systems which have been de-stabilised by excessive integrator action (the excessive integrator action can come from integral controller action, or can result from the dynamics of the system being controlled, the classic case being the double integrator plant)
Integrator anti-windup is something else, where the total output of the controller is artificially kept within bounds which don't saturate the system, and so, upon the removal of the disturbance, there isn't the delay of unwinding the integrator before proper control action is resumed - it's completely different to how derivative action can "damp" a system.
Although there are many ways to implement anti-windup, the way I've done it (on a non automotive system) is when a windup condition is detected, feed the input of the integrator the sum of the error signal and the negative of the error signal, i.e., zero. This prevents any further windup.
|
NC.
I think you misread my post.
I was referring to derivative action being used to compensate for oscillation caused by excessive integral action.
>Integrator anti-windup is something else, where the total output of the controller is artificially
>kept within bounds which don't saturate the system, and so, upon the removal of the disturbance,
>there isn't the delay of unwinding the integrator before proper control action is resumed - it's
>completely different to how derivative action can "damp" a system.
Derivative action works by effectively changing the gain of the controller depending upon the rate of change of the measured point with respect to the setpoint. Even in pneumatic controllers where the integral and derivative controls are basically calibrated bleed screws, a correctly calibrated derivative control will have dumped alot of the integral gain before the MP is anywhere near the SP if the rate of change is high enough. Electronic systems can obviously react much quicker.
The net effect of derivative control is to 'soften' the output of the controller by changing the proportional band. This achieves your "artificially kept within bounds" criteria for "anti-windup".
>Although there are many ways to implement anti-windup, the way I've done it (on a non automotive
>system) is when a windup condition is detected,
How do you detect a "windup" condition? Measure the rate of change of MP to SP like derivative action does?
>feed the input of the integrator the sum of the error signal and the negative of the error signal,
>i.e., zero. This prevents any further windup.
Switching off any integral action will certainly stop any increase in controller gain but all you are doing there is to switch a PI system into a Proportional only system. You've crippled any integral action so you will still end up with an offset if the proportional band is wide enough. What you need to do is include derivative action.
Kevin...
|
Kevin,
I'm sure we're talking at crossed purposes. Integral anti-windup is nothing to do with derivative action.
As cruise control is a velocity controller, there's only one integrator in the plant, and so, it's possible to use some integral action in the controller without the system becoming unstable, and so, there's no great need for any derivative action in this instance. Beyond that, derivative action is a real rarity in automotive use, because the signals tend to be so noisy, a controller with derivative action would react strongly to that noise.
There are some controllers that I have worked with (again non-automotive) where there's no integral action, and the controller is just P + D.
One simple way to sense a windup condition is to limit the total output of the controller. Once there's a difference between the pre-limited output and the limited output, you have a potential windup situation. It's not particularly subtle, but it can trap some conditions where windup would be likely.
I suppose if all of the components in the system were ideally linear, there would never be a need for integral anti-windup, and normal rules of PID tuning, like Ziegler-Nichols would naturally give you a good starting point for controller tuning. Integral anti-windup is a method to prevent a saturated actuator causing trouble, and is a non-linear tweak to a linear system.
Edited by Number_Cruncher on 27/05/2008 at 22:05
|
|
|