Sunday, May 12, 2013
Ignition coils and Electromagnetic Interference
A simplified way to think of ignition coils (and most transformers) is to imagine them like mechanical gear boxes. For example; you can have a gear ratio that increases your output torque at the cost of decreasing your output speed. In the case of transformers and coils you are trading voltage and current. Basic operation of a coil works like this:
1. 12v is applied to the primary winding for a few milliseconds. This produces a magnetic field around both the primary and secondary coils (they are really close together). An electrical current produces a magnetic field.
2. The voltage is suddenly shut off and the magnetic field collapses. The changing magnetic field will induce a voltage across the output coil. It has many more windings of wire than the input coil which means a few thousand volts to produce a really strong spark (at fewer amps compared to input).
I found three challenges while powering ignition coils. The first thing is that the coil will produce a voltage spike on the input winding that is opposite to the voltage used to power it. This is called Back EMF or Counter EMF. The problem is that the negative voltage can damage any connected electronic components or cause them to malfunction. It can be solved with the use of diodes and IGBT transistors designed specifically for powering ignition coils. Even easier is to use the existing ignition module in the car which was designed specifically to switch ignition coils and isolate the ECU providing the on/off signal from any back emf. Secondly, ignition coils require a fair bit of current which means the power supply voltage could dip low if it wasn't powerful enough. In order have a power supply that can supply enough current for the coils and provide a stable voltage for the microcontroller I used a car battery in parallel with a bench power supply at 13v.
The third problem was by far the most challenging for me. Even while subbing the back emf spike I found that the microcontroller would reset itself. I wrongly assumed that it was due to either the power supply becoming unstable or the back emf not being completely removed. I tried all kinds of filter and isolation methods on the power and signal lines of the microcontroller. In the end I realised that I could see a fluctuating voltage everywhere in the circuit, on every microcontroller pin, even those pulled direct to ground! (thanks to Maverick for letting me borrow his Rigol scope). It turns out that the high voltage spark creates strong electromagnetic interference. With the coil 1m away it was still enough to cause problems. Once I discovered the problem it was pretty easy to solve. Typically you would have some shielding in the form of a metal case. I just installed everything back into the MX5 and set my project onto passenger side floor. The metal firewall between the ignition coil and microcontroller was enough to shield from the interference. I'm now able to repeatedly fire the ignition coil without interfering with the operation of the microcontroller :)
This was an interesting learning process for me and I'm really excited to learn more about these kinds of effects. Can't wait till I can start my physics classes and continue with the next electronics classes :D