The Arduino out to the gate of the mosfet needs a resistor (~220ohm). You need to limit the current being supplied by the pin as the maximum rating is 40ma and charging the gate on a mosfet can pull a bit more juice .. albeit for very short periods of time.
Be aware that ignition coils will kick between 30 and 400 volts back out the - post, in the long term your MOSFET may suffer because of it. A MOSFET rated for 500V or more is a good idea for long term life.
Resistor wise I'd use a ~125ohm, that nails 40ma on the nose. If you aren't concerned about the lifespan of the Atmega chip you could use lower I suppose.
interesting project, I will have to try it. One question on the Arduino Uno and Mega would they have the speed to keep up with a cars ignition/fuel system timing?
Speed is strongly depending on code. But having a 2stroke engine having currently a fixed ignition retard everything is better than that. A delay of 8microseconds at 8000RPM would mean a 0,4°retard, which is acceptable to me...there is no such accuracy in calibrating the engine with defined air temperature and engine temperature...
Firing a multicylinder 4-stroke engine is much more challenging and I do not have the software knowledg to do so...
I'm trying to replicate this project but seems I'm doing something wrong. I've used a variable resistor (dash pot) and have determined 4 milliseconds for dwell time but transistor remains open.
This is the code I've used:
int ledDelay;
int ledPin = 13; //LED conectado ao pino digital 13
unsigned long changeTime;
int potPin = 2;
void setup (){
pinMode (ledPin, OUTPUT);
changeTime = millis();
}
void loop (){
ledDelay = analogRead(potPin); // lê o valor do potenciômetro
digitalWrite (ledPin, HIGH); // define o pino do LED em nivel lógico alto(Deve acender o LED)
delay (4); // espera por 4 milissegundos, coil dwell time)
digitalWrite (ledPin, LOW); // define o pino do LED em nivel logico baixo(Deve apagar o LED)
delay (ledDelay); // espera
}
Is correct using a digital output #13 to provide signal???
Seems that the signal obtained at digital led pin #13 is not capable to trigger the mosfet/IGBT...
Good morning,
With regards to your post in March 2012.
I am wondering as to whether you have developed your Arduino ignition system that you were experimenting with.
The project does interest me as to what your researches have found.
I am interested because I would like to experiment & develop a similar system so that I can incorporate an Arduino to run an old stationary engine's ignition system.