Miata Turbo Forum - Boost cars, acquire cats.

Miata Turbo Forum - Boost cars, acquire cats. (https://www.miataturbo.net/)
-   MEGAsquirt (https://www.miataturbo.net/megasquirt-18/)
-   -   Idle RPM Timing Correction Clobbers Crank-To-Run Taper Time (https://www.miataturbo.net/megasquirt-18/idle-rpm-timing-correction-clobbers-crank-run-taper-time-108745/)

intenseapple 11-04-2023 10:58 AM

Idle RPM Timing Correction Clobbers Crank-To-Run Taper Time
 
Idle RPM Timing Correction (IRTC) is great, most people including myself use it for idle. There is one nagging issue I have noticed though: It clobbers crank-to-run taper time. During very cold starts I like to jump up to 1500 RPM after start and taper down to CL target RPM (1200-1300 RPM when very cold). Almost all modern vehicles do this from the factory, and crank-to-run taper time is designed to allow for this in MegaSquirt. However, having IRTC enabled with even mildly aggressive timing correction when RPM is higher than target essentially fights the crank-to-run taper time by pulling timing. The end result is that the IRTC pulls a bunch of timing right as the IACV duty is tapering down to it's normal run position and this combination causes a major undershoot in target RPM which is occasionally bad enough to cause a stall. My current solution has, reluctantly, been to set IRTC so it does not modify timing when idle RPM is higher than target.

The question then is: Why in the world is IRTC active during the crank-to-run taper time? Taper time is obviously a transient condition wherein CL idle controls (like IRTC) should be disabled. Later firmwares have even added the crank-to-run taper time setting to the closed loop idle page, so maybe they are on the right track.

Ted75zcar 11-04-2023 02:08 PM

Hmmm, sounds like you may not be understanding/using the features appropriately. You want to us CLT based rpm target, IIRC crank-to-run is primarily a fuel based feature with a short duration.

intenseapple 11-04-2023 02:48 PM


Originally Posted by Ted75zcar (Post 1642700)
Hmmm, sounds like you may not be understanding/using the features appropriately. You want to us CLT based rpm target, IIRC crank-to-run is primarily a fuel based feature with a short duration.

Crank-to-run taper time is a taper for IACV duty, it tapers from cranking duty to whatever your CL initial value table has over the specified number of seconds. And I don’t want a general coolant based RPM target in this case, I already have that set up. I want to idle higher than my CL target for a few seconds after startup, which is what crank to run taper is meant to do from everything I can find

Ted75zcar 11-04-2023 04:59 PM

Right right, my mistake.

Have you tried "use PID idle activation" as opposed to "Use Engine State"?

intenseapple 01-03-2024 03:12 PM


Originally Posted by Ted75zcar (Post 1642707)
Right right, my mistake.

Have you tried "use PID idle activation" as opposed to "Use Engine State"?

I experimented with this, but there is no way to get this to function how I want it to (and, AFAIK, how it should). I can only limit activation by coolant temp and delay time via custom activation parameters. Coolant temp is unhelpful as I want Idle Advance (IA) running at all temps. I would be fine having Idle RPM Timing Correction (IRTC) to only run when the engine is warm, but the custom activation applies to both IA and IRTC together. This means avoiding activation during crank-to-run via coolant temp is out. The delay is also worthless -- I would have to make it as long as my Crank to Run Taper Time which is currently 8 seconds, far too long to wait to enable IA and IRTC during normal warm running conditions.

I have thought about it every which way and it just doesn't add up -- IRTC should never activate until the crank-to-run taper time is over after startup to prevent it from pulling/adding a heap of timing while the engine is settling into idle RPM. Going to try and pursue this further on msextra but am doubtful on how far I will get.

Ted75zcar 01-03-2024 03:51 PM

So am I to understand that PID idle activation triggers during crank-to-run? (I haven't looked at this, or if i did it was years ago and have forgotten)
Why do you care about Idle Advance in this otherwise open-loop condition?

intenseapple 01-03-2024 04:13 PM


Originally Posted by Ted75zcar (Post 1644621)
So am I to understand that PID idle activation triggers during crank-to-run? (I haven't looked at this, or if i did it was years ago and have forgotten)
Why do you care about Idle Advance in this otherwise open-loop condition?

As of 1.5.2, yes, PID idle triggers during crank-to-run. However, the actual PID algorithm is not running during this period, it just linearly tapers CL RPM target from whatever the RPM is when it enters CL down to the actual CL RPM target found in the table of the same name. It also linearly tapers PWM Idle Duty from the cranking % down to the run % as determined by the initial value table during this time. CL idle algorithm is not actually running, but all of the associated thing (Idle VE, Idle Advance, IRTC) are active.

I don't care all that much about Idle Advance during this short crank-to-run period, but I do care about having it after the car is idling normally, regardless of temperature.

Ted75zcar 01-03-2024 04:33 PM

ahh, well that is a pickle. At least it sounds like you have a straight-forward ask for the devs ... PID idle activation should not be triggering during crank-to-run. This is easy enough to implement in code.

DNMakinson 01-03-2024 09:01 PM

My IRTC only pulls 3* max. It adds up to 16* or18* (I don’t remember which). In other words, use it to fight droop, but not to fight flair.

DNM

intenseapple 01-03-2024 10:46 PM


Originally Posted by DNMakinson (Post 1644639)
My IRTC only pulls 3* max. It adds up to 16* or18* (I don’t remember which). In other words, use it to fight droop, but not to fight flair.

DNM

This is probably the best workaround. Actually started experimented with it today and it helped, just have to make sure RPM doesn’t dip too low during taper time or weird stuff can happen when IRTC adds too much timing.

DNMakinson 01-08-2024 11:17 AM

@intenseapple I note that my idle advance setting doesn't kick in until about 5 seconds after start.

One lingering issue that many people have, that may be your issue, is that; under Closed-Loop Idle Settings, PID delay needs to be set to "3". If less, then you will get an occasional move into PID prematurely, even at start-up.

I have that set, and then Crank to Run set at 5.

In Idle Advance Settings, I have Use PID Activation set.

I note that my Idle Advance does make a step change when it comes on, not just the RPM timing correction, so that, too, could be an issue if your Idle Advance is much different from your normal advance settings in the idle region (as mine is). Idle Advance and Correction both turn out at the same time after the 5 second programmed delay.

DNM



All times are GMT -4. The time now is 05:54 AM.


© 2024 MH Sub I, LLC dba Internet Brands