Progress of another noob

ntc490

#16 โ—ˆ 2014-06-23

I updated the LC1 wiring details based on a recent discussion with Klaus of Innovate Motorsports. Check the section marked "Heater Ground" if you read that section of this topic a while ago.

ntc490

#17 โ—ˆ 2014-06-23

Running Your Own ECU Code

My next step was to see if the ECU chipping that I did was successful. I did this by programming the stock P28 code into an SST27SF512. The idea is to use the exact code that's already in the MCU, but run it from the external socket to make sure that all the soldering I did worked.


What's Flash?

The word "Flash" refers to a type of "chip" that's used to implement a read/write electronic media for storing information. It's similar to old EPROMs in that it is often used to hold programs and data for microcontrollers and microprocessors. The nice thing about flash is that it is electrically erased and works much quicker than EPROMs. EPROMs require UV light to be erased and take a relatively long time to erase and program. If you want to know more about flash, check http://en.wikipedia.org/wiki/Flash_memory. There's lots to learn. You can find EPROM and EEPROM there, too.


What's in a BIN File?

The first step was to find the right BIN file to burn into the flash so that my ECU would run my engine. You could burn part of an MP3 into the flash if you wanted, but the MCU wouldn't understand that. There has to be valid program codes for the OKI MCU in the chip, or your ECU won't work right. It will go into limp mode with bad code in the flash.

I found the stock BIN file for my ECU and car by following this http://www.pgmfi.org/twiki/bin/view/Library/EcuDefinitionCodes link. Other people have used special hardware to read the code from stock computers and kindly posted it there for everyone to use. You have probably already seen this link since reading the Wiki is a prerequisite for entering the forums, right? ;) My car uses a 304 since it's a '94 Civic EX Coupe with manual trans and D16Z6 engine.

The BIN file contains both instructions for the MCU *and* data that tells that code how much fuel, timing, and other parameters to control the engine with. In the computer programming world, we call this paradigm a "data-driven approach". The idea is to create a generic program that's purpose is to read tables or collections of data to determine how it should behave. Then all you have to do is change the data to get a different behavior without having to mess with the code.

Data-driven computer architectures are nice in an ECU because it makes them easier to use with different motors. The Honda guys only have to develop one a set of code and it will work with many motors by simply modifying fuel tables and other data. Modifying data is much easier than modifying code for the lay-man, too, so this approach also helps those with less knowledge about the MCU tune the car.

Now you know why we have "P30" code and "P75" code and "P28" code, and why you can run the same maps in almost any of those code bases. The other really cool thing that Honda did is make their ECU hardware very similar so that many of them can run code from other ECUs. This wouldn't work if the hardware wasn't so similar between the different ECUs. This is why you can put "P30" code on a P28 computer, which I will do and explain later.


My ECU Configuration

If you're still a little confused, maybe a concrete example will help clear things up. My car has a P28 ECU. This means the physical hardware or "box" in the car has a P28 label on it. When my car comes from the factory, it runs code and contains maps (this is the data) for a D16Z6. We call this code "P28" code because that's where it lived in its pristine state. The maps are specific to my car's engine.

This portion of my project is simply to take the original "P28" code that's already burned inside my ECU's MCU and program it in an external device. In summary, I'm running original code and original maps in this step.


Programming Chips

I programmed my chip with the ALL11-P programmer that I have. Sorry, I don't know how to help all you guys with the Burn1. The principles are similar.

I started by erasing the SST27SF512. Then I loaded the 304 binary, which contains the MCU instructions and proper maps, into the programmer buffer in preparation to burn it to the chip. In order to get this device to work, you must program the binary to offset 0x8000. The MCU cannot read addresses 0 - 0x7fff on this device. Check below if you want the gory details on why. Lastly, I "burned" the chip with the data in the programmer buffer.

With the car off, I put the programmed device into the external socket of my ECU and made sure jumper J1 was in place. I fired up the car and it ran normally. I then turned the car off and removed the chip to ensure that it was indeed running from the external flash device and not from the internal program and maps. Sure enough, with jumper J1 in place and the ROM missing, the ECU went into limp mode. Inserting the device back into the socket allowed the car to start properly again. I also verified that removing jumper J1 returned the car to original operation and that no configuration of the flash in the external socket would interfere with proper operation.


Using a Baseline

Since I had a baseline to compare my new configuration to, I could now run the car for a while and check to see if it still seemed to be running like stock. It did, and I felt confident that I had an ECU that was successfully chipped and ready to use for the remainder of my project.


Why Offset 0x8000

I've seen lots of posts on this forum asking if burning your BIN file at offset 0x8000 is really necessary. Others will program the BIN file at both offset 0 and offset 0x8000 just to make sure.

In summary, you *must* have your BIN file located at 0x8000 if you're using an SST27SF512 in a P28. This is probably true for many, if not all, of the OBD1 ECUs. If you're using a smaller device in place of the SST27SF512, like the original 27C256, you should *not* use the 0x8000 offset.

The reason you have to use 0x8000 as an offset with the SST27SF512 has to do with the wiring of the ECU and the different pinout of the SST27SF512.


Differences in Chip Sizes

The SST27SF512 is twice as big as the old 27C256. This means that it requires an extra address bit to access all its memory. The 27C256 had 15 address lines (A0 - A14) and the SST27SF512 has 16 (A0 - A15). Both devices come in the same package (28 pin DIP) with *almost* identical pin mapping, which is why they can be used interchangeably.

The 27C256 is an EPROM and requires a signal called VPP that the flash chip does not. The logical thing for chip designers to do was to put A15 of the new flash chip where VPP used to be on the EPROMs to keep them as similar as possible.

Since the ECU was designed to use an EPROM, it connects the VPP line to 5V. This is required for the EPROM to function correctly in the ECU. Since the SST27SF512 has an address line where VPP used to be, it means that A15 will always be connected to 5V. What address is selected when A15 is high and none of the other pins are high? 2^16th is 0x8000; hence the offset of 0x8000.

The OKI MCU is designed to read code from address 0 when it starts up. Even though the MCU thinks it's reading addresses 0 - 0x7FFF from the ROM, it's really reading 0x8000 - 0x8FFF when you have the larger device because A15 is always high. It really doesn't matter to the ECU. The only one that has to be aware of the difference is the person programming the chip.

In summary, this means that you can put the BIN file in both halves of the flash chip if you want, but you *must* have the BIN file in the top half (0x8000 - 0x8FFF) when using larger flash chips.

ntc490

#18 โ—ˆ 2014-06-23

Why Run "P30" Code on a "P28" ECU?

Many kind souls have spent many hours disassembling the machine code in our ECUs so we can tune our cars. All those plugins in Crome, for example, are the result of many man-hours figuring out what the code does and then designing changes to that code for features that make our lives easier. The plugins are changes to the *code*, and maybe sometimes the maps in your ECU. They likely change the way the ECU interprets the data in your maps in some cases, too.

It takes a lot of time and energy to understand the code in an ECU. I'm sure that is why we have two basic code-bases that are used most prevalently and why the others are basically "unsupported" in Crome and other tuner packages. Supporting the plugins and tuner software for each ECU code-base does not make sense because it requires so much work and gives such little in return. All the code bases run on all the different ECUs for the most part. Features like VTEC can be worked around and/or disabled when appropriate.


Choosing a Code-Base

Although my ECU runs P28 code when it comes from the factory, there was no way that I could get the new features that I wanted like datalogging, fuel tools, and boost management with it. Those plug-ins have not been developed for the P28 code-base. Since I knew that the P30 code works just fine on my ECU and is one of the more popular configurations, I decided to use the P30 code for my car.

<update 8-04-08>Fixing typo: use a 203 BIN, not 208 as was recorded earlier.</update>

The starting place for almost any OBD1 tuning setup using P30 code seems to be the 203 BIN. I grabbed it from the link given in a previous post and started from there.

The untouched 208 BIN file will not work in my car because the *data* or maps in this BIN file are for a different motor. However, we know from our previous discussion that the P30 code is capable of running the motor in my car with the right maps.


Copying Maps from One BIN to Another

There are some great links for those of you wanting to get a P30 BIN working with your car here http://www.xenocron.com/install/CromeGuide.htm, here http://www.moates.net/documentation.php?documentation_id=28 , and here http://forum.pgmfi.org/viewtopic.php?t=6519&postdays=0&postorder=asc&start=0. Read them a bunch of times until you understand; then read them some more. :)

Although many of the docs I pointed you to use cut-n-paste between maps, I like using the File->export tables and File->Import tables in Crome because it worked so much quicker and seemed far less error prone. I opened an instance of Crome and loaded the default P28 map (304) and exported the tables to a file. Then I opened another instance of Crome and loaded the 208 ROM (P30) and imported the maps from the file I just saved (P28 maps). I now had P30 code with P28 maps.

An extra step that I did was edit the gear table (Plugins->Enhancements->Edit Gear Table) so the new ROM used the P28 settings, and set the options (View->Options). For some reason the gear table changes aren't mentioned in the docs I pointed you to. This is an important step; don't miss it!

You must remove the checksum routine *or* manually update the checksum before putting a modified BIN file in your ECU or it will throw a CEL. Some day I plan to put the checksum routine back in on my ROM for the added safety, but for now I leave it out because I'm making so many changes. Maybe I'll explain checksums later. They're not that difficult and seem to be widely misunderstood.

I added the datalogging plugin since I have a HULOG and will need to get engine vitals to tune my car.

I put the new BIN in my car using my Ostrich this time, instead of programming a chip, and fired up the car. It ran just fine in this configuration. I did run into a problem in that the car idled and ran fine until I tried to accelerate quickly. I noticed that my car would lean out and I had to let up to keep it from detonating. See my topic here http://forum.pgmfi.org/viewtopic.php?t=12417 for details. I got things working again by using a different version of the datalogging plugin, thanks to John Cui's suggestion to remove the datalogging plugin. Things are never as easy as you think they should be.

The car worked great once I went through a little careful trial and error. I used my baseline again to ensure that it was running well. I was also able to use datalogging with Crome Pro and Freelog thanks to version 1.5 of the datalogging plugin.

Update 6-28-07: Here's a thread viewtopic.php?p=90939#90939 about datalogging that might help you if you have problems. Be sure to do a search, too, since there are tons of threads on datalogging. I have replied to several - you may try a search for threads I've replied to.


Summary

At this point in the project I had a P28 computer running P30 code and stock P28 maps. I had added the datalogging plugin and removed the checksum routine so that I wouldn't get CELs. The car ran strong and had the features I needed to start making changes and tuning.

I was still running the FMU and missing link at this point, but that's OK because it had been running like this for a couple of years. The next steps will change that and allow me to run better with more boost.

ntc490

#19 โ—ˆ 2014-06-23

Closed Loop and Open Loop

The terms "closed loop" and "open loop" are used in Control System theory to explain different modes of operation. Check http://en.wikipedia.org/wiki/Control_system for an overview of Control Systems.

To define it crudely, a closed-loop system *must* have feedback on the "thing" it is controlling. It relies on feedback to determine how it should try to change what it is doing in order to better obtain a desired result.

An open-loop system just blindly takes the desired result (an input) and translates it into an action. It doesn't check what happens after it takes action or try to correct anything.


Application to OBD1 ECU

To translate this into ECU operation closed loop mode takes inputs, the MAP and RPM, and looks up a fuel and ignition setting from the maps so it can take action to properly control the engine. It also adds an error signal obtained from the o2 sensor to the map values to try and get AFRs exactly at stoich, which is 14.7:1 for pump gas. If the car is rich, the error goes negative by the difference between the current AFR and stoich, and if the car is lean the error is positive by the difference between the current AFR and stoich. Adding the error to the value in the map tends to bring the resulting AFR back to where it needs to be.

What ends up happening is that the AFR oscillates or hovers tightly back and forth around stoich in closed loop mode. The average AFR ends up very close to 14.7:1 AFR, which produces the best fuel economy and lowest emissions during cruise and idle.

When the car needs more power to accelerate, the engine must run richer mixtures to run safely. Since the nbo2 sensor cannot accurately measure anything outside 14.7:1 AFR, it is useless in this scenario. For these reasons the ECU switches to open loop mode, which comprises of looking up a value in the fuel and ignition maps and applying it without taking the o2 sensor reading into consideration.

Open loop is accurate enough to create good power and keep the motor safe, at the expense of sacrificing fuel economy for very short durations of brisk acceleration. Keep in mind that other sensors, like ECT (Engine Coolant Temperature), are not ignored during open loop operation like the o2 sensor. The data from some of these sensors is always critical for proper engine functionality, even during WOT (wide open throttle).

The ECU can operate in both open and closed loop operation depending upon whether the user needs power or economy at any given point in time. Furthermore, an ECU could probably use closed loop operation the entire time if o2 sensors with more accurate measuring capabilities were employed.

While a wb02 sensor would allow the ECU to function in closed loop mode more, their cost has been prohibitive in production vehicles until recently. Our older Hondas still use an nbo2 in stock trim.


Honda ECU Control Systems

From what I've read, the OBD1 Honda ECUs determine whether to operate in closed or open loop mode depending upon throttle position, engine load, and possibly some other factors. Some try to suggest that it's simply gated by TPS (Throttle Position Sensor), but I believe that's an oversimplification. Someone who understands the ECU code could say for sure. Maybe I'll look some day.


Significance to Tuning

You can disable the o2 sensor in Crome by selecting View->Options->Disable Oxygen Sensor (open loop). Selecting this check box will ensure that your ECU always runs in open loop mode.

This setting is convenient for tuning because it allows you to determine how close your fuel maps are to giving the AFRs that you desire. If the ECU were allowed to switch into closed loop, it would add or remove fuel from your maps to change the AFRs to stoich during idle and cruise, thus masking your true tune in some sections of the map. You need to tune in open loop mode.

I experimented running the car with the o2 sensor disabled and checked AFRs to get more data for my baseline. Your AFR values won't be as consistent or close to stoich during idle and cruise in this setting, but they should be pretty close once your car has warmed up.


Cautionary Points

There are a couple of things to keep in mind when you run your car with a disabled o2 sensor. The first is that if you leave a disabled o2 sensor in the exhaust while you tune for a long period of time, you are likely to damage your sensor. This only applies to heated o2 sensors. The other point of caution is that your fuel economy will drop.

Some people say they never go back to using their o2 sensor after they've tuned their car. Enabling your o2 sensor again after you have a good tune should increase fuel economy and smooth your engine's operation. It's there for a reason; use it!

ntc490

#20 โ—ˆ 2014-06-23

Swapping Out Injectors

Up to this point in the project, changes have been pretty small and very easy to back out in the event that something didn't work right. This part of the project involves changing a major component of the fuel control system and will require much more commitment.

My car is already turbo charged. Up to this point, the FMU has been in charge of supplying more fuel when the turbo is supplying boost. It does this by increasing the fuel pressure by 12PSI for every PSI of boost. An FMU is a crude form of fuel management and is not desirable for accurate tuning with anything more than mild boost for a couple of main reasons.

In order to double the fuel flow to the combustion chamber by increasing fuel pressure, the FMU has to quadruple the fuel pressure. This relationship between fuel flow and pressure means that anything more than mild boost will require too much fuel pressure for practicality, not to mention safety. High fuel pressure is hard on pumps, hoses, pressure regulators, injectors and cannot be accurately controlled once it reaches a certain threshold. Although the FMU does not have to double fuel flow in my car, fuel pressure is still in excess of 75PSI at only 6PSI of boost.

In order to remove the FMU from my car, a substitute mechanism to add extra fuel during boost would be required. One of the best ways to add fuel is by using the ECU and injectors, since the computer can take many factors into consideration when dispensing fuel to the motor. Fuel pressure can remain at sane levels using this paradigm. The only thing lacking on a stock car to enable the ECU to manage fuel during boost is large enough injectors.

The stock injectors on my car are 240cc Saturated injectors. They won't flow enough fuel even at 90% duty cycle to feed the engine at the power levels I plan to run my motor. New injectors are a requirement to building more horsepower safely.

Injector manufacturers and some documentation that I've read suggests that you should never run an injector at more than 80% duty cycle. The real world value that I hear more often is 90%. You cannot accurately dispense fuel from an injector at more than ~90% injector duty cycle. The stock injectors on my car are at about 80% duty cycle without any form of forced induction.


Injector Size

Injectors size requirements are not solely dependent upon boost pressure. Injector size should be determined by how much air can be pushed through the motor and as a result, how much horsepower it builds. Some turbos will be able to add a relatively small amount of air to an engine at a certain amount of boost, and others can add a relatively large amount of air at the same boost pressure depending upon many characteristics of the turbo. I'm not going to try to explain turbo dynamics, but you can find lots of information in books and even some good info on the Internet. Don't make the mistake of sizing your injectors by boost pressure values.

The power goal for my car is ~300WHP. Using this number is a good metric to determine what injectors to use. I used the injector size calculator on rceng.com and also looked at this site and others, like turbod16.com, to determine that 550cc injectors should be enough to make my target HP value without being so big as to produce negative side-effects like rough idle.

I picked some RC injectors up for ~$300.00. They are definitely not cheap, but buying them from RC ensures that I get a good, reliable product and allows me the freedom to pick a saturated injector instead of trying to use a resistor box with peak and hold injectors. Make sure you use the proper injector type in your setup, or you can cause major problems.


Injector Installation

I measured the resistance of my injectors to double-check that they are saturated and not peak and hold. They measured 13ohms, as did my stock injectors, which falls within the range of saturated injectors which is 10-16ohms. A peak and hold injector will measure much lower at about 1.7 to 3ohms.

The RC injectors had slightly different physical dimensions than the stock units. I've read multiple times how people have ground down the rubber seals that fit between the injector and intake manifold in order to fit new injectors. I thought I would try fitting them without doing any grinding, since I wanted to retain a good seal on my fuel system.

I started by removing the old injectors. Removing two nuts to hold the injector wiring harness to the fuel rail and three nuts to remove the fuel rail gave quick access to the stock injectors. After disconnecting them from the wiring harness they were carefully set aside in case they need to be used again.

The new injectors were lubed with light motor oil so they would slip into the fuel rail and intake manifold without damaging anything. I slowly worked them into the fuel rail first by twisting them back and forth while pushing them into the rail. Care must be taken to keep from tearing the o-ring on the top of the injector. The injectors were then slowly worked into the rubber seal in the intake manifold bosses. I used the nuts on the fuel rail bolts to slowly and evenly push the injectors into the intake manifold. When I finished inserting the new injectors, they weren't seated as low in the bosses as the stock injectors, but seemed deep enough to provide a tight seal. The system was pressure checked to ensure that there were no leaks.


Injectors and ECU Maps Must Change Together

Since the new injectors are more than twice as big as the stock injectors, they will flow much more fuel given the same injector pulse. This means that if the injectors are changed this much without compensating in the ECU, the car will not run.

I initially got the motor running by changing the fuel multiplier on my stock maps with Crome. This basically cut the fuel map values in half so that the new injectors would deliver the appropriate amount of fuel to the motor.

An important point to note is that I changed the injectors on my car after it was warm. You don't need to do this, but it's what I chose to do. I figured it would be easier to get my car started with a warm engine than with a cold one.

I cranked the car over and it started with the new maps. It ran very rough at first because the fuel adjustment was not quite right. Using my wbo2, I determined that the car was running very rich. I adjusted the fuel multiplier until the car idled well and waited for things to warm up completely before making final adjustments. Don't try to dial your car in when it's cold! The engine needs a lot more fuel when it's cold than warm.

I found that my car idled and ran pretty good by simply changing the fuel multiplier. It was a little on the rich side, but that's much safer than running lean. After the car cooled for a few hours, however, it would not start again. :(

I had initially read that as long as injectors smaller than 750cc were used with a stock D16Z6, the tuning would be pretty easy. However, after I purchased the 550cc injectors I started seeing posts that 550cc injectors were considered "large" and that cold weather starting and idling would be a challenge. That worried me, especially since I could no longer start my car without making more modifications to the fuel multiplier.

Although I didn't have to use it, my backup plan consisted of using some free DSM 440 injectors and a resistor box until I could get more experience tuning. Luckily I found an easier solution. Read below to see what.


Fuel Tools

Instead of playing with my car the evening after my injector swap, I was tasked with watching children and found some time to read the pgmfi forums. I found some information about fuel tools and decided to try it out. What a change!

I followed the instructions and started over with my stock maps. I installed fuel tools and entered my injector size and started with an offset of 50. I turned the key on my bone cold car and it fired up just like stock. As instructed I adjusted the offset until I hit my target AFR *after* the car was warm at. It has been idling and starting in the cold winter air ever since! Thank you fuel tools. I ended up with a final offset value of 58.5.

The car was still running a little on the rich side, but it was in the right ballpark and safe enough to start tuning.


Miscellaneous Questions

I had a few questions that I couldn't seem to get answered anywhere before swapping my injectors. I've listed them below for anyone else that may have the same questions.

Q: Can I simply change the fuel multiplier with my injector swap and have it run perfectly like stock?
A: No. At least not for me. There are more variables between injectors than flow rate. Larger injectors not only flow more fuel for the same injector pulse, but their internal mechanisms have more inertia than smaller injectors. That means that they take longer to open and close than a smaller injector. This is one of the things that fuel tools tries to accommodate for, if my understanding is correct. If you change your injectors, don't expect to simply change the fuel multiplier in proportion to the injector size difference and have a perfect tune. The fuel requirements of an engine won't change if none of the internals are modified, which means that the contour of your fuel maps shouldn't change much, if at all. In my case, simply halving each value in the fuel map was not sufficient to produce an accurate tune. You will have to retune.

Q: Will RC 550cc injectors fit in the stock injector bosses and rubber seals of a Honda D16Z6?
A: Yes. Mine were a very tight fit. They eventually slid down into the seals to look like the stock fit after running the car for a while.

Q: Will RC550cc injectors idle well, and will they provide good cold starts?
A: Yes. They worked very well for me after I used fuel tools. Fuel tools made all the difference.

IntegraKarim

#21 โ—ˆ 2014-06-23

This will answer a million questions newbies to tuning have, read the library then read this!

IntegraKarim

#22 โ—ˆ 2014-06-23

Just a comment on the stock o2 sensor being enabled/disabled.

I found that for some reason having it disabled ill always have a good idle compared to when its enabled ill have a good idle sometimes/ bad idle sometimes.

Of course its probably because I tuned with it disabled, and then when you enable it it tries to correct something and i dont know, it just gets wacky i guess.


The pros and cons ive seen of leaving the stock narrowband o2 sensor in the car to taking it out.

Pros:

Better fuel economy like you said (the narrowband will try and get you up to 14.7 AFR, now if youre like me youre gonna ask after driving your car a million times, 'WAIT, but what if it tries to get me to 14.7 IN BOOST', well in Crome and I believe other applications for tuning you can set a point where the o2 sensor is basically disabled. Usually the stock setting is somewhere around the 7th-9th column i believe which is good enough I think.

Cons:

For someone like me who doesnt keep the wideband permanently mounted its just that extra pain that gets bigger everytime having to go down, unplug the sensor and make sure its not hanging anywhere dangerously and then hook up the wideband wiring, go back down after the calibration and put the wideband in the exhaust.

Technically though, i believe if you do this once, you dont have to calibrate the wideband for another 6 months or so (free air calibration) so you can unplug the nb02 sensor and put the wb02sensor in at the same time.

ntc490

#23 โ—ˆ 2014-06-23

My car idles great in open and closed loop. The AFR values are slightly closer to 14.7:1 when running in closed loop.

Don't want to get on a tangent in this thread. Maybe you have a bad nb02? Start another thread if you can't get it working better - I'd be interested to see what the tuning pros have to say about it.

Thanks for the feedback IntegraKarim. I see lots of people checking the thread out. Hope it helps a few of โ€˜em out. Trying to write this stuff down so that's it's intelligible is the hard part. :)

IntegraKarim

#24 โ—ˆ 2014-06-23

Yeah it might be just cause ive left it in there disabled a couple times lol

But lately its like it 'taught' itself better because my idles are getting better and ive done nothing.

ntc490

#25 โ—ˆ 2014-06-23

FMU Removal

At this stage in the project, the car is running larger 550cc injectors and has modified fuel and timing maps. Although the fueling is close to what it should be, it needs to be fined tuned for better performance and fuel efficiency. It is tuned to be a little rich, which is much safer than going lean.

Since the fuel maps needed modification at this point in the project anyhow, I decided to go ahead and remove the FMU and Missing Link. Removing the FMU will stop the fuel pressure from increasing at an increasing rate under boost conditions. Removing the Missing Link will allow the ECU to measure intake manifold vacuum/pressure at all times. These modifications will necessitate new columns in the fuel and timing tables for boost, allow the ECU to measure boost, and facilitate more accurate fuel delivery during boost conditions than was ever possible with an FMU. The spark timing can also be controlled in relation to boost, which cannot be done with the Missing Link installed.


Using Advanced BoostTools+

Applying the Advanced BoostTools+ plugin can add 6 columns that the ECU will use when the intake manifold is pressurized with boost. I won't rehash the steps to add the columns here since it has been covered several times in other docs that I reference in previous posts. I selected the default values in all screens since I'm using the stock Honda MAP sensor at this point.

Your fuel and timing maps will *not* be accurate after merely applying the Advanced BoostTools+ plugin. You will need to initialize the new portions of the fuel and timing maps that were added when you applied the plugin. To do this select Tools->Boost Tables Adjustments, or press CTRL-B, and click the "Retard Ignition By" and "Adjust for turbocharger efficiency" radio buttons. I used the default values of 0.75 deg/psi and 120% efficiency.

If you observe both fuel maps before and after the changes described above, you will notice that the portions of the map that existed before don't change. The same goes for the timing maps. The whole reason for applying this plugin is to enable your ECU to properly control the fuel and timing when it is under boost conditions. Parameters for non-boost conditions shouldn't change at all.


Temporary Adjustments

The FMU is easily removed from the system by removing its vacuum line connection. This will prevent it from increasing the fuel pressure when the intake manifold sees boost. I didn't bother to remove the fuel lines from the FMU yet, since I wanted it to be easier to revert to the previous configuration if needed. I plan to eventually remove the FMU completely once I get things dialed in better and have more confidence with my new setup.

The Missing Link is super easy to remove. Removing the two long bolts from the stock MAP sensor allow easy removal of the Missing Link. The shorter stock screws must be used to reattach the stock MAP sensor to the intake manifold.

Don't forget to remove the Missing Link and FMU at the same time if you're following a similar sequence in your project or your ECU won't see boost and deliver extra fuel when needed. This will lean the motor out during boost and cause detonation and other big problems.


Fuel Pressure vs. Intake Manifold Pressure

The stock fuel pressure regulator's job is to ensure that the fuel pressure in the fuel rail is regulated proportionally to the intake manifold pressure. The stock configuration is to regulate the fuel pressure to about 45PSI higher than the intake manifold pressure. On my car, the fuel pressure reads 43PSI when the vacuum line is disconnected, which is just about right considering that barometric pressure is about 2PSI lower here than at sea level.

The relationship between fuel pressure and intake manifold pressure is maintained to ensure that the fuel coming out of the injector is always subjected to the same pressure differential as it enters the intake manifold. This is easier to understand if you consider what would happen if the fuel pressure were held constant while the intake manifold pressure dropped. Since the fuel coming out of the injector is pushing against lower pressure air, it will flow easier and an increased rate will result. Conversely, if the fuel pressure is held constant while the intake manifold pressure increases, the fuel delivery will decrease because it must push against higher pressure air.

Keeping the fuel pressure a constant amount higher than the intake manifold pressure increases the dynamic range of the injector by alleviating the need to change injector duty cycle to overcome changes in intake manifold pressure. You could run a car using constant fuel pressure, but the injectors would have to be larger and the change in duty cycle would be greater to overcome changes in intake manifold pressure.


Stock Fuel Pressure Regulator

The stock fuel pressure regulator will increase fuel pressure at about a 1:1 ratio relative to intake manifold pressure. I was told by some pretty knowledgeable people that I needed a new fuel pressure regulator to get an increase in fuel pressure during boost. I measured the fuel pressure using my DIY gauges and observed a 1:1 increase in fuel pressure relative to intake manifold pressure. The stock fuel pressure regulator works great to maintain proper fuel pressure even in boost conditions. There are countless posts on turbod16 that indicate the stock fuel system is good for over 400HP on a D16Z6 Civic.


Double Checking Things

A mistake during any of these steps would result in improper fuel delivery and/or spark timing during boost; maybe even a complete failure in other parts of the fuel and/or timing maps as a worst case scenario. It is important to carefully test the car after making changes of this magnitude. Using the wbo2 sensor and incrementally driving harder allowed me to ensure that the car was operating safely after the changes. I also listened for detonation, regularly checked my butt-dyno for gross losses in power, kept an eye on EGT and ECT, and checked my plugs after driving around.

Being cautious and gradually and carefully moving through different parts of the map will help to protect against a motor melt-down. I was initially quite nervous about tuning my car. Now that I have successfully made it this far, I know that as long as I am careful I can do this on my own. It's all about understanding what's going on, knowing what to check, and being cautious.


Results

The results so far have been encouraging. I'm still running a little rich and haven't had time to tune things better, but performance is as good as it was with the FMU. One improvement is a smoother transition between non-boost and boost conditions. The biggest advance is that I now have control over the fuel and spark settings during boost conditions. I have created a platform that can be safely tuned for higher levels of boost and better performance.

I have noticed that I have more power in some areas of the RPM range, and have less in others when comparing my current configuration against what I had before all the changes. I'm pretty sure that I can gain a few HP and make things smoother with more tuning without even increasing boost. More boost will follow and add more excitement.

I still need to return the base timing back to stock settings. When I installed my turbo kit, part of the procedure was to retard base timing by 2 degrees. The result is a loss of HP in the lower RPM range in order to get the timing closer to a safe setting during boost. Now that I can independently control timing during boost I can return my base timing back to stock settings to regain the low RPM HP while keeping things safe during boost.

Controlling spark and fuel delivery with the ECU is the best way to manage a turbo car. An FMU and Missing link are comparatively crude devices. One step up is an interceptor; the most effective and accurate solution is tuning the fuel and timing maps. Great sites like this and tools like Crome allow us to make ECU tuning a much simpler proposition.

ntc490

#26 โ—ˆ 2014-06-23

I updated the soldering section to include a tools list since it seems to be asked quite a bit.

I hope to add a small section on the tuning I've done so far. It's been too cold to do much more. I'm also working on a device to help me get better tuning data. Stay tuned...

egycasper

#27 โ—ˆ 2014-06-23

good work man
i have d16a with p28-g01
i need a bin file that can make a stoke engine work more horespower and safily for the engine.
and i didn't understand about p28 code with p30 map ...is that save for the engine .
i need help plz

ntc490

#28 โ—ˆ 2014-06-23

If you post your question as a new thread I'll try to answer it there.

egycasper

#29 โ—ˆ 2014-06-23

ok

Walterronny

#30 โ—ˆ 2014-06-23

ill must to read it completely..but ur thread looks very very helpful man.. thx for to do it!