Today was the first test of the engine with the control unit and it worked! Albeit only for a short time and a bit roughly (only had about 10 minutes to test). Initially I just needed to check that the ECU was triggering the ignition and fuel injection, and find a roughly suitable ignition angle.
I have now managed to successfully map my engine simulator for the fuel injection timings across all loads and engine speeds. I have set up a two dimensional array, of speed and throttle position, and inside each element is the time in microseconds (us) that the fuel injector should be open for. I’ve also added closed loop lambda feedback.
I have now implemented more accurate ignition timing control which is based on degrees before top dead centre rather than a fixed time period.
I’ve also implemented a simple fuel map with the ability to store new values, display the map and save the map over serial from the Arduino.
I am currently studying an MSc in Automotive Electronic Engineering, and am now beginning to work on my final project. The main goal of the project is to build an engine control unit. I’m now at the prototyping stage where I just want to get something working to that I can make sure that everything is possible. I’m hoping to eventually get to a stage where I use an in cylinder pressure transducer to infer the air to fuel ratio of the engine and use this instead of a lambda sensor as an input to my ECU to control my fuel injection. Continue reading