Author Topic: Warm Afterstart Idle problems - erratic idle for few sec  (Read 13013 times)

Offline kivi84

  • Jr. Member
  • **
  • Posts: 12
  • BHP: 0
Warm Afterstart Idle problems - erratic idle for few sec
« on: May 19, 2014, 09:29:30 pm »
Hi,
I have some problems that I cant manage with on my own, so I want to ask "You" guys for help.

The problem is with warm engine afterstart. When I start cold engine there is no problem with idl rpm (engine keeps assigned rpm as the engine warms up), but when I start warm engine rpm fluctuate from 1500rpm to 300rpm for few seconds. When I press gas pedal rpm settle down to desired value of 980rpm. Sometimes after cranking engine die when rpm drops(1s after start).

If someone could be so kind to take a look on my vemslog, I would be really grateful for any ideas.

https://drive.google.com/file/d/0B88Fdx0PEItSUnc4VGtITG1QSWs/edit?usp=sharing

firmware 1.2.11 before was 1.1.9.6(same problem)

engine
R4 2.0L TwinSpark(wasted spark) Turbo

Best regards
Paul

Offline mattias

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1075
  • BHP: 41
    • Sävar Turbo Site
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #1 on: May 19, 2014, 10:42:23 pm »
Here's what I think happens, it's quite common :

Bring up MAT in the log and you can see that it is heatsoaked after sitting in a warm engine bay. After a short while you go from 45 deg down to 23 deg. The sensor can be kind of slow to react to the cold incoming air at low (idle) load.  So in fact, the air is actually denser and you need a richer mixture - if you enable "WBO2 started on powerup" and let the heater warm it up, and then start the engine you can probably tell that it's lean the first moments.

You can solve this in software through the MAT/TPS enrichment table. At closed throttle, you can raise the values at increased temperature so that it enriches some. Typical value at 20 deg is 100% and at 40 deg it will be down to 94%. Bring the latter up to 100% and it will get the same amount of fuel as if it was 20 deg MAT (which in fact it kind of is).

There is another way  : You are not using any afterstart enrichment (no cycles, and no enrichment) on a hot engine in your config, you could do so but it would not do a proper job since it does not distinguish from a heat soaked sensor or not. If you have only stopped for a minute and start the car, you can add too much fuel. So this way is not preferrable.

Best method :
On a turbo engine it can be a good idea to place the sensor just after the intercooler, in most installs that is probably not very deep into the engine bay and you can avoid some heat soak.
On a N/A engine it can be placed in the air filter box, preferrably with a cold air intake and far away from the engine block and the air blowing through a hot radiator..
« Last Edit: May 19, 2014, 10:44:54 pm by mattias »

Offline kivi84

  • Jr. Member
  • **
  • Posts: 12
  • BHP: 0
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #2 on: May 20, 2014, 01:20:32 am »
Replaceing IAT sensor place is good idea. My is just before throttle body but I need to leave this subject for later.

First I will check how lean it becomes while warm startup and try to compensate it with MAT/TPS enrichment table and see if that fix the problem.

Can you tell me how properly calculate "crank VE%" to start engine with fixed ve?
« Last Edit: May 20, 2014, 01:27:13 am by kivi84 »

Offline mattias

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1075
  • BHP: 41
    • Sävar Turbo Site
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #3 on: May 20, 2014, 09:10:00 pm »
Crank VE% is a bit trial-and-error.

A good starting point is what you have at WOT (100 kPA, atmospheric) at 1000 rpm and lower. 
Tune that load site with high gear and WOT, and find that value first.

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #4 on: May 21, 2014, 09:08:14 am »
Quote
After a short while you go from 45 deg down to 23 deg.

This makes about a 10% of the lambda value that the PID stability margin should compensate. Hence you may try to lower P or increase D. However, as I experienced, the robustness of the Vems idle control law is not the best.

Also at about 1:36, when throttle is closed, the rpm is not decreasing steadily. But this point, I believe, has to do with the variation of the RPM-IAC RPM target error for which the good PID values may not be the same that the idle stability ones. Do many Vems engine show this non monotone and slow return to idle?, mine, yes.

Offline kivi84

  • Jr. Member
  • **
  • Posts: 12
  • BHP: 0
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #5 on: May 21, 2014, 03:55:32 pm »
Crank VE% is a bit trial-and-error.

A good starting point is what you have at WOT (100 kPA, atmospheric) at 1000 rpm and lower. 
Tune that load site with high gear and WOT, and find that value first.

This cell in my map is set properly(I've checked it on the road yesterday). Then I suppose to set "Crank VE 69%". Done.

Quote
After a short while you go from 45 deg down to 23 deg.

This makes about a 10% of the lambda value that the PID stability margin should compensate. Hence you may try to lower P or increase D. However, as I experienced, the robustness of the Vems idle control law is not the best.

Also at about 1:36, when throttle is closed, the rpm is not decreasing steadily. But this point, I believe, has to do with the variation of the RPM-IAC RPM target error for which the good PID values may not be the same that the idle stability ones. Do many Vems engine show this non monotone and slow return to idle?, mine, yes.

I use ignition based idle control. It seems to do better job than PID control on my engine. Propably if someone would set PID better than I did, it would work better and I would have more steadier idle rpm.

Yes indeed, sometimes it takes to much time to settle on desired rpm.

I have another problem that worries me more. Problem occurs when I press gas pedal, for ex. 50% (engine jumps  to 5000rpm), and depress it immediately (rpm suppose to drop to 980). Rpm overshoot "warm engine idle rpm" and drop to about 600rpm and get back to 980. Sometimes when I'm driving really fast for ex. WOT on 4th gear and suddenly I need to brake from 200 to 100km/h(I'm breaking with engine and without clutch) and when I want to reduce a gear, rpm after pressing clutch drops so fast that engine overshoot "warm engine idle rpm" and it stops. Its really dangerous sometimes.
Any ideas?

Back to the subject;

Yesterday I've spent about 3 hours testing some combinations of;

"injector fireing while cranking" - individually seems to work the best in my setup

"cranking enrichment" - no need to use it at warm start when "crank ve" is set properly

"afterstart enrichment and afterstart warm time" - enrichment in that option fades out really quick (less than 2s to drop from 119% to 105% causing lambda oscillation for next few sec) and its not dependant from cycles amount

https://drive.google.com/file/d/0B88Fdx0PEItSOXV6V3lJZ196ekU/edit?usp=sharing

"MAT/TPS fuel enrichment" - looks like the best option for this kind of problem, enrichment is stable and fades out slower (untill MAT drops), lambda reading are more stable, but rpm still drops a little right after engine starts

https://drive.google.com/file/d/0B88Fdx0PEItSRHFJWGtyakd1WkE/edit?usp=sharing
https://drive.google.com/file/d/0B88Fdx0PEItSTTdpUllxVTJxQm8/edit?usp=sharing

some serious oscillations with lambda readings
https://drive.google.com/file/d/0B88Fdx0PEItSQmFISE9xYzF6Ukk/edit?usp=sharing
https://drive.google.com/file/d/0B88Fdx0PEItSeVRXUVJhQmN2MEU/edit?usp=sharing

cold start with lambda readings (rpm and lambda are stable)
https://drive.google.com/file/d/0B88Fdx0PEItSOE9BajFhU25YaDg/edit?usp=sharing

What else can I do to make it work like "cold start"?

Best regards
Paul
« Last Edit: May 21, 2014, 04:06:44 pm by kivi84 »

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #6 on: May 21, 2014, 05:01:56 pm »
Quote
Rpm overshoot "warm engine idle rpm" and drop to about 600rpm and get back to 980...
Any ideas?
This may be due to the Overrun Fuelcut/FuelcutRPM-/FuelResumeRPM 2800-1600 set up. In this band  the feedback to follow the RPMTarget is off and when it resumes @ 1600rpm the counter action of the D term can be too low to prevent the undershot at 980.
I do not know how the derivative for the D action is calculated: if it is the derivative of RPM or the derivative of RPM-IACRPMTarget. Obviously, this last derivative gives a smaller D action.
Hence you may try to increase FuelResumeRPM or increase the D term. Luckily you do not have a noisy RPM signal (this is not my case ;-( ).
In any case, I am not a good expert in tuning this idle control law since I did it for only one engine and unsatisfactory compared to the OEM idle law from the 80's (6804 processor) ;)

Offline mattias

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1075
  • BHP: 41
    • Sävar Turbo Site
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #7 on: May 21, 2014, 05:30:49 pm »
Enable the assymetric PID algorithm.
"Assymetric PID Conf When Enabled, PID will act more agressive (higher gain) when engine RPM is below target to reduce chance of engine stall. "

This alone does not solve the problem.

I always use ignition controlled idle once the IAC controlled idle behaves reasonably well by itself. The two methods together make it very solid and reliable.

If you have problems with it dropping below target and stalling it may well be a fuel issue as well due to a lean condition once the rpm comes below "overrun fuelcut resume rpm" and the engine is at high vacuum.

Setting PID can be difficult, using too much of one of the variables can have bad side-effects, the opposite of what you thought it was going to fix.

Experiment and try more things, and see where it develops. I don't have time to look at your logs, sorry.

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #8 on: May 21, 2014, 05:35:27 pm »
hi again kivi84, I am quite happy you give us with your examples the opportunity to discuss the idle control law.

Here for this sample
Quote
https://drive.google.com/file/d/0B88Fdx0PEItSOXV6V3lJZ196ekU/edit?usp=sharing
at 0:10.805 when cranking starts,  IAC action does as well so that when RPM=1000, Iac integral is 12 and IACalcIE =3 so that RPM=1567 is reached. I believe this is a bad strategy for the IAC term.
They 2 tricks to bypass this "bug": you can increase the cranking threshold since the IAC term start integrating after this value (mine is = 499rpm), and increase IACIntegralMinmap to make the IAC term zeroed sooner during the overshoot

Philippe

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #9 on: May 21, 2014, 06:11:40 pm »
Mattias is right in saying
Quote
Setting PID can be difficult, using too much of one of the variables can have bad side-effects, the opposite of what you thought it was going to fix

Again for
https://drive.google.com/file/d/0B88Fdx0PEItSOXV6V3lJZ196ekU/edit?usp=sharing
one reads
Time 12.        RPM            RPMtarget           IACInt
050               1212             1053                     0
130               1112             1021                     4
233               1050            1002                     6
330               990               983                      10
One sees no reason for IAC to increase this way (apart possible wrong implementation ?), and indeed the integral action of the idle control has the opposite effect of one thought ;)

Afterwhile the IAC value increases up to you limit 40 ( but keeps integrating behind this bound), although the good IAC idle value is shown to be 8.
« Last Edit: May 21, 2014, 06:33:32 pm by fphil »

Offline VEMS

  • Administrator
  • Sr. Member
  • *****
  • Posts: 487
  • BHP: 22
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #10 on: May 21, 2014, 09:21:42 pm »
https://drive.google.com/file/d/0B88Fdx0PEItSOXV6V3lJZ196ekU/edit?usp=sharing
one reads
Time 12.        RPM            RPMtarget           IACInt
050               1212             1053                     0
130               1112             1021                     4
233               1050            1002                     6
330               990               983                      10
One sees no reason for IAC to increase this way (apart possible wrong implementation ?), and indeed the integral action of the idle control has the opposite effect of one thought ;)

Afterwhile the IAC value increases up to you limit 40 ( but keeps integrating behind this bound), although the good IAC idle value is shown to be 8.

In 1.2.11 Idle control target was not yet in the realtime variable set, instead the reported value is a VemsTune internal calc model (which is does not include several slow target decay models) internal target ecu target is actually higher on ramp-down (than reported VT calc variable), hence the Iac integral _increase_. Realtime variable for iac target rpm is available from firmware 1.2.20 and up.

Thanks for your excellent observations fPhil :).

Best regards, Dave


Offline kivi84

  • Jr. Member
  • **
  • Posts: 12
  • BHP: 0
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #11 on: May 21, 2014, 11:05:52 pm »
THX guys for your suggestions!

I'll definitely tune "Overrun fuelcut" and "PID idle control" again.

Any good tips (might be a link to another subject/tutorial) about how properly start tuning PID?

https://drive.google.com/file/d/0B88Fdx0PEItSOXV6V3lJZ196ekU/edit?usp=sharing
one reads
Time 12.        RPM            RPMtarget           IACInt
050               1212             1053                     0
130               1112             1021                     4
233               1050            1002                     6
330               990               983                      10
One sees no reason for IAC to increase this way (apart possible wrong implementation ?), and indeed the integral action of the idle control has the opposite effect of one thought ;)

Afterwhile the IAC value increases up to you limit 40 ( but keeps integrating behind this bound), although the good IAC idle value is shown to be 8.

In 1.2.11 Idle control target was not yet in the realtime variable set, instead the reported value is a VemsTune internal calc model (which is does not include several slow target decay models) internal target ecu target is actually higher on ramp-down (than reported VT calc variable), hence the Iac integral _increase_. Realtime variable for iac target rpm is available from firmware 1.2.20 and up.

Thanks for your excellent observations fPhil :).

Best regards, Dave

Which firmware will you suggest to use instead of 1.2.11, off course the one that will cause less problems and give better functionality - problemless :) ? or its better to wait (how long?) for official release?

Best regards
Paul

Offline fphil

  • Sr. Member
  • ****
  • Posts: 398
  • BHP: 6
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #12 on: May 22, 2014, 10:25:18 am »
Now that Dave gave us the explanation about the RPMTarget value, you may try to reduce/zero Idle Afterstart RPM in order to reduce the large increase of the IACInt, the overshoot and oscillations.

Offline kivi84

  • Jr. Member
  • **
  • Posts: 12
  • BHP: 0
Re: Warm Afterstart Idle problems - erratic idle for few sec
« Reply #13 on: May 25, 2014, 01:15:36 pm »
Hi again,

I did some test drives, and manage to solve my problems with your help :)

I've started with "Overrun Fuelcut", because not resuming fuel delivery was pointed as a main reason of rpm droping below idle rpm;

-presure based fuel cut - seems not to work as it suppose to work. no matter how many kpa I set, it was always resuming to late (around idle rpm) causing overshooting.

mattias suggested in different topic to use only "rpm based overrun cut/resume" so I've turned of pressure based one, and started another tests;

- first I set it to 0/7000/6900 and tune low load parts of map (below 40 kpa to have smooth transition when fuel resume), when I was done I've set 0/1600/1500 and went for a drive.

When I was driving around @1500 rpm with throttle position around 1% (TPS value for idle threshold set to 1%), I've notticed some engine stalling/oscillations caused by IAC turning on.

Setting "TPS value for idle threshold" to 0% fixed that problem.

In conclusion;

- not resumig fuel was causing most of mi problems with idle droping below idle rpm.

Now it work way better than at the begining.

There was also some changes in "Asymmetric PID conf", "Max/Min PWM duty allowed", "Idle afterstart aded value - 0" and "MAT/TPS fuel enrichment" which helped a lot.

I have another question to you guys.

Is there anything I can do to make EGO closed loop control work faster and more precise (generally better)??

Best regards
Paul