I have not noticed the problem at all with my new map, but it also has been very close to the colder temperatures here. I'll leave it until I see the problem re-occour.
Tim, I have a new mat and map, I guess I was meaning that the map values are changing in the ecm or something is ? Have you gotten anywhere further with the ecm, prom , chips, ect? As long as it stays cold out, your probally going to be fine. Come warmer wheather, it will be back, if you have pot meter`s and can stimulate the cts and mat---mat being higher in temp, it should hunt for you, or bring both values up cts & mat , to make for a typical summer day, like 80* on both, that should do it. Radio Shack will have the pot meters for a couple bucks each, other than that, it just takes a couple minutes to hook up and change things around.
IP: Logged
08:18 AM
Oct 28th, 2006
Dan010 Member
Posts: 776 From: Katy, Texas USA Registered: Oct 2001
I think the rapid drop of temps has cured alot of the sufferers. it is not as bad or non-existant below a certain temp, so it makes it hard to determine if the problem is fixed or gone. 3800superfast won;t let this die. I think the proper fix is a tweaked chip. another workaround seems to have some bugs in it, but the change of temps makes it hard to test anything.
I`m in the process of the work-arounds, also trying to duplicate wheather conditions in my shop--costing a small fortune to heat, --but I`m real close to the temps we need, also I think tjm4fun is right--we need someone to burn a chip. once thats done, I think we can lay the hunt idle issue to rest once and for all. In the mean time---I`ll keep plugging way.. The big time taker is *we only get that one shot at it* then the wait, then try something different, then the wait...
I changed the idle fuel map and that solved the problem a bit. I did not drive the car much to see if the problem came back like it did with yours re-learning something. Ill get the car out today and drive quite a bit in hope that it does this so we can further pinpoint what is going on. Problem is the car is going into storage very soon for winter, so my personal testing capabilities will be limited, but I can do static tests. I am still running on all stock sensors, no new sensors installed.
IP: Logged
12:06 PM
tjm4fun Member
Posts: 3781 From: Long Island, NY USA Registered: Feb 2006
TIm, if you used the values I posted above, that was just a guess, as I said. you may want to tweak all the values down by .5 in those temp ranges. get it slightly richer. still just guessing tho. right now, I can;t get mine to even do it with fooling everything, the temps apparently have just crossed below the window. (not that I really had the full hunt, I could duplicate it, but seemed to be about 1/2 the effects)
I can do the testing -as mentioned I can duplicate the temps in my shop, just did this last night, I had a hunt idle going on, and with the apparent temps changing back forth, I`m also able to dail in any cts or mat temp needed to cause this hunt idle to start , or cause it not to happen/hunt. Bought/tried some lower value resistors, and will work steady with these over the next several days--I`m logging each attempt. I still beleive for this to work correctly, a chip will need to be burned . I may try one of the other ecms I have here with the newer versions of what I have been doing to see if theres any difference, I have a hypertech chip , I may throw in --just to see what happens--as we know these pretty much dump in raw fuel and richen up the mix--whos knows? Along with that and the new work-arounds, it may do something. From what I have been able to tell with all this testing, is Gm for some odd reason had a batch of ecm`s programed/written this way , and I`m not sure why.. I am curiuos if anyone that has the hunt idle--is having a longer step down period and higher rpm (first cold start idle) now that the wheather is getting colder.
Did some more testing last night: Temp in shop around 59.9
1. mat ===57.4 cts ===58.5
2. test 1. in-line 3.3 resistor, with mat sensor still used & on/off switch value change with 3.3 resistor === switch on:: which says off on my switch mat == 41.5 cts == 58.5
***started fine--however idle was a little high*** very little hunt when blipped.
2. test 2. just checking switch==for some reason switch off --equals the lowering of the mat sensors temp. Switch on raises the temp to normal mat sensor reading.
***started fine ==no hunt------mat 47.0 cts == 68.5
Time to move up in ohms--went to 10K in--line with mat sensor still in place..
***started fine***==no hunt---
Here comes the problem, watched the winaldl , temps raise about 30 degrees accross the mat & more on the cts, ok we have gone into closed loop , when playing with switch at lower temps in open loop, it takes a minute or so for the rpms to idle up or down after the switch is thrown, (very slow) . Tried a strait inline 10K with mat sensor still in, (after cooling a little) something is fighting this reading as it will show a 20 degree reading at the mat sensor on winaldl, which should raise the rpms up (alot) doesn`t happen. The cts sensor is reading normal for closed loop--this will also stop the hunt idle when hotter, from what I can tell----the only time it will make a Slowwww difference is when car is dead cold--then it is very slow to re-act to the switch on or off--allthough you can monitor this with winaldl, (that stops the hunt idle in and of it-self) --which makes me think, that uses a 10K resistor to cross the dio terminals ? Another problem/delay, when a new resistor is cut into the system , the battery needs to be disconnected, this also re-sets the values at the ecm--allowing it to reproduce the **no hunt issue** all over again. I now have a 10K with a on/off switch installed --only time will tell, whether this is going to work properly, my guess is , by the speed in which it re-acts to the switch, its a toss up, whether to keep the switch to alter the mats reading at first start-up or just run a 10K resistor in-line and eat it on the extra fuel being used , the good part is , it won`t use it all the time--as even with the 10K inline, the mat sensor reading warms just a tad slower. But --this still has to be tested more. Back to an opinion: a chip burn is in order here. I`ll keep plugging away at work arounds ----how effective and usefull they may be to folks with the same hunt idle problem will have to be determined by them. I hope to get as close to a perfect idle as possible--with a 5-10 minute solution/fix. So everyone can benifit from this. I think Tim & tjm4fun will probally have to read more into the ecm tables to discover what is the actuall cause at the ecm. Physically we can fool the ecm, I`d like to correct it...
[This message has been edited by 3800superfast (edited 10-30-2006).]
IP: Logged
09:18 AM
tjm4fun Member
Posts: 3781 From: Long Island, NY USA Registered: Feb 2006
the mat will not effect your idle rpm, that is worked form the cts. the mat only affects the fuel mix, colder temps = add more fuel cause the air is denser, hot is add less. it should not effect the idle rpms much, maybe 50 -100 rpm at most if you went to extremes. the only way you would likely see the effect of that is with a wide band o2 and meter in the exhaust, you would see the ratio go rich/lean slightly. since I still believe this is leaning out too mcuh, even the slight adjustment on the mat is enough to fix it. what is really needed is the full map of the ecm prom and when it uses what values, the tuner program does not cover all the areas of the prom. the cold start section is all we should need to fix, just finding the right value is the issue. I don;t know if the rich running hypertech chips do anything in the coldstart area, you could try it and see, but I would see no reason to touch that in a performace chip, theyl likely just use the stock table.
temps in the 60's today. drove the car and had no idle hunt problem. all three times I started it after sitting for 2 weeks, 5 hours, and then 2 hours. I will reburn a chip with everything moved down .5 to see if that makes any changes. I also would love to see if there are any differences in some of these chips. I can run a compare on chip bin files to see. if anyone can send me a bin file of their car's chip I and look compared to what I have in my library of chips.
3800 can you read your chips and look at the table differences? I would love to look in one of those hypertech chips and see what their fuel map is for idle.
well, gave up on my old eprom burner for now, no time.(it works, but I have to write a program to create a checksum for it on the c64 then duplicate it on the ibmpc side, the use a null modem cable to transfer it, if the comm program I have for the c64 will talk to the ibm.) I just got one off ebay for 35$, (gotta love those snipe programs). as soon as I get it here I'll dump my hypertech and my stock 88 for comparisons. Tim, I'll let you know as soon as I have em, then email them to ya.
Still waiting for my Chip burner to arrive. Mail for the past few weeks has been really slow and I am guessing getting delayed. I just wish that electronics stores were common today like they were in the 80's. I used to be able to drive downtown and pick things up I needed for projects like this.
I did the 3.4L OHV engine swap this summer but still have not put the car back in service yet. It runs fine for now but I have not put many miles on it as its not insured/licensed yet. I am following this for learning mainly. Good luck to everyone.
Question: Is the hunting idle limited to one engine type?
[This message has been edited by Hudini (edited 12-15-2006).]
Seems this thread died. Any answers yet 3800superfast?
I have a question for you too, you have Winaldl, correct? What is your IAC count at idle? I am getting a code for IAC and my count at idle is 2 or 3. I am thinking this is too low because the TB has been messed with (the cap is missing for the throttle plate screw).
Originally posted by Hudini: Seems this thread died. Any answers yet 3800superfast? I have a question for you too, you have Winaldl, correct? What is your IAC count at idle? I am getting a code for IAC and my count at idle is 2 or 3. I am thinking this is too low because the TB has been messed with (the cap is missing for the throttle plate screw).
Still waiting on Tim to send down the re-programmed chip, he has had some problems getting his burner fixed/replaced, when the weather is cold they run like normal, but I`ll be able to dupilcate hotter temps in my shop. On your iac counts , they should be reading between 30-35 this is with the engine at normal operating temps at idle. I`ll post a stop idle screw adjustment and proceedure for you, give it a try, let me know how it works out, each time you do this --remember to drive the car over 35mph to re-seat the iac pintle. Hopefully it will take the first time.
If everything is working properly, no exhaust leaks, no EGR leaks, and the engine is properly tuned, you can go through the IAC system.
Idle is controled by the IAC valve (idle air control) via the computer and is not adjustable.
You can go over the system if your not happy with where it is idleing. Proper idle for the V6 is roughly 900 RPM.
The set screw in the throttle body is for minimum air flow through the throttle plate which is often misunderstood as the idle screw. Any tweaking of the throttle stop screw will give the ECM fits. The ECM wants to be in control of the idle and is not happy when it can't control it. If the normal learn limits of the ECM are exceeded, they will be reset to nominal, causing an erratic idle.
The IAC and associated passages need to be clean to work right. Remove the IAC carefully. You can clean it (the nipple) using carb cleaner and a small brass brush or rag. At this time also clean the throttle palte. Once clean, install the IAC back in the throttle body and reconnect the IAC wires.
For the ECM to properly control idle, the throttle stop screw must be set for "minimum air". This is a process that sets the idle with the IAC fully extended. To fully extend the IAC, jumper ALDL pins A and B together (just like when you check codes) and turn the key on, but do not start the car. With the key on, not running, and in diags mode, the ECM will keep trying to fully extend the IAC. After 30 seconds or so, pull the IAC connector off the IAC *before* doing anything else. This will capture the IAC fully extended.
Now pull out the jumper in the ALDL, and start the car. Typically the "minimum air" idle speed is in the 500 RPM range. I find the car can bearly run at 550. So as long as you can get it to idle on its own between 600 & 700 your good. Set the idle using the throttle stop screw. (The engine should be fully warm to do this.) Now shut the engine off and reconnect the IAC wires. The ECM does not know where the IAC present position is, so pull the ECM fuse (or disconnect the battery) for 20-30 seconds. (This will cause a complete ECM reset of all learned parameters, including the learned IAC ones. Then reinstall the ECM fuse.
Turn the key on, wait 10 seconds or so, and turn the key back off. This will now reset the IAC to a known key-off "park" position. Now start the car. The engine should idle properly under control of the ECM. There are some learned values, such as an IAC offset for A/C, etc that need to be learned, but this will happen under normal driving conditions. I suggest driving the car right away under all conditions. Stop & go, steady cruising over 45 mph, full throttle, and so on. Pull over a few times and turn the car off, then restart it. The IAC can only learn X amount of counts with each run position. If everything else on the engine is in good condition and operating properly it should be around 900 RPM after coming to a complete stop with slight variations and improve over time.
So I did the IAC reset and adjusted the throttle plate screw to give 30 counts at idle, warmed up. Then I took it out to relearn idle and check the BLM values. The idle seems to be about right but still hunts just a tad around 975-1025. The ECM set a code again though for the IAC.
Not sure if its related, but my BLM values while running down the interstate were 120-122. Then when I got back and let it idle, BLM was running at 105. So reading on another site, it seems my car is running rich and the ECM is pulling out fuel until it reaches its limit at idle of 105.
I plan to replace the IAC to fix the error code. Also, I forgot I have an adjustable fuel pressure regulator. It might be set too high, so I am going to lower the pressure to see how the car reacts.
[This message has been edited by Hudini (edited 02-11-2007).]
Wait on the iac replacement until after the fuel pressure adjustment, then try the proceedure again, it takes some tinkering to get it dead on. Mine did the exact same thing on the rpms 975 to 1025rpms, also seems to idle in park or netural around that 1025rpm mark for some reason. drops to 950-75rpms in drive or reverse. I`ll re-read some stuff but 122 blm on highway isn`t bad. I`m thinking the 105 blm at idle is lean---but again I`ll re-read.
Ok, This will help, it takea a little bit of time to get the full grasp, but once you understand it, things fall into place. Misewell post it here in the idle problem/winaldl thread in case others need to learn also. Hope this helps some..
How GM Electronic Fuel Injection Works Update 2/12/07 - Many people have asked me why the chip has to be reprogrammed if the fuel logic is self-adjusting. I have added a new section at the bottom to clarify the need for tuning of the chip.
This document describes how GM Fuel Injection manages fuel and spark in gasoline engines from a novice’s point of view. Actually GM systems manage fuel, spark and transmissions so a more appropriate description would be GM Powertrain management. There are three basic functions of GM fuel injection; fuel management, spark control, and transmission control. I will discuss fuel management first since that is the most important.
EFI systems have different operating modes depending on the power output needed from the engine and operating conditions. The modes are open loop, closed loop, power enrichment and lean cruise modes. I will describe closed loop first since it is the predominant operating mode.
Closed loop mode means the engine control module (ECM) measures the A/F (air/fuel) ratio and uses this information to maintain the A/F ratio at a certain constant value. This mode uses feedback from an (oxygen) O2 sensor to close the loop. The A/F that the system tries to maintain is 14.7 to 1. The reason is that a 14.7 A/F ratio allows a catalytic converter to reduce exhaust emissions most efficiently. Engines don’t necessarily run the best at 14.7 at all times, but they produce the least emissions with a catalytic converter at this ratio. Also, it just so happens that the standard O2 sensor is most accurate at 14.7 A/F ratio, which gives a good feedback signal.
The bottom line is that the ECM control logic tries to maintain a 14.7 A/F ratio during normal conditions. Normal conditions are a fully warmed engine and other than full throttle. Because of closed loop, engines can run for thousands of miles and the EFI system will compensate as the engine wears to keep fuel delivery consistent.
Open loop mode differs from closed loop in that the O2 sensor is ignored and the engine can be managed to run at A/F ratios other than 14.7, usually richer or lower than 14.7. The ECM controls the fuel injectors without getting any feedback that the calculated fuel delivery rate actually matches what the engine received. Without feedback, the loop is open, hence the term "open loop". A good example of open loop is when the engine is first started on a cold day. It requires a rich mixture to start a cold engine since a lot of the fuel doesn’t reach the combustion chamber. This is because a portion of the gasoline doesn’t vaporize and pools inside the manifold until engine heat vaporizes the fuel. Another reason that engines run in open loop when cold is that O2 sensors don’t work until they reach about 6008 F, so it takes a few minutes in cold weather for them to begin functioning. Open loop is sometimes used at idle conditions since some engines idle better with a rich mixture. In open loop, the ECM commands an A/F ratio that is determined from a table of A/F vs. engine coolant temperature. The open loop A/F is also adjusted to run richer as engine load increases.
Another mode is power enrichment mode. This mode only occurs under wide open throttle conditions and is solely determined by the throttle position sensor (i.e. above say 60% throttle opening.) In this mode, the ECM ignores the O2 sensor and commands a richer than 14.7 A/F ratio. This is because engines develop more power with a slightly richer mixture but not too rich. This is the area of tuning that interests hot rodders the most since PE mode is where the fuel delivery for all out power is determined.
Finally there is lean cruise mode. In this mode the ECM commands a leaner than 14.7 A/F ratio or less fuel. This mode can only used be used at light loads when the vehicle speed is above a certain value, in other words, hiway cruise. In this mode, the ECM commands the leaner A/F ratio, increases spark advance, and occasionally returns to closed loop mode to double check itself. There is one problem with this mode. GM ultimately did not enable this mode since it allowed them to circumvent the emissions laws to achieve better gas mileage. This mode is only used by GM EFI tuning experts with enough knowledge to make it work without damaging their engine. If the engine is run too lean, spark plugs, valves, and pistons can be damaged. However, when done correctly, up to 10% in mileage gains are possible above the already excellent mileage from closed loop mode.
In summary, GM EFI controls fuel to maintain a 14.7 A/F ratio at all times under normal conditions. During other than normal conditions, open loop mode is used so that A/F ratios other than 14.7 can be commanded.
From this point on, this document will go into greater detail about how the ECM implements the different modes and how the system can be retuned to control modified engines.
The best way to organize the rest of this document is to explain each term in the fuel delivery calculation individually. The pulse width of an injector determines the amount of fuel delivered to the engine. A pulse width is the amount of time an injector is turned on over a fixed time interval. If the injector is turned on longer, more fuel is injected. If the injector is turned off sooner, less fuel is injected. The equation that determines the injector pulse width is this:
BPW = BPC * MAP * T * A/F * VE * BVC * BLM * DFCO * DE * CLT * TBM
Where
BPW - Base Pulse Width
BPC - Base Pulse Constant
MAP - Manifold Absolute Pressure
T - Temperature
A/F - Air Fuel Ratio
VE - Volumetric Efficiency
BVC - Battery Voltage Correction
BLM - Block Learn
DFCO - Decel Fuel Cutoff
DE - Decel Enleanment
CLT - Closed Loop
TBM - Turbo Boost Multiplier
In the above equation, any term that has a value of 1 is essentially not contributing to fuel delivery or neutral. It is not taking away or adding to the fuel quantity.
BPW - Base Pulse Width means the pulse width under steady state engine conditions. Extra fuel is added when the throttle is juiced for acceleration. This is called asynchronous mode and will be discussed later. The above equation only consists of the synchronous mode contribution.
BPC - Base Pulse Constant is a term that is calculated from the volume of one cylinder, the flow rate of one injector, and a constant that converts the units to match other terms in the equation. For more on this term, see www.tunercat.com and the 1227747 ECM calibration help file.
MAP – Manifold Absolute Pressure is a measure of the load on the engine. It is the pressure inside the intake manifold in KiloPascals above absolute zero pressure. It is the opposite of engine vacuum meaning that a high vacuum reading is a low MAP value. Zero vacuum (full throttle) is 100 Kpa MAP. Although I don’t fully understand the inclusion of this term in the equation, it is used extensively in all areas of engine control.
T – Temperature is actually the inverse of the absolute temperature. Once again, I don’t fully understand the inclusion of this term in the equation, but as you will see later, I don’t need to for the purpose of this document. It probably adjusts for the density of the air in calculating the fuel delivery.
A/F – Air Fuel Ratio is a term that I do understand. In closed loop mode, this term remains 1 and does not contribute to the equation. In open loop mode, this term takes on different values depending on coolant temperature, MAP, cranking status, clear flood condition, throttle position sensor, etc. When this term is other than 1, the closed loop term is held to 1 so that the two terms will not be fighting one another. This term is also where PE mode is implemented. In other words, this term is the controlling term when other than a 14.7 A/F is desired.
VE – Volumetric Efficiency is a term that corrects for different engine efficiencies. An engine is basically an air pump and the better the pump, the more power it can generate. Some engines are better pumps than others at a given RPM and MAP condition, so this term allows the equation to be calibrated for different engines. This is the single most important term that a speed density EFI system is famous for. There is a table in the ECM EPROM (chip) that gives VE for a given RPM and MAP condition. The important concept to grasp here is that the VE table is used in both open and closed loop modes, and essentially all modes. What is not so obvious to a novice is that this table, when programmed correctly, will result in a 14.7 A/F ratio with no closed loop or open loop correction taking place. In other words, this table provides a baseline that tells the ECM where 14.7 A/F ratio is so that other A/F ratios can be commanded and the ECM will be at the desired AFR. When this table is adjusted correctly, the engine runs the smoothest, not because the engine is running at 14.7 necessarily, but because all other ratios depend on this table being accurate. If this table is off, the closed loop term will correct the A/F ratio back to 14.7 to a degree. If this table is way off, the closed loop term can’t compensate and the engine may not run period. A good example of when this table needs adjusting is when a hot cam is installed. A stock cam typically idles at 17 inches vacuum. But a hot cam might idle at 15 inches or less of vacuum. The VE table will be calling for more fuel at a lower vacuum reading (higher MAP), but the engine doesn’t need the extra fuel because its still idling. In this case, the calibration doesn’t match the engine’s airflow characteristics. Unless the VE table is changed to lower the efficiency at this MAP and RPM, the engine will run very rich and probably stumble and blow black smoke. The majority of retuning a GM EFI system for non-GM and non-stock engines is done in the VE table since this is the baseline of the entire system. See Figure 1 for a sample of this table.
FIGURE 1.
BVC – Battery Voltage Correction is a term that corrects the fuel delivery rate for different battery voltages. The injector response is enhanced at higher voltages and is a bit sluggish by comparison at lower voltages. This term is a correction to offset the change in injector response due to battery voltage fluctuations. I suppose in time the closed loop term would correct the A/F ratio anyway, but this term catches it first. I see no reason to change this table since GM set it up based on their injectors’ characteristics.
BLOCK LEARN – Block Learn is a term that is related to closed loop mode, but continues its influence during all modes. To make the block learn term easier to understand I will ask you to jump to the closed loop term discussion and then come back to this section. Now that you understand the closed loop term, I'll continue. The BLOCK LEARN term can be viewed as a semi-permanent automatic adjustment of the VE tables. I say semi-permanent because if you disconnect the battery, the BLM adjustments revert back to 128 or neutral (the neutral value for a BLM value is 128). Another name for the BLOCK LEARN term is long term fuel trim. Over time, the BLM numbers will settle at a value that gives a 14.7 A/F ratio with no closed loop term correction. I say values because there are more than one BLM value, unlike the single Integrator. The BLM can be up to 32 different numbers depending on the ECM model. The Block Learn term derives its name from the way the VE table is divided into blocks for the corrections to take place. To illustrate this better, see figure 1. I have drawn a grid over the VE table. The grid in the figure is for illustration purposes only. The actual BLM boundaries are decided by the ECM and the EPROM settings. Each division of the grid is called a Block Learn cell and each cell has its own BLOCK LEARN value. Each cell is associated with certain ranges of RPM and MAP in the VE table, so the BLM value in a given cell affects all the VE values in that cell. For ex., say cell 4 has a BLM value of 140. Every VE value in cell 4 will be increased by 140/128, or about 9 percent. In an adjacent cell, the BLM might be 110, which will decrease all VE values in that cell by 110/128, or 14 percent.
Now that you know how the BLM value affects the VE table, we can explain how the BLM itself is changed. In closed loop, it is discussed how the Integrator increases or decreases as the ECM gets feedack from the O2 sensor. The BLM value tracks the Integrator but has a delay. If the Integrator increases, so does the BLM, but the BLM lags behind the Integrator. The higher the Integrator climbs above 128, the faster the BLM rises. As the BLM rises, it begins to effect the AFR because remember, the VE table is being increased. As the AFR drops (gets richer) in response to the increased VE table, the Integrator will stop rising and begin to fall. Once the Integrator returns to a value of 128, the BLM will stop moving. Not only will the BLM stop moving, it will remain at that value permanently, essentially retuning the VE table at this engine operating condition. The only thing that will send the BLM back to 128 is removing power from the ECMs memory (or retuning the VE table manually with an EPROM burner). In reality, the BLM values never stay in one spot. They constantly jump around a bit near the 14.7 AFR. The tuning implications of this are as follows. Remember that the Integrator value can't be used to determine how far away from 14.7 you are. However, the BLM value can. Since the BLM settles at a value indicating how much more fuel is needed beyond what the VE table is delivering, you can use the BLM value to adjust the VE tables manually, i.e. with an EPROM burner. If your scantool shows a BLM of 150 at 2000 RPM and 50 KPa MAP, then you know that the VE table value at 2000 RPM and 50 KPa MAP needs to be raised by (150/128) 17 percent. The problem is that the ECM doesn't tell you where the cell boundaries are through a scantool, so you need a great deal of data to discover where the VE tables are off. This is where a datalogging program such as Datamaster or WINALDL come in handy. They allow you to drive for up to 25 minutes (longer with WINALDL) and record on your laptop hard drive every sensor and internal value in the ECM up to 7 times per second. Obviously, with this much data, you need a good analysis tool like Datamaster and a statistical analysis program. I take the Datamaster file and export it into Excel so that I can use the data sort functions to group the data into useful information. Once you get the VE table close, one trick is to reprogram the BLM upper and lower limits to 128 so that the BLM feature is disabled. Then, you can use just the Integrator to do the fine tuning. You can immediately see where the AFR is rich or lean at any location in the VE table. But you have to guess at how much to add or remove from the VE table since the Integrator value is not scalable like the BLM values. You can't use just the O2 sensor voltage though. If you are not in closed loop, the ECM will be trying to control to all kinds of A/F ratios, so the O2 sensor voltage will be meaningless. Unless you know all the factors affecting the AFR that the ECM is trying to control to, you have to do your VE table tuning in closed loop. The reason is that the ECM is definitely trying to maintain a 14.7 AFR by definition in closed loop. In general, if your BLM values are all significantly low, then you probably have your BPC set too high. If your BLMs are all too high, set the BPC a little higher. If the BLMs are both above and below 128, but not too far above (135) and below (120), your VE table is probably reasonably close. If your BLMs are way above and below 128 all over the VE tables, the calibration is probably significantly off and needs to be manually corrected in the chip with an EPROM burner.
DECEL FUEL CUTOFF – Decel fuel cuttoff means exactly that. When you take your foot off the gas pedal going downhill or decelerating quickly, the ECM will cut off the fuel entirely. The difference between this term and the next one, DECEL FUEL ENLEANMENT, is that some fuel is allowed to reach the engine during DECEL Enleanment. As to when one or the other occurs, I don't know. I do know that on my TPI system, I noticed a lunge from the engine right around 1500 RPM, so I think this is where the DECEL fuel enleanment takes over from the DECEL FUEL CUTOFF. The lunge was significant and could easily cause you to run into the something if you weren't expecting it. I also believe a speed sensor is required for these two modes to operate period. So this is another reason to have a speed sensor.
DECEL FUEL ENLEANMENT – See Decel Fuel Cutoff above.
CLOSED LOOP – Closed Loop is a term in which the ECM uses feedback from the O2 sensor to make corrections to the air fuel ratio. Another name for this term is short term fuel trim. The ECM makes immediate but temporary corrections to the fuel delivery to maintain the AFR at 14.7. The only ratio that can be maintained in closed loop is 14.7. This is due to the nature of the type oxygen sensor used on most passenger cars. There are other types of O2 sensors called wide band sensors, but they are expensive. They can be used to monitor the AFR at other than 14.7 AFR. The short term fuel trim value is called the Integrator in most early scantools. The value of the integrator varies above and below 128 with 128 being no correction. For ex., if the Integrator is 140, the ECM is adding fuel because the O2 sesnor is reading a lean mixture. If the Integrator is 115, the ECM is removing fuel because the O2 sensor is reading a rich mixture. Anytime the system is not in closed loop, the Integrator will immediately return to a value of 128 and stay there. There is only one Integrator and its value is solely dependent on the O2 sensor. When the engine is started, the ECM will keep the Integrator at 128 until the ECM determines that the O2 sensor is working correctly and that the engine temperature and time delay constraints before entering closed loop have been satisfied. Once the ECM goes into closed loop, the Integrator begins to adjust the fuel delivery to maintain a 14.7 A/F ratio, however, the Integrator term is only weighted half as much as the Block Learn term. The Integrator and BLOCK LEARN work together to re-tune the system to match any engine's charactersitics, up to a practical limit.
TURBO BOOST MULTIPLIER – This term adds extra fuel during boost conditions on turbo charged engines. Discussion of this term is beyond the scope of this document. It is recommended that you purchase Tunercat's SYTY TDF file if you want more information on this term.
Asynchronous Fuel Mode – This is not a term in the equation above but rather a temporary mode in which the injectors are commanded on longer for transient conditions. The accelerator pump shot is an asynchronous mode function in which extra milliseconds are added to the injector pulse width when the throttle postion sensor rapidly changes state. This will be illustrated later in other sections of this site.
Spark Management Unlike fuel management, spark management is an open loop only system. What you program in the chip is what the ECM uses with no automatic adjustment to improve performance or drivability. The exception to this statement is the knock sensor function of retarding timing to eliminate engine detonation, but this function does not advance the timing if the engine is running at less than optimum. The fact that spark timing is not automatically improved means that its up to you, the programmer, to optimize the spark timing tables, and herein lies the secret to tweaking more power from your vehicle. An engine operates at its best power level when the spark is timed to start combustion to give the maximum torque at that RPM and engine load. And getting spark timing this perfect requires extensive dyno testing or road testing. One fellow claims to have reprogrammed his chip 400 times to get it right on. The criteria for a good part throttle spark table is to be able to maintain a given speed and engine load (MAP) with a minimum amount of throttle input. I have found that a reasonably good spark table can be generated by duplicating the spark curves from a factory service manual for a particular non-GM engine or using the spark table from a stock GM binary file for a GM engine of similar size and specs. Beyond these methods, tuning a spark table is mostly trial and error by seeing what works the best and what doesn't. Figure 2 is the spark table I am running in my GMC 350 truck.
FIGURE 2.
Updated 1/26/02 - Many have asked me why the chip needs reprogramming if the fuel tuning is self adjusting. Well, its kind of like the difference between a cheap $200 paint job and a nice shiny $2000 paint job. If the ECM has to do a lot of self-tuning, there are some situations where although the car will be drivable, it will not be smooth and steady, but hesitant and sluggish. The best way to explain why this happens is to look at Figure 1 above once more. Look at the 2000 RPM row and the 40 - 70 range of MAP. Say you have been steadily cruising along at 2000 RPM and 70 MAP (up a significant hill). Also say the BLM at this load point settled at around 118, so the VE table at 2000 RPM and 70 MAP is too rich, requiring the subtraction of 8% (118/128) less fuel. Also say earlier in the day you were cruising at 2000 RPM and 60 MAP on a flatter road. Say that at this load point the BLM settled at 138. This would mean that the VE table value at 2000 RPM and 60 MAP is too lean by 8% (138/128). If we assume that the lines I drew on the chart are the BLM cell boundaries, then we have established that within the same cell, you can have drastically different BLMs. When this happens, your engine will surge, hesitate, and in general feel like it may run out of gas at any moment. It won't, it just feels that way. The reason is this. Say you were cruising at the 2000 RPM and 70 MAP load point for quite some time resulting in the same 118 BLM. Then you quickly peaked a hill and were going down the other side at 2000 RPM at 40 MAP. Now you have jumped from one cell to a lower one. Once you get to the bottom of the hill, you start back up a flatter hill at 2000 RPM and 60 MAP. You would feel a sluggishness and reluctance to go for a few seconds until the integrator and BLM could correct the mixture. What happened is that at 2000 RPM and 60 MAP, the VE table is too lean (138 BLM), but the last time you were in this cell, your BLM was 118 and it stayed there when you left the cell. So now, you are 17% too lean because you are running a 118 BLM where it needs to be 138. This is 16% (118/138) too little fuel. The engine would feel sluggish here for a few seconds until closed loop could correct it. In a very short time of probably less than 10 seconds, the 118 BLM will rise up to 138 BLM, so once you reach a steady unchanging load, the engine will smooth out. In the situation I have just described, the calibration is marginally matched to the engine, although it will run the engine and you can live with the car. But when you adjust the VE tables such that all VE table values in the same cell yield the same BLM, the engine will run much smoother. It doesn't mean the calibration is right, but better suited for the engine. What this means is that a well tuned chip smooths out the transitions from one load point to another so that you can't tell when you've crossed into another cell. Ideally, each load point in the VE table should have had its own floating BLM value, but I imagine that the processor memory and speed were insufficient to handle this complex of a task in the early to mid 1980s when this stuff was created. So, the goal of tuning using the WINALDL program on my site is to get all the BLM values to remain at 128 throughout all the different load points on the BLM chart above.
Thanks 3800superfast. If I read that correctly, 105 means it is extemely rich because the ECM is trying to pull out fuel using the BLM function (105/128 or 18%). I rechecked my Winaldl data and when at idle, the INT is about 122, so the ECM is adjusting BLM to its lowest value (pulling out fuel) in an attempt to raise INT to 128.
I will reduce fuel pressure by 10% to see if that gets the BLM up. (Watching my a/f ratio closely as I have a wide-band O2) If this works, then I will play with the fuel pressure until I get the BLM and INT close to 128.
Hudini, Have you tried the data logs on a strait flat stretch of road -- 10-15 miles around 55mph ? After the engine is at normal operating temps--curious to see what the blm & int are showing then. Where did you get the wideband? I would love to have that set-up.
I messed around with this all day. First I reduced fuel pressure until it is about 24 lbs at idle. The BLM got to about 125 with the INT at 80-90 (still a bit rich). She ran fine around the block and back, idled real nice with the car in drive. When in park she loped around 975-1025. IAC count was adjusted to 30. I thought I was set so I went back to wiring up some more gauges: trans temp and narrow band O2. After messing around with that until this evening, I started the car and she was running very rough. Would not stay running unless I pressed the gas pedal right when she fired. dagnabit.. I think I have some additional problems to work out. Winaldl shows 13.8 or so volts. I either need a new alternator or better grounds (prolly both). I have never liked where I put the ground for the front mounted battery, so I am going to experiment with grounding the car better. If I go with a new alternator, it will be the CS one others have done. I saw you get 14.8 volts from yours so something is not right. Several times the car kinda hesitated when cranking, almost like a dying battery, probably erasing the ECM memory so it is doing a relearn everytime this happens.
The wide-band O2 is a LC-1. http://www.innovatemotorspo...com/products/lc1.php I have only had it installed for a couple days and it seems to be working. However, I have yet to successfully hook it to my laptop to program it for an analog gauge. I am withholding judgment until I get it to work properly (or not). I hooked a narrow band bar graph gauge to analog output 1 since that is factory programmed. Analog output 2 (and 1) can be set to any value to correlate with the voltage output of the O2 sensor. That is, when the dagburn thing starts talking to my PC.
Myself, I just redid the IAC reset. I found that the IAC motor was loose as when I went to remove it for cleaning, it spun very easily. I cleaned it, tightened it, and went through the whole procedure. IAC is now showing about 25 counts, right in the middle of the diagnostic chart of 1-50. We shall see when it cools off how it works.
IP: Logged
05:17 PM
Mar 14th, 2007
twocoda Member
Posts: 159 From: Port Elgin,Ontario,Canada Registered: Feb 2006
I should have a new chip burner here soon, Found a place that is willing to let me return for a full refund if it does not work for my application. Most of these places want to sell you that $450.00 burner on the "too bad - so sad" warranty plan. In other words, we have your money and you will not get it back warranty.
IP: Logged
06:51 AM
Mar 23rd, 2007
86soon3.4 Member
Posts: 1537 From: Sobieski,WI,USA Registered: Dec 2005
Just had some time to do some testing on my 3.4 pushrod idle surging problem and I think I cured it (fingers crossed). What my problem was, when the engine got warm (up to operation temperature) it would idle up and down from 600-1200 steady. So I changed the MAP sensor and it got better. 800-1000 lope. Then I remembered I had the same problem with the engine in my old notchback. When I switched the engine I grabbed the wrong vacumn can that mounts below the cruise servo and didn't notice it until I was all done with the swap. So I switched that out next and NO MORE SURGING!!!!!!! Took it for a ride and it is gone!!! I hope this helps someone else with the same issue.
Very interesting. I have the same problem with my 3.4. If I read correctly you where thinking making gthe air/fuel ratio richer would correct the hunt. I have the hunt on my 3.4 when the air temp get around the 60's range also. Cold it idles fine and hot it settles in nice.
However my idle mix is very rich right now due to the 3.4 injectors. When mine is hunting the INT is down in the area of 70 so it' pig rich and trying to lean it out. I was running rich all over and have worked the running table but need to work on the idle area now.
What I'm basically saying is going richer does not seem to help.
I also wondered about IAC count. If the count area it runs in makes any difference. I have mine set to idle with the count around 30. My 88 runs around 55 and has never had a hunt. Wondered if that would make a difference. The count should relate to the position of the pintle to the passage seat. The lower the number the more closed the valve is.
Since the pintle has a tappered end, the position could have an affect on how sensitive it makes air control. I'm going to move my count up a bit and see if that has any affect on the hunt.
Just another idea.... Will also check out 86soon3.4 info and see what that does.
IP: Logged
06:36 PM
Apr 12th, 2007
lurker Member
Posts: 12353 From: salisbury nc usa Registered: Feb 2002
I've been looking at the timing curve. For some reason from 1600 to 2800 rpm at 1/4 map load and above they have the timing jumped to 46-48 advance.
They don't drop it down until about 1/2 map load. That fits since stepping on the gas more when it's pinging makes it stop. At more load they drop it down into the 30's.
This hump in the curve table must work for the 2.8 but not the 3.4.
I'll adjust this next and see what results are. It's going to rain and possibly snow the next couple days so might not be able to test it to soon.
Will while changing the erprom for the timing I also took some of the rich out of the idle. I get a farily aggressive hunt after the engine is at temp and the intake air get up around 60 or better. It will settle down some time or just keep hunting others.
I'm wondering if it has to do with the response time of the ecm vs that slow rate of air/fuel flow at idle. When if the idle A/F ratio is off an the ecm has to keep changing it, it might get into a hunting loop due to the changes taking to long to make it thru the loop so the ecm over reacts.
IE, if the idle is to rich, the ecm leans it, by the time the O2 feed the change back to the ecm it's gone to over lean so the ecm goes rich and it repeats again.
The response time of the IAC might also play into this. Right now I'm thinking the closer the idle fuel settings are to optimal the better.
I have leaned the idle part of the table trying to bring it closer to normal for idle. I might not have gone far enough yet but will give it a try later today or tomorrow. Since my idle INT was running as low as 70 at times I was very rich.
I'll let you what the results are.
[This message has been edited by Dodgerunner (edited 04-15-2007).]
Well took a drive. Maybe better not sure yet. The INT at idle was improved from 70 to 80 still more to go. Here is a log view of the INT (red), RPM (blue), and MAT (yellow).
This is part of the log after I pulled into the garage. The MAT is increasing since the car is still.
When I pulled in the idle hunted a few times (blue @ time 680-720) then settled (680-700) I blipped the throttle a few times (720-750) and it then bounced a couple times and then settled (760-780).
I'll be adjusting the fuel more seeing is I can get the INT up closer to 128. I check the logs from my 88 which has no hunt and the idle INT is around 128 most of the time. It is interesting that idle settled when the INT moved up to 90.
Would be interested in what other owner INT runs at idle on their engines when hunting. This maybe just one possible reason for hunting. Will be interesting to see as I test further...
[This message has been edited by Dodgerunner (edited 04-15-2007).]
Wanted to keep this thread alive. I've been tweaking the timing advance on my 3.4 as well as adjusting fuel setting to lean her out with the 3.4 inj.
Yesterday I ran the latest settings. My idle hunt changed from a 500rpm swing down to 200 or less. (I'm shooting for around a 50 swing like my 88 has) I'm still thinking it due to the inj. fuel setting being off and the slow adjustment and over reaction of the ecm to the air/fuel flow at idle.
I'm not done adjusting yet and will keep you informed.
On the ping issue I have most of the ping removed above the 2800-3000 range but still have some below that as higher engine loads. I currently have the advance reduced to 37* in many of the table cells and am seeing improvement.
[This message has been edited by Dodgerunner (edited 04-24-2007).]
Wanted to get back to this thread that my friend 3800Superfast had stated a long time ago. I have continued to tune on my 3.4 prom. I recently tried a new fix for the idle hunt that has worked great for me so far. One was posted by a member that said if his TPS voltage at idle was very much above a normal .55 volts (like .6 or greater) seemed the hunt was worse. I Check mine and it was a bit high so adjusted it. That might have made some improvement but still had hunting at times.
From my days working with building control systems there was always a delta adjustment for how fast the controls would react. Kind of figured the idle hunt issue was related the the recovery rate of the idle adjustment made by the ecm. Well turns out there are some setting related to idle adjustment. In fact there are step rate adjustments as well as delay times. Both of these are available for extend and retract of the IAC.
I didn't want to change the retract (idle increase) setting since I wanted the engine to be able to recover from an idle dropped or quick throttle close. So I Simply bumped the extend delay for the small idle errors from 6ms to 8ms to slow the idle drop response. The hunt is gone. If it does hunt now it bounces once or twice and settles right in at 900 rpm. I might increase the Large error delay also to see if that removes what little is left.
I B happy....
Just wanted to share that this has worked in my case.
[This message has been edited by Dodgerunner (edited 07-24-2007).]
A miracle has happened. After months and MONTHS of fighting with getting my working 900 year old eprom programmer broken, getting a new replacement, getting 3 new replacments that all fail to program a stock Fiero 2732a chip, getting the old programmer fixed, getting it damaged by the repair company, getting a new type that cant program 2732a eproms, sending it back with a upset rant to the company president on the phone. I finally have a working programmer in hands. I actually just verified it by yanking the prom out of the 87GT ECM I have laying around, reading it, programming a chip, verifying it, then uploading to pc, download back to programmer and re veryifying it.
I finally am back to where I was in November of last year... Able to burn a eprom for our cars. With a twist. I must have really got the ear of someone at the electronics repair company, they sent me 2 brand new (well for 1991 programmers new) STAG gang programmers and the software for them that runs under XP/W2K.
I am overjoyed and now we I can send out the chip I promised 7 months ago! once I check over my work again.
Moral of the story, dont cheap out and buy a low end programmer, or 3 of them. they do not work on anything but the new fancy chips.
So where were we with this quest?
[This message has been edited by timgray (edited 07-25-2007).]