Now that the vacuum distribution block is fitted, I can work towards getting a solid idle. It wont be possible to get the idle perfect while the base map is not fully tuned, but it is a good opportunity to make sure the engine systems are working as they should.
While I was trying to set the idle I found that the RPM was fluctuating seemingly at random. I found that the ECU was retarding the ignition as it was detecting knock. I am using the factory 3SGE knock sensor, which is a bimetallic strip type sensor which is designed to detect detonation at the engines knock frequency, which is 6662Hz for a 3SGE. It is very unusual for an engine to knock at idle, the ignition timing was set to the default 8-10BTDC.
I replaced the knock sensor with a spare one I had from my backup engine but that did not fix the problem. I replaced the injectors with my spare set, in case the issue was caused by one of the injectors running lean but that did not fix the issue. the most likely cause was a faulty knock sensor.
I replaced the Toyota knock sensor with a peizoelectric Bosch knock sensor. These sensors have a much larger frequency range and don’t have the noise issue that the factory sensors do.
Unlike the original sensor which had an M12 1.25 thread, the new sensor has an 8mm ID, so it will not screw into the engine block. I used an old fuel rail bung to make an M8 1.25 to M12 1.25 thread adapter. The knock signal is well within the limits now.
Before I could start doing anything I have to set up the fuel map and tuning method. Due to the physics of how ITBS operate, there is only vacuum pressure in the manifold at 0-20% throttle position. When the throttles are open the pressure differential approaches zero as the velocity stacks are drawing air in at atmospheric pressure. Due to this uneven manifold pressure throughout the throttle range, a MAP tune will not work for this engine. The tuning method I’m using is Volumetric Efficiency (Alpha-N). Instead of manifold pressure the load axis the the throttle position, between 0 and 100%. I have added more resolution on the 0-10% side of the table to smooth out transient throttle when the throttles are almost closed. The default fuel % value of 50 is too rich at idle so I’ve changed the values in the starting/idle section of the fuel map and will fine tune from there
Base control & long term trim
I have left the idle base output values as default, and enabled long term trim. The trim table will change the base output to what is required to keep the idle correct. This will need to be fine tuned but it is good enough to get a solid idle, and will improve over time.
The fuel prime pulse table controls how much fuel is delivered when the ECU first gets trigger sync while cranking. This should be enough to start the car. I recorded the fuel prime pulse values while attempting to start the engine at different temperatures. The map has some rough values now and its starts cold at winter temperatures. The coolant correction table is being updated but it still needs more work. Once the base fuel map is properly set up more work can be done on the cold start.
Engine is idling on target now, cold start still needs a lot of work. I am using the original 4age vacuum throttle opener(dashpot). The throttle opener is closed at idle, which allows each throttle to be fully closed. As the RPM increases the valve opens. If the throttle is suddenly released, the throttle opener will momentarily keep the throttles open by 1.3mm. This is to prevent the engine stalling from the rapid change in throttle position. This function can also be performed by the ECU idle control system, by opening the idle valve slightly when it detects that the throttles are closing. I am using the vacuum dashpot for now but will switch to ECU control if it does not work properly with the new throttle setup.
O2 Long Term Fuel Trim
One useful that the Haltech + Wideband O2 controller has is O2 fuel trim. This function looks at the target Air fuel ratio (lambda) table for the given throttle postion and engine speed, and compares it to the lambda value given by the O2 sensor. The fuel mixture will then be enriched or disenriched so that the actual lambda matches the value in the target lambda table. These fuel mixtures are stored in the long term fuel trim table. This function is helpful with fine tuning the base fuel map, especially when trying to build a drivable map by road tuning as it can help fill in the gaps with load conditions that are hard to manually adjust for on the road.
Even though the engine is running there is still a few things that need to be fixed. In order to fix the decel and transient throttle issues the base tune needs to be 100% correct, after the car is back together and drivable.
To prevent the engine from stalling when the airflow is rapidly decreased, the idle control uses a decel offset. this slightly opens the idle valve as the throttles close, to smooth out the transition of airflow speed. The decay time is too high as it is not quickly returning to idle speed. I will have to fine tune these values
Transient throttle enrichment
Due to the change in pressure when the throttles are open, the air flow is not stable which causes the fuel mixture to become lean during that time period. The enrichment rate needs to be fine tuned as the AFR is momentarily lean during throttle change.
Interior and climate control assembly
Now that the engine is running I need to focus on the rest of the car. Now the rust hole under the dash is repaired I can start putting the car together. The temperature control lever on the climate control panel was damaged and has been replaced. The fan control was also only working full speed due to the blower resistor being faulty so I replaced it.
There are also some faults with the engine harness I need to fix, and now the harness layout has been finalised I will be upgrading the connectors and making some improvements.