The Top DSM Community on the Web

For 1990-1999 Mitsubishi Eclipse, Eagle Talon, Plymouth Laser, and Galant VR-4 Owners. Log in to remove most ads.

Please Support STM Tuned
Please Support STM Tuned

ECMlink General Info

This site may earn a commission from merchant
affiliate links, including eBay, Amazon, and others.

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Status
Not open for further replies.

Calan

DSM Wiseman
7,251
362
Jan 16, 2007
OKC, Oklahoma
The following are excerpts from past threads that contain general tuning information that you may find helpful.


***** This is a work in progress *****

If you would like to contribute, or if you come across something that you think should be added to this thread, PM us. ;)
 
Last edited:
I've said this before, but this seems like a good place to say it again; there is a big difference between "tuning" and "calibration"...but most people combine the two and end up going around in that big circle I mentioned up there ^^^^.

"Tuning" is easy and quick. "Instead of an AFR of 11.5:1 and 10* of timing, let's try 12* of timing and an AFR of 12.0:1 and see if power goes up or down." That's it. Plug in some different AFR, timing, and boost numbers, and see if you get positive results. Piece of cake.

So why is it so damn difficult? It's because most people spend very little time on calibration, and end up blindly tweaking things without having a solid reference to compare to. Even if they get lucky and stumble onto a combination that runs great, repeating it under different conditions is almost impossible.

Calibration is very time-consuming, and about as much fun as watching paint dry... unless you are a perfectionist and fascinated by what lies in the details. But it pays off big time once you start to really tune for more power or better mileage. Once your fuel flow is known, and airflow is dialed in... then you can simply tell the ECU "lets try this" and then see what happens.

For example, let's say your airflow and fuel flow are nicely calibrated, and you change some AFR targets from 11.5:1 to 12.0:1 in the AFR DA table, and increase the ECU boost control to 25psi. Your boost gauge then shows 25psi, AFRatioEst is 12.0:1, your wideband gauge reads 12.0:1, the wideband in Link shows 12.0:1, and you see what happens to the horsepower and torque curve. If it's all good, you save the log so you can load it up at a later date and get similar predictable results.

Or you can go this route...

"My AFRatioEst at WOT is 12.0:1, but my wideband is showing 12.5:1 in ECMLink at 5000 rpms and the gauge is showing about 11.5:1. (Combined fuel trim is usually around -8%). My boost gauge is bouncing around, but seems to be at about 22psi. I think my injectors are 680s, but I'm not really sure. I'm getting a lot of knock, but not sure why. I moved the fuel sliders and it seemed to help, but should I add more fuel?"

That ^ is the tuning equivalent of the proverbial Chinese fire drill, and could have been pulled from almost any thread on "tuning" issues that pops up (it wasn't; any resemblance to actual persons is purely coincidental LOL. The only problem this poor make-believe guy has is that nothing is calibrated, so nobody can (or ever will be able to) figure out what's going on. He's so far away from being ready to truly tune his engine that it isn't even funny.

Spend the time (hour after hour if needed) on calibration and getting accurate numbers to plug in wherever possible, and learn to think of it as a separate process from tuning. Do the calibration once and do it correctly...and then you can easily "tune" to your heart's content.
 
In stock form, your engine pulled in a known amount of air at every engine operating point (load + RPM), and the ECU was programmed to inject the correct amount of fuel at all of these points. As soon as you change anything that alters the amount of air entering the engine (turbo, bigger intake/exhaust, cams, different air filter, different piping, etc etc etc), the ECU becomes out of calibration, and no longer knows exactly how much air is entering the engine at any given time...so it injects too much or too little fuel and the car runs rich or lean (since it's still working off of what it was originally told, and it doesn't know anything about modifications you've done after the MAF).

So to compensate for this and get the airflow the ECU sees matched back up with what's really coming into the engine, we have MAFComp sliders (MAF Compensation).

Let's say you know the AFR should be 12.0:1 at some operating point, and the ECU knows how much fuel you are really flowing (your injectors are really flowing what they should, the pump voltage is good, base pressure is known, etc). If the measured wideband doesn't show 12.0:1, then it's because the amount of air being reported to the ECU at that one operating point isn't what is really coming in, and the ECU is injecting too much or too little fuel.

So you adjust MAFComp at that airflow point until the AFR matches, which means the ECU now knows what airflow it has to work with (again, at that one point) and is once again injecting the correct amount of fuel. You then apply this same thought process for every point in the airflow range covered by the MAFComp sliders, and you'll end up with a mostly calibrated airflow signal across the entire range of operating conditions, and the measured AFR will always match what the ECU is aiming for.

So, the goal is to get the reported airflow to the ECU to match what is really flowing into the engine, so that it injects the proper amount of fuel. You can either use AFRatioEst and an accurate wideband to get the AFRs to match, or you can use BoostEst and logged boost until those values match. The wideband method is more accurate, and works over the entire operating range. The BoostEst method is only accurate in the range of peak engine VE (5000 to 6000 RPM) at different load (boost) levels, and is a bit more tricky to get dialed in.

In closed loop (idle and cruising around), the ECU is always shooting for an AFR of 14.7:1, and is using the front O2 sensor to constantly measure and correct the AFR error. The amount of error it sees is stored in a "fuel trim" parameter, and this equates directly to how far off in one direction or the other the measured airflow is, assuming the fuel flow is accurate. There are different fuel trims used at different times, but they all represent the same thing; an error in reported airflow vs. actual airflow, as a result of too much or too little fuel being injected while trying to maintain an AFR of 14.7:1. So, you can use the fuel trims to dial in MAFComp while the car is operating in closed loop, since they are giving you the same info as a wideband is...in a round about way.

If you read that a few times, you'll realize how important calibration is. Measured AFR is a result of airflow and fuel delivery; you need one of those to be known, in order to compensate for the other. Fuel flow is much easier to get true measurements for, so we use that as our "known" values, and compensate for airflow. In order to say "my airflow is off, and I need to adjust MAFComp to correct for it", you are making the assumption that your injectors are flowing exactly as much fuel as the ECU is telling them to, and that your wideband is reporting the true AFR. If either one of those are inaccurate, then you have no reference point for adjusting the airflow compensation.

If fuel flow or the wideband isn't accurate and airflow is unknown, it's easy to get into a vicious circle of blindly tweaking things and hoping you hit on a magic combination...although that seems to be a valid tuning method for some people. :)
 
There are only four reasons I can think of off the top of my head to change base fuel pressure:

1). You have a large pump that flows plenty of fuel, but you are maxing out your IDC's. In this case, you can raise base fuel pressure to increase the injector's range, and lower IDCs somewhat.

2). You are at the limit of your pump's ability to flow enough fuel at max pressure (boost + base pressure). In this case, you can lower base pressure to get more flow from the pump; but IDCs will go up.

3). You can raise base pressure for better atomization of the fuel, if the pump will support it.

4). On a 1g, you can raise base pressure to the industry standard of 42.5 psi, to make fuel calculations easier (although it's not really needed with ECMLink).

Pump output is inversely proportional to fuel pressure; as pressure goes up, pump output (volume of flow) goes down.
Injector duty cycle is also inversely proportional to base fuel pressure; as pressure goes up, IDCs go down (everything else being equal).


*****

Higher base pressure usually helps with fuel atomization, at least to a point. The problem is that it also puts you at or above the crack point of the pump's high pressure relief valve in many cases. Also, the pump's output (flow) is inversely proportional to outlet pressure, so if you run too much pressure you can actually start running out of fuel when you don't expect it.

Raise BFP - Extends injector range (lowers IDCs), but pump volume drops. If you have plenty of pump but not enough injector, bump up the BFP a bit. Raising the BFP too far will push the total pressure at the pump outlet too high while under boost, and the HPRV will open to bleed off pressure.

Lower BFP - Raises IDCs, but increases the pump's flow. If you have a pump that doesn't flow quite enough but are running large injectors with plenty of IDC headroom, drop the BFP a bit to get more flow from the pump.

Raise pump voltage - Makes most pumps happier (and some ecstatic) without changing IDCs or affecting the pressure relief point. Just a couple of extra volts (15v-16v) will dramatically raise the output volume of most pumps, as long as they can operate safely at the higher voltage.
 
Last edited:
The Basics

A mechanical coil-driven device is energized by applying positive voltage to one side of it, and applying ground to the other side. This creates a magnetic field that can be used to do mechanical work, such as pulling on a plunger to open a disk or pintle on an injector. The activating signal (in our case, ground) can either be applied continuously, or it can be pulsed on and off. When the coil is pulsed, the length of each pulse is called the pulse width (or PW). For injectors in particular, the PW is measured in milliseconds (thousandths of a second).

Taken by itself, a pulse width value doesn't mean a whole lot because there is also the interval of time between pulses that has to be accounted for. In a cyclic, repeating system, this combination of on-time and off-time is called the period, and represents how much time there is available between the point when the coil is first energized, and when it needs to be energized again in the cycle. So if I needed to energize a coil every 100 milliseconds, and I keep it energized for 25 milliseconds each time... the period would be 100ms, the PW would be 25ms, and there would be 75ms of time between pulses when the coil is closed and waiting for the next 25ms pulse.

Pretty simple stuff right? Just covering all the bases here. :)

Duty Cycle

The term "duty cycle" is used in many applications, but for most all mechanical coil-driven devices, it is simply a calculated value that provides a way for us to get an idea of how hard a coil is working, without having to deal with pulse widths and periods. As far as the device is concerned, duty cycle doesn't exist; you can't energize a coil by directly applying a duty cycle to it. :)

The calculation for duty cycle is very simple; it's just the pulse width divided by the period, which gives the percentage of time that the coil is being energized, compared to the total time available before it has to be energized again. So for our above example, the duty cycle would be 25%: 25ms PW / 100ms period = .25, or 25%

In a fixed repeating system, like a flashing road construction light for example, the PW (on-time of the light) and the period (time between flashes) is always constant; so the duty cycle is always constant as well. In an engine however, the period is always changing...and that is where things get a little more complicated.

Injector Duty Cycle

The amount of time available between injector pulses is based on engine RPM, or more specifically, on engine cycles. Considering that the injectors fire once per complete engine cycle (which takes two revolutions of the crank), we can use the following equations to calculate some useful information:

Revolutions per second = RPM/60
Cycles per second = (RPM/60)/2 or RPM/120
Time available between injector pulses (period) = 120/RPM

Given this information, it's easy to calculate IDC:

IDC = PW/Period, or PW/(120/RPM)

Now that we know how IDC is calculated, lets plug some numbers in.

At any point in time, the ECU is determining the required injector PW based on reported airflow, assumed injector size and base fuel pressure, battery voltage, temperature compensation, desired AFR, engine load, etc. As an example, let's assume that under a given set of test conditions at a steady 7000 rpm, a required PW of 13ms is calculated. Plugging those numbers into our IDC formula, we get the following:

IDC = PW/(120/RPM) = .013/.017 = .765, or 76.5%

So at 7000 rpm and with our set of test conditions, the ECU has 17ms of time available to open an injector, close it, and then open it again at the start of the next cycle. If the injector stays open for 13ms during this 17ms "window", you get an IDC of 76.5%.

But what if under these same conditions, the ECU has smaller injectors to work with? Lets assume that with these smaller injectors, the ECU calculates that it needs a longer PW of 18ms to hit the same AFR under the same conditions. Plugging that into our formula, we get the following:

IDC = PW/(120/RPM) = .018/.017 = 1.059, or 105.9%

What we end up with is a calculated pulse width that is longer than the time available between injector firing events. The ECU is going to attempt to hold the injector open for 18ms, but there is only 17ms available before it has to send the next 18ms pulse. The net result is that the injector never has time to close before receiving another pulse, so it's running wide open. So, we have a calculated IDC of 105.9%, but a true IDC of 100%... since an injector obviously can't be open longer than 100% of the time.

To summarize, an IDC below 100% is an accurate representation of how hard the injector is working. Anything above 100% is irrelevant since the injector is open continuously at that point.

*****

As you've probably guessed, that ^ is a greatly over-simplified description of injector behavior. For one thing, the injectors don't just instantly open and close; it takes a small amount of time for the coil to fully energize and open the pintle or disk depending on the voltage, fuel viscosity, fuel pressure, etc. It also takes a small amount of time for the injector to close once current stops flowing through the coil. This additional time has to be considered by the ECU when calculating pulse width, and can therefore affect IDC to some extent. On top of that, fuel flow through the injector isn't always linear with changes in pulse width, which also has to be considered.

Fortunately for us, we have the ECU to handle all of this craziness and to provide us with a simple IDC parameter to quickly evaluate how hard our injectors are working.
 
Last edited by a moderator:
The guys over at ECMLink wrote some fairly complex algorithms for the closed-loop MAFComp and VE adjust tools to determine what is good data and what isn't. When using the WBError in open loop to do it manually, you have to decide for yourself what is valid data and what isn't.

During open loop at WOT, it's easy; throttle is 100%, while RPM and load is increasing at a nice linear rate. So other than that first little section when things are settling down, the entire pull is good stable data.

While cruising in open loop though, that isn't the case. You are constantly varying the throttle and RPM, and engine load changes with hills, wind, etc. (Not to mention the desired AFR is a moving target instead of 14.7:1, unless you set large areas of the DA table to the same AFR value). So you have to hold conditions stable at different points to get good steady-state data to use, or look for sections in the log where those conditions are met.

The best way to go about that I've found is to find a flat stretch of road and hold the throttle and RPM at a set point (say 3000rpms) for 10-15 secs, while making sure LoadFactor doesn't vary too much. Then highlight the middle 3/4 of that section or so, average it, and adjust airflow based on that. If you can do this safely in different gears and at different speeds/load/RPMs, you can cover quite a bit of the operating range and get pretty solid numbers to work with.

If you are really anal you can try holding MAFRaw at a specific value that corresponds to a slider. For the VE guys, you can try holding things at a point that corresponds to a specific RPM/MAP cell in the VE table.

Tip: Long, steady hills are great for getting to higher airflow/load points at lower RPMS and safe speeds. If you have aftermarket brakes and know what you are doing, you can also carefully drag the brake pedal for short periods of time to increase load...but I didn't tell you that. :D
 
Last edited:
Status
Not open for further replies.
Support Vendors who Support the DSM Community
Boosted Fabrication ECM Tuning ExtremePSI Fuel Injector Clinic Innovation Products Jacks Transmissions JNZ Tuning Kiggly Racing Morrison Fabrications MyMitsubishiStore.com RixRacing RockAuto RTM Racing STM Tuned

Latest posts

Build Thread Updates

Vendor Updates

Latest Classifieds

Back
Top