EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: danielhowden on January 09, 2021, 04:40:45 pm

Title: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 09, 2021, 04:40:45 pm
Hi, I have been trying to get an Arduino to fire a spark plug so that I can then move onto writing the code for my ignition system.  I have actually been on this for sometime and because of my lack of electronics knowledge I feel I am up against a brick wall and I would really appreciate some kind advice.

I have read this article and I am trying to reproduce what has been done here.

http://www.mst-tutorial.it/attivare-e-gestire-una-candela-con-arduinouno/ (http://www.mst-tutorial.it/attivare-e-gestire-una-candela-con-arduinouno/)

Where I am struggling is understanding the circuit diagram I think because I cannot get my setup to work.

This is the wiring diagram I am trying to match.

[attachimg=1]

This is the transistor I have.

[attachimg=4]

[attachimg=5]

Base, Emitter and Collector are not marked on the transistor but by doing some research I understood it to be as follows.

[attachimg=3]

I have also annotated the wiring diagram from the website to how I understand it, which I accept is wrong but I don't know where.

[attachimg=2]

I'm sorry for my lack of understanding, I would so much appreciate some help from someone with more knowledge than me.

I think I have given all the information here, if not please ask for what is missing.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: madires on January 09, 2021, 04:57:36 pm
The 100k resistor goes to ground, not +12V. And the transistor is used as switch for the ignition coil (https://en.wikipedia.org/wiki/Ignition_coil).
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 09, 2021, 05:01:09 pm
Ok thanks.  Is the rest of my wiring correct including for the transistor?

Also does this symbol mean ground?

[attachimg=1]
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: jonovid on January 09, 2021, 05:17:53 pm
for an  ignition coil,  :o     diode electromagnetic pulse protection? add an optocoupler to protect your Arduino
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 09, 2021, 05:21:17 pm
A 2N6384 has a max. Vceo rating of only 60V which is grossly insufficient for a ignition coil driver, as the peak voltage ('back EMF') on the coil primary in an automotive Kettering ignition system when the points open (or driver transistor switches off) is typically several hundred volts.   If the switch-off is slow enough not to exceed the 2N6384's max. Vceo rating, the resulting max. spark voltage from the secondary will be reduced to only 15% of its normal operating value, which is unlikely to be sufficient to fire a correctly gapped plug.   

You need to use a high voltage power transistor, which depending on the coil and supply voltage may have to handle up to 40A, and drive it hard and fast*.  Also you need a snubber circuit that will limit the peak voltage to less than the transistor Vceo if the secondary circuit goes open as if that happens the arc in the spark plug will no longer damp the back-EMF seen on the primary.

* Assuming the power transistor is a single BJT, not a Darlington, it will need several amps of base drive, and comparable negative drive at switch-off to speed up clearing charge carriers from the base
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on January 09, 2021, 05:25:14 pm
A 2N6384 has a max. Vceo rating of only 60V which is grossly insufficient for a ignition coil driver, as the peak voltage ('back EMF') on the coil primary in an automotive Kettering ignition system when the points open (or driver transistor switches off) is typically several hundred volts.   If the switch-off is slow enough not to exceed the 2N6384's max. Vceo rating, the resulting max. spark voltage from the secondary will be reduced to only 15% of its normal operating value, which is unlikely to be sufficient to fire a correctly gapped plug.   

You need to use a high voltage power transistor, which depending on the coil and supply voltage may have to handle up to 40A, and drive it hard and fast.  Also you need a snubber circuit that will limit the peak voltage to less than the transistor Vceo if the secondary circuit goes open as if that happens the arc in the spark plug will no longer damp the back-EMF seen on the primary.

simpler to find an ignition IGBT or mosfet with build in clamping at ~400V

or really simple, get a coil with buildin driver
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 09, 2021, 05:31:40 pm
Yep.  Its not an application BJTs are well suited to.  The combo of high peak Vceo and high on-state Ic makes it rather difficult to find suitable transistors, more so since the demise of large CRT displays.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: madires on January 09, 2021, 05:36:06 pm
Ok thanks.  Is the rest of my wiring correct including for the transistor?

Seems to be fine. However, that circuit isn't suited well for the application.

Also does this symbol mean ground?

Yes, but it's the symbol for chassis ground.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: nali on January 09, 2021, 05:44:12 pm
A 2N6384 has a max. Vceo rating of only 60V which is grossly insufficient for a ignition coil driver, as the peak voltage ('back EMF') on the coil primary in an automotive Kettering ignition system when the points open (or driver transistor switches off) is typically several hundred volts.carriers from the base[/i]

I think the part number is probably a typo and should be 2N6834 not 2N6384, the 6834 has a Vceo of 450V (850V abs max) but looks to be obsolete.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 09, 2021, 06:06:14 pm
Possibly, but a 2N6384 has a Ic_max of only 5A, (10A peak) so isn't going to do well driving a typical car ignition coil (0.4 to 2 ohms DC resistance) unless the dwell time is well controlled to keep the peak current within its ratings with a low enough duty cycle.  Also its going to be difficult to give it enough base drive with any reasonable variant of the O.P's circuit.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 09, 2021, 07:00:05 pm
Thanks for the input.  I'm glad I got a lot of it right.

So I should use one of these

https://www.mouser.co.uk/ProductDetail/ON-Semiconductor-Fairchild/ISL9V5045S3ST-F085/?qs=sGAEpiMZZMutXGli8Ay4kHcYxoHYcNoA329CPsb5J0A%3D (https://www.mouser.co.uk/ProductDetail/ON-Semiconductor-Fairchild/ISL9V5045S3ST-F085/?qs=sGAEpiMZZMutXGli8Ay4kHcYxoHYcNoA329CPsb5J0A%3D)

instead of the 2N6384?

Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Terry Bites on January 09, 2021, 07:12:47 pm


Lets not muck about with all that! ONSemi make the EcoSPARK® IGBT series made for ignition coil switching. Job done.

Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 09, 2021, 07:37:01 pm
Hi, thanks for the reply but I don't understand. Can you explain in more layman's terms?

Thanks Daniel
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on January 09, 2021, 09:39:00 pm
Thanks for the input.  I'm glad I got a lot of it right.

So I should use one of these

https://www.mouser.co.uk/ProductDetail/ON-Semiconductor-Fairchild/ISL9V5045S3ST-F085/?qs=sGAEpiMZZMutXGli8Ay4kHcYxoHYcNoA329CPsb5J0A%3D (https://www.mouser.co.uk/ProductDetail/ON-Semiconductor-Fairchild/ISL9V5045S3ST-F085/?qs=sGAEpiMZZMutXGli8Ay4kHcYxoHYcNoA329CPsb5J0A%3D)

instead of the 2N6384?

Daniel.

yes
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 10, 2021, 10:19:09 am
OK, so this is my wiring diagram as I understand what has gone before.  Forgive the crudeness of my drawing and the lack of correct symbols but this is how I understand it with my limited knowledge.

Having said that, my understanding of how a coil will spark a plug is the removal of a positive charge will spark the plug and I don't see that happening in my diagram.

I have ordered a NGB8207N transistor for this.

Please criticise my layout here.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 10, 2021, 11:08:04 am
You shouldn't drive the gate of a NGB8207N through a 10K resistor as it will form a potential divider with the internal gate-emitter pulldown resistor, and slow down charging/discharging the gate capacitance so it spends an excessive time operating in its linear region at each transition, heating up the transistor.

The datasheet specifies the switching characteristics with a 1K external gate resistor, so change the 10K to 1K, and if you keep that 100K pulldown, move it to the I/O pin end of the external gate resistor.

You've also got the coil wiring completely wrong - the coil primary needs to be in series with the IGBT collector, between the collector and the +12V supply, similar to your original circuit with the inadequate transistor.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: alsetalokin4017 on January 10, 2021, 12:31:48 pm
I would approach this slightly differently. Instead of a bipolar or Darlington, I'd use a mosfet for the coil switching element, and to protect the Arduino and also allow higher gate voltage for the mosfet, use an optocoupler. Maybe also or instead, a mosfet driver chip.

This circuit may give some ideas. Just substitute the Arduino+optocoupler for the oscillator stage to drive the mosfet. No mosfet driver chip or optocoupler is used here.

https://www.youtube.com/watch?v=M9KVTJQsnE4 (https://www.youtube.com/watch?v=M9KVTJQsnE4)

(I'm sure there is plenty wrong with this circuit too, but at least it makes a spark.)
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 10, 2021, 12:51:16 pm
Arduino clones are dirt-cheap so there is no particular need to protect it with an optocoupler *UNLESS* you intend to use the Arduino USB for PC connectivity while its in operation.  If you do use an optocoupler (to protect your PC) there must be *NO* power or ground connections between its input and output sides (other than any grounding via the mains supply of the PC and your 12V supply for the coil).   As optocouplers are typically fairly slow compared to logic ICs, and need a lot of input current to get significant output drive, I strongly recommend using a gate driver after the optocoupler. 

If you go with alsetalokin4017's MOSFET suggestion, make sure its rated for avalanche operation so it can withstand operating as a snubberless coil driver.  However a MOSFET will need significantly more robust gate drive than an IGBT of comparable ratings, so a gate driver would be essential.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Terry Bites on January 10, 2021, 01:46:39 pm
Hi, thanks for the reply but I don't understand. Can you explain in more layman's terms?

Thanks Daniel

If this is just for fun, don't go nuts with optocouplers and Mosfet drivers. I suspect you don't work for the auto industry.

http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/ignition.html (http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/ignition.html)

When the transistor switches on current flows in the primary and energy is stored in the coil's core. Turning the transistor off releases the stored energy. The only path it can take is through the secondary and the spark plug because the primary is circuit is open. If your switching is too slow the transfer of energy is slow and insufficient voltage will be created across the secondary. (Kinda Sorta) In fact the energy will will bounce between primary and secondary possibly generating magic smoke where you don't want it.  :)



Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 10, 2021, 01:54:03 pm
You shouldn't drive the gate of a NGB8207N through a 10K resistor as it will form a potential divider with the internal gate-emitter pulldown resistor, and slow down charging/discharging the gate capacitance so it spends an excessive time operating in its linear region at each transition, heating up the transistor.

The datasheet specifies the switching characteristics with a 1K external gate resistor, so change the 10K to 1K, and if you keep that 100K pulldown, move it to the I/O pin end of the external gate resistor.

You've also got the coil wiring completely wrong - the coil primary needs to be in series with the IGBT collector, between the collector and the +12V supply, similar to your original circuit with the inadequate transistor.

Thanks Ian, I do understand what you have said here - mostly, and I will update my diagram to reflect this when I understand the answer to this question.

On the original diagram with the inadequate transistor, I do not understand the how the connections on the oil are represented.  If power is passed through the transistor in the direction of the arrows, it looks to me as if the positive terminal to the coil is permanently connected to a +12v supply but there is no representation for the negative terminal of the coil.  I do understand the need for the spark plug body to be earthed but my coil still requires two other connections.

I have attached a couple of pictures here for you. One of the part of the diagram in question and a picture of my coil.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: drussell on January 10, 2021, 02:13:56 pm
Normally the + terminal of the coil goes straight to +12V (sometimes through a ballast resistor) and then your ignition control (be it points, or electronic of some sort) switches the negative side of the coil "on and off" to ground, to charge up the coil and then blast the spark when it turns the current off.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 10, 2021, 05:06:01 pm
Normally the + terminal of the coil goes straight to +12V (sometimes through a ballast resistor) and then your ignition control (be it points, or electronic of some sort) switches the negative side of the coil "on and off" to ground, to charge up the coil and then blast the spark when it turns the current off.

OK, so this is getting a little confusing for me!

Can I just confirm that for the transistor, if the "Collector" is hooked up to +12v then the "Emitter" will also put out +12v when the "Gate" is closed.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: drussell on January 10, 2021, 06:13:39 pm
Normally the + terminal of the coil goes straight to +12V (sometimes through a ballast resistor) and then your ignition control (be it points, or electronic of some sort) switches the negative side of the coil "on and off" to ground, to charge up the coil and then blast the spark when it turns the current off.

OK, so this is getting a little confusing for me!

Can I just confirm that for the transistor, if the "Collector" is hooked up to +12v then the "Emitter" will also put out +12v when the "Gate" is closed.

(https://i.imgur.com/5TTkIeu.png)

No, I think you're kinda thinking of this wrong...

The collector will be sitting at +12 (as measured to ground by a multimeter at the collector, being supplied THROUGH the ignition coil primary) when the transistor is off.

When you energize the coil by turning the transistor on, the collector will now be at 0v because you're "turning on ground" to the "bottom" side, the negative terminal of the coil, so current will be flowing through the coil.  When you turn the transistor OFF, the inductive kick blasts out the HV-side of the coil through your spark plug, stepped up by the turns ratio, and some also blasts back to the primary side because you're discharging the inductance of the primary side also, so your drive transistor will see hundreds of volts also, just not increased by the primary:secondary turns ratio, so only hundreds of volts rather than tens of thousands of volts like on the secondary side.

You're switching ground, not switching +12 volts.  You're pulling the collector to ground when the transistor is on.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on January 10, 2021, 06:39:19 pm
OK, so this is getting a little confusing for me!

Can I just confirm that for the transistor, if the "Collector" is hooked up to +12v then the "Emitter" will also put out +12v when the "Gate" is closed.
Its *VERY* difficult to use a NPN BJT or a N channel IGBT or MOSFET as a high side switch for an unclamped inductive load.   The problem is that the base/gate drive that controls the device *MUST* be applied relative to the emitter/drain, which is very hard to do when that node is slewing negative with a dV/dt of tens or hundreds of volts per microsecond, and peaking at hundreds of volts below ground.   If you apply the drive relative to ground it effectively clamps the load as the transistor will act as an emitter/source follower, so no significant back-EMF will be generated, and the output voltage from the coil secondary will be reduced by a couple of orders of magnitude.

Because the emitter/source is part of both the load and control circuits, it must be kept firmly grounded to permit ground referenced base/gate drive to be used. This limits NPN BJTs or a N channel IGBTs or MOSFETs to being used as low side switches when their inductive load is unclamped. 
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 10, 2021, 07:01:41 pm
Quote
No, I think you're kinda thinking of this wrong...

The collector will be sitting at +12 (as measured to ground by a multimeter at the collector, being supplied THROUGH the ignition coil primary) when the transistor is off.

When you energize the coil by turning the transistor on, the collector will now be at 0v because you're "turning on ground" to the "bottom" side, the negative terminal of the coil, so current will be flowing through the coil.  When you turn the transistor OFF, the inductive kick blasts out the HV-side of the coil through your spark plug, stepped up by the turns ratio, and some also blasts back to the primary side because you're discharging the inductance of the primary side also, so your drive transistor will see hundreds of volts also, just not increased by the primary:secondary turns ratio, so only hundreds of volts rather than tens of thousands of volts like on the secondary side.

You're switching ground, not switching +12 volts.  You're pulling the collector to ground when the transistor is on.

OK, so I think I'm understanding a little better.  Please forgive me if I get this wrong but what I think I understand is that +12v comes into the "Collector" and the "Emitter" is hooked to ground.  I hope I have that right.

The big I still don't understand is in the diagram from your last post it shows the negative terminal and positive terminal from the coil being connected.  Is that just to signify that they are linked from within the coil body and I should still take the negative terminal to earth?

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on January 10, 2021, 07:38:51 pm
the coil doesn't connect to ground
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: drussell on January 10, 2021, 08:34:50 pm
OK, so I think I'm understanding a little better.  Please forgive me if I get this wrong but what I think I understand is that +12v comes into the "Collector" and the "Emitter" is hooked to ground.  I hope I have that right.

Ignore the +12V for a moment and realize that you're simply using the transistor as a switch.  You're using it to switch the ground connection to the coil off and on.  The load for the circuit is the ignition coil primary, which is wired between this (switched by the transistor, at the collector) ground and the supply of power for the circuit, the +12V feeding the + terminal of the coil. 

The body of the coil is not electrically connected to ground and you do not permanently ground the - terminal of the coil, the ground is switched off and on by your controller and transistor.  The +12 side is the one that stays on all the time (at least whenever your ignition keyswitch is on, that is.  :) )

Quote
The big I still don't understand is in the diagram from your last post it shows the negative terminal and positive terminal from the coil being connected.  Is that just to signify that they are linked from within the coil body...

The positive and negative are not connected together.  The + terminal on the coil is connected internally to the "high" side of the primary coil while the - (switched) side of the coil is connected internally to the "low" side of both the primary and secondary coils. 

The high voltage blasts out the HV coil terminal, through the plug gap, returning through whatever clamping diodes and ignition capacitor/condenser and the +12V supply itself.  The - coil terminal is not permanently grounded.  IT is the one that is switched by whatever method, (the points / ignition box.)

Quote
...and I should still take the negative terminal to earth?

No, ground to the - coil terminal is switched by your transistor.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: drussell on January 10, 2021, 08:39:35 pm
the coil doesn't connect to ground

Right, not permanently connected, no, OP....

The - side is just switched to ground intermittently each time to "charge up" the coil, so it can fire each time when current ceases flowing because the switch has been opened.  It is the collapsing of the magnetic field when the current stops flowing in the primary that fires the spark plug.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on January 11, 2021, 07:40:07 pm
Right, a lot to take in and thank you for the replies.

I'm just reading up on the differences between grounding and earthing because clearly I thought they were the same!

I will be back.

EDIT: I have been thinking of the 12v supply as being two things - a positive side and a negative side - but its just a piece of string right and only works when the loop is joined up.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on February 21, 2021, 08:51:25 am
Well its been a while since I posted here.  I have been busy on other stuff but still not understanding the connecting side of the transistor.

I watched this video and I think I understand now.  I'm excited to have another go at my circuit.

https://youtu.be/gwL_ulOH_rE (https://youtu.be/gwL_ulOH_rE)

Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on February 27, 2021, 07:38:28 pm
Well finally success.  I am sure I can improve on this and excuse the state of my dev board because it is a mess and I was so excited to get this working that I just took a video.

Many thanks for the help, I have learnt a little about transistors!

https://photos.app.goo.gl/Y2R6AiqAsCP9mWUG7 (https://photos.app.goo.gl/Y2R6AiqAsCP9mWUG7)
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on February 27, 2021, 08:29:56 pm
I'm glad you've got it working.  When you get the design a bit more firmed up, please post a schematic.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: drussell on February 27, 2021, 08:48:42 pm
Well finally success.  I am sure I can improve on this and excuse the state of my dev board because it is a mess and I was so excited to get this working that I just took a video.

Many thanks for the help, I have learnt a little about transistors!

I'm glad you've got it working.  When you get the design a bit more firmed up, please post a schematic.

Indeed, it is always rather nice to hear back with some sort of an update when a project is successful, to find out the end result.  Try to keep us posted as to how it ends up working in actual operation... :-+
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on February 28, 2021, 07:41:36 am
Thanks a lot.  I will update as things progress.  I also have this build going on on https://www.hackster.io/danielhowden67 (https://www.hackster.io/danielhowden67)

Please see the attached for the schematic.  You will have to forgive my juvenile drawing but it's still early days for me and I wanted to make sure you guys following this knew where I was going.

The end project is an ignition system for a 3 cylinder motorcycle engine.  I will need 3 of these circuits and I am not sure how I get from my dev board to something more permanent.  Do you use a vero board to do this?  I have a 3D printer so I can easily design an enclosure for the circuit.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on February 28, 2021, 02:19:22 pm
I've redrawn what I *think* your schematic is attempting to show using somewhat more standard symbols.  The coil is actually a type of transformer and the spark plug a spark gap, so that's what I've shown them as.

(https://www.eevblog.com/forum/beginners/please-advise-me-on-this-circuit-arduino-ignition/?action=dlattach;attach=1183604;image)

There are several different 'dialects' of electronics symbols, one of the main differences is between the US/ANSI style and the European/IEEE style.  e.g. ANSI resistors are zigzags and IEEE resistors blocks.  IEEE symbols have an excess of rectangular blocks so are a PITA to draw by hand or read at a glance so many engineers and techs worldwide, just sketching ideas on the back of an envelope or brain-storming with colleagues on a whiteboard, will prefer ANSI symbols, even if their formal corporate standards demand IEEE style schematics.

All parts should have a reference designator so you can talk about a specific one on the schematic without having to describe where to find it in terms of its connections or value, and either a value or part number,  (sometimes both).  ToDo: replace 'N-IGBT' with the part number of your IGBT,  add a part number for the coil.

Veroboard or Tri-pad (https://en.wikipedia.org/wiki/Stripboard#TriPad) would be easiest to prototype on, probably with an 5V 16Mhz Arduino Pro Mini (https://store.arduino.cc/usa/arduino-pro-mini) (or clone) directly mounted to the board, then when you get the prototype working you'd design a proper PCB, with the ATmega328P (or other Arduino MCU) and associated 5V regulator circuit directly mounted on the PCB rather than via an Arduino module, and order it from one of the many Far East PCB manufacturers, some of which offer a  SMD board assembly service. 

After the board is built, you'd flash it with an Arduino bootloader and finalize the software design before potting it in a machined aluminum housing to provide environmental protection, mounting lugs and heatsinking like a commercial ignition module.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: MikeK on February 28, 2021, 02:33:15 pm
What is the purpose of the pulldown (R1) at the Arduino pin?
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on February 28, 2021, 02:38:44 pm
The pulldown prevents leakage currents taking the IGBT into its linear region and cooking it if the Arduino is held in reset or the sketch hasn't configured the pin yet.  Its cheap insurance!
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: MikeK on February 28, 2021, 03:13:40 pm
Shouldn't it be at the IGBT gate instead of the Arduino pin?
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on February 28, 2021, 03:24:45 pm
Generally, *NO*, as its undesirable to let it form a potential divider with the series gate resistor, as it would reduce the gate drive.  If the pulldown was more than two orders of magnitude greater than the gate resistor one could get away with it, but there's no reason to, when it can simply be put on the MCU pin side of the gate resistor.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: floobydust on February 28, 2021, 04:35:12 pm
I think the gate-drive resistor is way too big at 10k to shut off the IGBT fast.
Most automotive ignition IGBT's contain all the extras (https://www.onsemi.com/pub/Collateral/FGI3236-F085-D.pdf) - gate resistor, pull down, zener and are typically connected right to the 5V MCU output pin. There are also 3.3V ignition IGBT's in case OP's Arduino is a 3.3V MCU, but these are not as common.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ian.M on February 28, 2021, 04:42:50 pm
I think the gate-drive resistor is way too big at 10k to shut off the IGBT fast.

Yep. I raised that point earlier, but those are the values he listed at his hackster.io project page.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on February 28, 2021, 08:03:43 pm
Brilliant information - thank you to all.  I'm sorry I'm such an electronics dummy but I have learnt a lot from here, it just takes me longer to get it in my head a little and clearly I have a long way to go.  Spanners are my day to day.

Thanks Ian for the correct diagram, my better than my effort.

Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 03, 2021, 06:58:21 pm
I have had a go at putting together a respectable schematic.  I would really appreciate someone looking to see if I am on the right track here.

This is a 3 cylinder engine I want to run, so I have duplicated everything 3 times.  This may not be necessary but I wasn't sure at the time.  I haven't worked out how I will connect the coil up yet but I have 12v power coming in at the VCC and connection to the Arduino pins on CN1.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: Ground_Loop on March 03, 2021, 08:06:00 pm
I would approach this slightly differently. Instead of a bipolar or Darlington, I'd use a mosfet for the coil switching element, and to protect the Arduino and also allow higher gate voltage for the mosfet, use an optocoupler. Maybe also or instead, a mosfet driver chip.

This circuit may give some ideas. Just substitute the Arduino+optocoupler for the oscillator stage to drive the mosfet. No mosfet driver chip or optocoupler is used here.

https://www.youtube.com/watch?v=M9KVTJQsnE4 (https://www.youtube.com/watch?v=M9KVTJQsnE4)

(I'm sure there is plenty wrong with this circuit too, but at least it makes a spark.)

I suggest you draw your arc as shown in the schematic at the end of the above video instead of tower to ground.  I have done the same in this video https://www.youtube.com/watch?v=LPxDsCX5UfY (https://www.youtube.com/watch?v=LPxDsCX5UfY) using an automotive ignition coil with IGBT switch.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: cb900 on March 05, 2021, 09:38:43 am
Hi Daniel,

Just coming late to the party - would not a standard (modern) coil pack be better suited to your needs? Everything is included and you just supply the pulse at nominal levels - the coil pack handles everything including a diagnostic pin indicating a good spark. You don't have to worry too much about transistor specs and high current carrying capacity.


Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 05, 2021, 07:48:04 pm
Hi Daniel,

Just coming late to the party - would not a standard (modern) coil pack be better suited to your needs? Everything is included and you just supply the pulse at nominal levels - the coil pack handles everything including a diagnostic pin indicating a good spark. You don't have to worry too much about transistor specs and high current carrying capacity.

So this is the thing. To give the pulse to the coil pack I need this setup.  The Arduino will only put out 5v at a very low amperage and that is just not enough for the coil to see.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: BlackICE on March 05, 2021, 08:14:47 pm
Use a GM LS2 coil. Can be triggered from a low current I'm volt signal. Do a search for LS2 coil megasquirt.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: floobydust on March 05, 2021, 09:29:54 pm
For your schematic, I would say you still have the gate resistor too big at 10k ohms, but can make it smaller during testing.
There must be a capacitor (group) across VCC and GND to reduce noise and EMI, it's usually a mix of 10nF, 100nF, and several uF. So I'm saying have two or three caps there. You don't want the coils' noise getting into the bike's 12V power. A fuse is necessary as a crashed Arduino can leave a coil energized and make smoke. A ballast resistor during testing and firmware development can protect against that.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 06, 2021, 03:48:56 pm
For your schematic, I would say you still have the gate resistor too big at 10k ohms, but can make it smaller during testing.
There must be a capacitor (group) across VCC and GND to reduce noise and EMI, it's usually a mix of 10nF, 100nF, and several uF. So I'm saying have two or three caps there. You don't want the coils' noise getting into the bike's 12V power. A fuse is necessary as a crashed Arduino can leave a coil energized and make smoke. A ballast resistor during testing and firmware development can protect against that.

Wow, thanks.  I'll research that.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 06, 2021, 06:25:03 pm
I'm planning to use a potentiometer for the throttle position sensor.  Can anyone recommend what unit would be best placed in this application?

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 09:31:00 am
Also, I have got the Arduino to provoke a spark by reading the timing gear.  However, the transistor gets so hot that it melts the solder on the collector.

Is this because I am doing something wrong with my component choice, my solder choice or something lese in my setup.

I really have no clue as to how hot the transistor will likely get.  Should I use a heat sink maybe.

Thanks, Daniel.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on March 07, 2021, 02:25:14 pm
Also, I have got the Arduino to provoke a spark by reading the timing gear.  However, the transistor gets so hot that it melts the solder on the collector.

Is this because I am doing something wrong with my component choice, my solder choice or something lese in my setup.

I really have no clue as to how hot the transistor will likely get.  Should I use a heat sink maybe.

Thanks, Daniel.


how long is the transistor on before the spark? it should only be on for long enough to ramp the coil current up to
the rated current, on some coils it is only  few milliseconds, called dwell time


Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 03:07:39 pm
how long is the transistor on before the spark? it should only be on for long enough to ramp the coil current up to
the rated current, on some coils it is only  few milliseconds, called dwell time

Currently it is on for 8 milliseconds.  Too long?
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: mikerj on March 07, 2021, 03:12:27 pm
The old fashioned ignition "coil in a can" has sufficient resistance that saturation current was limited to safe values, but modern high energy coils have low resistances to enable them to reach their working current in a much smaller length of time (a few ms as langwdt says) which means saturation currents can be very high, which will kill either the coil driver or the coil.

Also dwell time changes with battery voltage, the higher the battery voltage the lower the dwell time.  If you are not sure what dwell time to use, it can be measured, ideally with the clamp style current sensor.  Have a look at this page (http://www.dtec.net.au/Ignition%20Coil%20Dwell%20Calibration.htm) for a more thorough description.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: mikerj on March 07, 2021, 03:13:07 pm
how long is the transistor on before the spark? it should only be on for long enough to ramp the coil current up to
the rated current, on some coils it is only  few milliseconds, called dwell time

Currently it is on for 8 milliseconds.  Too long?

Depends entirely on the coil.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 03:14:05 pm
The old fashioned ignition "coil in a can" has sufficient resistance that saturation current was limited to safe values, but modern high energy coils have low resistances to enable them to reach their working current in a much smaller length of time (a few ms as langwdt says) which means saturation currents can be very high, which will kill either the coil driver or the coil.

Also dwell time changes with battery voltage, the higher the battery voltage the lower the dwell time.  If you are not sure what dwell time to use, it can be measured, ideally with the clamp style current sensor.  Have a look at this page (http://www.dtec.net.au/Ignition%20Coil%20Dwell%20Calibration.htm) for a more thorough description.

I will take a look thanks.
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 03:15:02 pm
how long is the transistor on before the spark? it should only be on for long enough to ramp the coil current up to
the rated current, on some coils it is only  few milliseconds, called dwell time

Currently it is on for 8 milliseconds.  Too long?

Depends entirely on the coil.



OK, Ill do some research on that. Thanks
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on March 07, 2021, 03:37:44 pm
do you have scope?
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 03:52:37 pm
do you have scope?

I'm afraid I don't understand the question
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: langwadt on March 07, 2021, 04:28:06 pm
do you have scope?

I'm afraid I don't understand the question

keyboard ate some characters.  Do you have an oscilloscope so you can measure the current and see how it ramps up?
Title: Re: Please advise me on this circuit - Arduino ignition
Post by: danielhowden on March 07, 2021, 04:35:39 pm
Ah right, no nothing like that. I'll do some research on the dwell time.