how to control high speed switching of a 12v ignition coil?

Hello, I am trying to switch on and off the +12v line powering the ignition coil on a four stroke engine, what would be an effective way to do this? here are the parameters I am working with;
Arduino Due,
switching requirements;
Ideal Switching time <3ms
need low resistance on the connection side
the +12v line to the coil can be as great as ~4A
also I may have to be concerned about an inductive loading effect, which is something that I do not completely understand.

SSR, optoisolator, Mosfet?
I am very grateful for any help with this

The back emf from such a coil could be in the order of 200volts or so. The switching device should be rated to handle this. Your best bet would be to google "electronic ignition circuit" and get a few images such as these Yahoo Image Search

You will see that several use a capacitor in the primary circuit, used to produce an LC ring when the "switch" opens.

Also bear in mind that an ignition spark performance is totally different when under pressure so what appears to work on the bench may not do so when installed in an engine. I learned this fact some 50 years ago when experimenting with the building of an electronic system for a colleagues 2-stroke car.

He’s using a general purpose mosfet in his example but for a permanent installation there are special purpose transistors (mosfets and IGBTs) available. I assume that’s what you’re seeing with respect to “inductive loading”; the ignition coil, which is an inductor, obviously creates some massive voltage spikes that your transistor needs to be able to handle.

http://www.fairchildsemi.com/search/automotive-products/automotive-discrete-power/automotive-ignition-igbts/

You definitely need an ignition IGBT, an IGBT driver chip, protection circuitry (means
opto isolator really). Those high voltage spikes will trash any logic circuitry nearby
if you're not careful to keep them shielded and away from the action.

An IGBT like this one: onsemi.

Farnell have a few similar, you'll need to check with local electronics suppliers.

With that one a gate voltage of 5V can drive about 40A.

raschemmel:
With that one a gate voltage of 5V can drive about 40A.

Out of curiosity, which part of the data sheet did you get that from ?

jackrae:

raschemmel:
With that one a gate voltage of 5V can drive about 40A.

Out of curiosity, which part of the data sheet did you get that from ?

The “Gate Threshold Voltage” (VGE(th)) tells you the voltage where the IGBT starts to conduct, and, in this case, Figure 4 shows how fully open the IGBT is at 5V. A good logic-level part should be conducting at or “really near” its limit at 5V.

With that one a gate voltage of 5V can drive about 40A.
Out of curiosity, which part of the data sheet did you get that from ?

Page-4/Figure 4 Transfer Characteristics

Why ? Is that not correct or relevant ? Did I look in the wrong place ? (should I be looking at "Threshold Voltage ?)

What I was getting at was "What something can be forced to do is not necessarily the same what it is designed to do".
I appreciate the pulse capability is greater than its continuous rating but in this case the OP has not indicated the duty cycle.
Specified rated current for the unit is 18A and prudent circuit design should work on the basis of a lower value.

jackrae:
What I was getting at was “What something can be forced to do is not necessarily the same what it is designed to do”.
I appreciate the pulse capability is greater than its continuous rating but in this case the OP has not indicated the duty cycle.

It’s an ignition coil. Duty cycle is very short; just enough time to charge the coil.

Do you need a Flywheel Diode if you're using an automotive ignition IGBT?

No, the HT side of the coil (secondary) needs the inductive spike to function - the spark
on the HT side of the coil limits the voltage spike on the primary. If the spark fails to
happen the primary will see a higher voltage (but the coil will likely breakdown first).