I am new here, but started playing with arduino around a year ago.
I`m a vehicle mechanic, working mostly on vw beetles and old Porsches.
Me and my mate decided, to make an arduino ignition system. Done some research, read many forums, bought the parts and we put the board together. My mate is more into coding, so he wrote the sketch.
First i just wanted to make system working with the centrifugal dizzy advance, and later on do the advance with the arduino.
The signal is coming from a hall sensor.
The IGBT driver is FGP3440G2-F085.
Now, it all works fine on the bench, so we fitted in the car. And the problem starts here:
Under 1500 microsecond dwell time we got no big enough spark from the coil, but even with this time we cant get the ignition advance as we raise the rpm.
So, i made a board without the arduino, where i control the IGBT with the same hall sensor through a transistor, where i noticed, that the IGBT gets load from the gate all the time, when the hall sensor is in the magnetic field, and it makes the IGBT to get really warm quite quickly. But it works fine with the engine running, advancing well.
With the arduino version and 1500 dwell time, you can leave the engine idling for hours and the IGBT still cold.
So, my question is, should we give power to the gate all the time when the hall sensor sees the magnet, and forget about dwell time, or what should we do? You guys are more experienced in these stuffs, and my googling went failed so far.
I attach the sketch
Digital pin 8 is the IGBT gate
Digital pin 2 is the hall sensor
Sorry for running long, and thanks for every help Guys!
Martin
The FGP3440G2-F085 is just an IGBT, not an IGBT driver.
Please post the list of components and circuit(s) you are using, its very hard to describe circuits
in words, use a hand-sketched diagram if needed, or a link to the circuit if from the internet.
If the device is getting warm its probably not getting a full 5V on the gate.
Your sketch uses a glacially slow 9600 baud for the serial prints, so it won't be able to run
anything like realtime. Either remove the Serial.print or change the baud rate to 115200
and keep any prints really short.
and thanks for your answer.
I attached the circuit, might be a bit messy for the first sight, I`ve just started learning Eagle. With the arduino the IGBT is not getting hot, just if i use with the other board, without arduino as i mentioned before.
The emitter of the IGBT must go to ground.
The gate should connect to the Arduino pin via a 150 ohm resistor, no schottky diode please, that will
completely break things.
[ You've used the wrong symbol for an IGBT ]
Make sure the high current ground path doesn't go through the Arduino, that could cause all sorts of problems.
Yes, i now the symbol was wrong, i couldnt find the right one in eagle, i real, the igbt hooked up correctly. I used 10k resistor on the gate, because when i went under, the amps went up a lot on the power supply i used, plus the spark on the plug made a wierd hight noise, with 10k it seemed to be ok. I added those diods as protection, is that ok if i put them on vcc and gnd only and leave the gate alone with the resistor? And you mean the gnd for the igbt should come separate from the board?
I have been away over the last two weeks, know i had the chance to try the sketch without the Serial.print, but no luck. Is the arduino nano fast enough for this job anyway? I am confused now..
It seems you have a hard time following advice.
That diode is still there. That's wrong.
I don't know the pinout of your IGBT so don't know if that's corrected correctly now, as mentioned before you had it all wired up wrong.
It appears you have the whole power supply running from the Arduino. That's wrong.
1,500 µs is a long time for an Arduino, processor speed should not be a problem.
Do post an updated schematic. As long as your schematic is wrong, it won't work, and it doesn't make sense to even think designing let alone building a PCB. It won't work as your circuit is wrong.
I had no time to correct the board, that is true. Could you please help me with the correct schematic?
I don't really now, where to put diods to protect the arduino, i managed to fry couple already.
I will do anything as you guys say, i promise
Why not use a dedicated ignition drive such as a Bosch BIP373.This is just one example. but if you google "ignition driver IC" you will find others.
Might also consider a smart coil which is the ignition driver and the coil all in one.
Give it 12V power and a 5V logic signal and presto, spark.
You will have to set the dwell time in your code. You should be able to find the dwell time for whatever coil you use in the data sheet.
Hi guys, Im back. i made a new board, left the diods out as you told me. The igbt right leg goes a separate GND, the middle one goes to the coil NEGATIVE, the left on is the gate. I attached the board view.
But with my code, it still does the same, not advancing.
i found someone's code online in some forums, with that sketch, the advance is working, but the igbt gets hot very quickly, and in that code there is no option to set dwell time at all. I upload that code as well, you guys might see now whats wrong with my code, because im running out of ideas.
I got couple Bosch BIP373 IGBT-s as well, same things happen.
The reason every thing is burning up is that the only time the coil is turned off is when the magnet is in front of the hall sensor. So the rest of the rotation of the dizzy the coil is turned on which is much too long. The usual dwell time for a coil is about 4 milliseconds or less. If your dwell is longer than recommended for the coil you are just wasting energy and overheating the coil.
You either have to figure out how to set your dwell in code or mechanically.
I have seen some ignition where they use a hall sensor that uses one pole of a magnet to turn it on and the opposite pole to turn it of. Then there are two magnets with opposite poles in the trigger wheel with a space between them that sets the dwell time.
If you are pressed for time just search on E-Bay for VW bug ignition module and you will find Pertronix for about $80 or chinese knockoffs for about $30.
If it was me I would use a VW smart coil such as the UF-364 and figure out how to set the dwell in your code. I can't help you with that because it is above my limited programing skills.