Before I could try to start the engine, I had to first check if the engine had oil pressure, and the ECU was recieving the required signals to start. I disconnected the fuel pump,and ignition fuses. The injectors were disabled in the Haltech ESP software, as I use the igniton circuit to power the CAN bus for the wideband controller. After installing an oil pressure sensor I cranked the engine while monitoring oil pressure. after cranking for several seconds the oil pressure was still at zero psi. I found that the oil I poured into the pump and galleries on reassembly wasnt adequate enough for the pump to prime while cranking. to fix this I spun the pump gear with an impact driver until the system was primed. After that the oil pressure was within spec.
For the ECU to fire the ignition correctly I had to measure the TDC offset angle. This is the angle between the first reference event on the trigger, and the TDC of the angle. whilst I was measuring this with the timing light I found the ignition signal was erratic, and couldnt find the right angle. Checking the logs confirmed the trigger sync state is erratic. Trigger Sync State should be at level 4(running), once its found the unique reference event (the missing tooth on the gear). because of this, the sync level is alternating between no sync, and running (sync state should be Half Sync while cranking)
Upon removing the crank sensor I found there was some damage on the face. I was able to borrow a sensor from another engine to use while waiting for a replacement sensor. With this sensor the trigger sync is running correctly. I was able to then find the TDC offset (579 degrees). Fuel and oil presure are good, re enabled the injectors to attempt a start.
To my surprise it actually kicked over, but died a second later. Tried a few more times with the same result. Checked diagnostics, ECU is showing a Home Tooth Count error. To start the engine, the ECU only requires the trigger (crank) signal, but for the engine to continue to run it requires full sync from the trigger and home (cam). So there is still something an issue that is causing it to stall. I double checked the sensor wiring, it is wired as per the Haltech 3sge documentation
Using an oscilloscope, I bypassed the engine harness and measured the outputs directly from the sensors. The top waveform is the cam, bottom is the crank. the gap in the crank signal is from the missing tooth, the reference event for the crank is when the waveform in the gap crosses 0V. By counting how many teeth on the cam between the reference signal the ECU can determine engine position within the cycle. The sensor waveforms are good so its not a sensor fault.
When i probed the sensors from the ECU side of the harness, I found the problem. There is cross-talk on the sensor inputs which has combined the waveforms. The crank waveform is still able to be read by the ECU so that the engine will start. The cam waveform is so distorted that as soon as the haltech attemps full sync it throws an error code and stalls.
From what I can tell the cross talk is related to the negative sensor output. From factory all three sensors have a shared negative (NE-). The Haltech documentation for this engine also says that this is the correct configuration. For some reason this isn’t working with my setup, so for now I will have to use the dedicated Crank and Cam negative inputs on the ECU (Pins B5, B6)
Using the dedicated negative inputs, I was able to get clear waveforms from the sensors. Using the oscilloscope I was able to confirm the zero crossing voltage in the base map for the sensors is correct. Rechecked TDC offset angle it is now set to 578 degrees.
With that issue sorted, I was able to start the engine. At this stage the throttles had not been calibrated, and the idle control had not been set up so it is running rough.
After this I checked the data logs to see if there was any issues. The battery voltage was still ramping up when I turned off the engine , but the alternator is working which is a good sign. Oil pressure is still good, as mentioned idle is rough due to the throttle adjustment. Trigger sync state is now running at full sync without any errors. Once the throttles are fixed and idle control is sorted I can start working towards a drivable tune.