I'm trying to build an ECU to control spark and fuel injection using an Arduino board.
I will first try to sort out the spark timing and move on to fuel injection once that is complete.
How should I be controlling the induction coil - I've read a relay would be required as it cannot be driven directly by the Arduino.
What is the most practical way of doing it ? Please do go into details, this is my first attempt at understanding electronics.
Is the speed of the relay something of concern ? Should I be adjusting the spark advance to account for it ?
Also, for controlling the injector I will need a PWM signal, can that be passed through a relay ?
I'm completely new to electronics and any form of programming, but, I have over 40 yrs working on motorcycles so understand minimum requirements.
I've ordered an Arduino to do the same thing as I can't afford $500.00+ for programmable system which will advance progressively timing as rpm increases
Eventually I'll get throttle position sensor and intake pressure sensor to retard timing if needed
A standard relay will not work as it just can't switch fast enough
Your going to need power transistors/MOSFET to run the secondary circuit plus a driver circuit to handle the amperage
Reverse EMF from ignition coil can easily reach a peak of over 300v on the 12v connection (you'll need a PVM adapter for meter to measure it)
Not sure how to deal with that at present but I know it can be done?
Maybe a diode and capacitor and/or a transistor to shunt current to ground?
If your going to use for fuel injection your going to need TPS, cam position sensor (for sequential injection), O2 sensor, (or two), airflow sensor (mass airflow or intake pressure, maybe both for higher accuracy), atmospheric pressure sensor (for reference pressure)
Probably a few other things, I haven't needed to remember any of this stuff for over 2 yrs (coolant temp, oil temp, air temp ?????????)
The sensors are not too difficult to obtain, getting all of the inputs to work then writing a program to use various input, compute and send PWM to injectors is another matter though
I believe the usual way to drive an ignition coil these days (unless you are using capacitor-discharge ignition) is with an ignition IGBT such as this one Technical Documentation. See Intelligent Power and Sensing Technologies | onsemi for how it is used. The IGBT needs to be turned off quickly, so you need a pull-down transistor or mosfet connected to the gate.
You can't pass PWM through a conventional relay. What sort of PWM signal does the injector need?