Forums

SPICE model for a spark plug?

Started by Joerg June 5, 2018
Looking for a SPICE model that mimics a spark plug, ideally with and 
without fuel. Does anyone know where to find one?

So far I found:


.subckt spark_gap 1 4
R_off 1 2 1e7 ; dark resistance (affects breakdown voltage)
R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance
Dfall 2 3 10V ; bidirectional cathode fall voltage
Cdfall 2 3 50p Rser=100 ; for convergence
V_ion 3 4 0 ; current sense for behavioral sources
B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization
C_ion ion 0 5u Rpar=1 ; ionization time constant
.model 10V d(Vfwd=10 Vrev=10 Ron=1)
.ends spark_gap


However, the spark occurs at a few hundred volts and changing parameters 
doesn't do much.

-- 
Regards, Joerg

http://www.analogconsultants.com/
On Tue, 05 Jun 2018 16:09:34 -0700, Joerg <news@analogconsultants.com>
wrote:

>Looking for a SPICE model that mimics a spark plug, ideally with and >without fuel. Does anyone know where to find one? > >So far I found: > > >.subckt spark_gap 1 4 >R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) >R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance >Dfall 2 3 10V ; bidirectional cathode fall voltage >Cdfall 2 3 50p Rser=100 ; for convergence >V_ion 3 4 0 ; current sense for behavioral sources >B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization >C_ion ion 0 5u Rpar=1 ; ionization time constant >.model 10V d(Vfwd=10 Vrev=10 Ron=1) >.ends spark_gap > > >However, the spark occurs at a few hundred volts and changing parameters >doesn't do much.
I thought your dirt bike had pedals. -- John Larkin Highland Technology, Inc lunatic fringe electronics
On Wednesday, June 6, 2018 at 9:09:35 AM UTC+10, Joerg wrote:
> Looking for a SPICE model that mimics a spark plug, ideally with and > without fuel. Does anyone know where to find one? > > So far I found: > > > .subckt spark_gap 1 4 > R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) > R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance > Dfall 2 3 10V ; bidirectional cathode fall voltage > Cdfall 2 3 50p Rser=100 ; for convergence > V_ion 3 4 0 ; current sense for behavioral sources > B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization > C_ion ion 0 5u Rpar=1 ; ionization time constant > .model 10V d(Vfwd=10 Vrev=10 Ron=1) > .ends spark_gap > > > However, the spark occurs at a few hundred volts and changing parameters > doesn't do much.
A spark plug breaks over at about 20kV. It's an avalanche breakdown in compressed gas, so you have to have a free charge carrier show up to initiate the the avalanche. Car cylinders are dirty places, so it might be a chunk of soot. The currents involved in the established avalanche would be high enough to sustain an arc if it went on for long enough, but you have an initial glow discharge with a voltage drop of a hundred volts or so for perhaps a microsecond before the ion bombardment gets one electrode surface hot enough to allow the arc mechanism to take over - which is to say to let the surface get hot enough into distort under the influence of the applied electric field to create lots of atomically sharp spikes that emit electrons by "warm" field emission. Best of luck modelling that in Spice. The presence and absence of fuel make a difference to the multiplication process that forms the initial spark, so the initial breakdown voltage is going to be different, and it influences the glow discharge period when the discharge moves from a glow to an arc. Once the arc is established the fuel content doesn't make any difference. A friend of mine set up a laser system for looking at the gas flows inside a single cylinder test engine for Shell in the later 1970's, but he was more worried about the combustion initiated by the spark than the spark itself. -- Bill Sloman, Sydney
On Wednesday, June 6, 2018 at 1:09:35 AM UTC+2, Joerg wrote:
> Looking for a SPICE model that mimics a spark plug, ideally with and > without fuel. Does anyone know where to find one? > > So far I found: > > > .subckt spark_gap 1 4 > R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) > R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance > Dfall 2 3 10V ; bidirectional cathode fall voltage > Cdfall 2 3 50p Rser=100 ; for convergence > V_ion 3 4 0 ; current sense for behavioral sources > B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization > C_ion ion 0 5u Rpar=1 ; ionization time constant > .model 10V d(Vfwd=10 Vrev=10 Ron=1) > .ends spark_gap > > > However, the spark occurs at a few hundred volts and changing parameters > doesn't do much. > > --
Wouldn't be better to "just" run a test, and feed the voltage/current waveform into spice? Cheers Klaus
On 2018-06-06 02:41, Klaus Kragelund wrote:
> On Wednesday, June 6, 2018 at 1:09:35 AM UTC+2, Joerg wrote: >> Looking for a SPICE model that mimics a spark plug, ideally with >> and without fuel. Does anyone know where to find one? >> >> So far I found: >> >> >> .subckt spark_gap 1 4 R_off 1 2 1e7 ; dark resistance (affects >> breakdown voltage) R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization >> resistance Dfall 2 3 10V ; bidirectional cathode fall voltage >> Cdfall 2 3 50p Rser=100 ; for convergence V_ion 3 4 0 ; current >> sense for behavioral sources B_ion 0 ion I=I(V_ion)**2 ; measure of >> channel ionization C_ion ion 0 5u Rpar=1 ; ionization time >> constant .model 10V d(Vfwd=10 Vrev=10 Ron=1) .ends spark_gap >> >> >> However, the spark occurs at a few hundred volts and changing >> parameters doesn't do much. >> >> -- > Wouldn't be better to "just" run a test, and feed the voltage/current > waveform into spice? >
Yes, but this isn't an engine application and testing would not be easy at all. Or not really possible a priori. -- Regards, Joerg http://www.analogconsultants.com/
On 2018-06-05 19:26, John Larkin wrote:
> On Tue, 05 Jun 2018 16:09:34 -0700, Joerg <news@analogconsultants.com> > wrote: > >> Looking for a SPICE model that mimics a spark plug, ideally with and >> without fuel. Does anyone know where to find one? >> >> So far I found: >> >> >> .subckt spark_gap 1 4 >> R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) >> R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance >> Dfall 2 3 10V ; bidirectional cathode fall voltage >> Cdfall 2 3 50p Rser=100 ; for convergence >> V_ion 3 4 0 ; current sense for behavioral sources >> B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization >> C_ion ion 0 5u Rpar=1 ; ionization time constant >> .model 10V d(Vfwd=10 Vrev=10 Ron=1) >> .ends spark_gap >> >> >> However, the spark occurs at a few hundred volts and changing parameters >> doesn't do much. > > I thought your dirt bike had pedals. >
It's for something way bigger :-) -- Regards, Joerg http://www.analogconsultants.com/
On 2018-06-05 19:35, bill.sloman@ieee.org wrote:
> On Wednesday, June 6, 2018 at 9:09:35 AM UTC+10, Joerg wrote: >> Looking for a SPICE model that mimics a spark plug, ideally with >> and without fuel. Does anyone know where to find one? >> >> So far I found: >> >> >> .subckt spark_gap 1 4 R_off 1 2 1e7 ; dark resistance (affects >> breakdown voltage) R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization >> resistance Dfall 2 3 10V ; bidirectional cathode fall voltage >> Cdfall 2 3 50p Rser=100 ; for convergence V_ion 3 4 0 ; current >> sense for behavioral sources B_ion 0 ion I=I(V_ion)**2 ; measure of >> channel ionization C_ion ion 0 5u Rpar=1 ; ionization time >> constant .model 10V d(Vfwd=10 Vrev=10 Ron=1) .ends spark_gap >> >> >> However, the spark occurs at a few hundred volts and changing >> parameters doesn't do much. > > A spark plug breaks over at about 20kV. It's an avalanche breakdown > in compressed gas, so you have to have a free charge carrier show up > to initiate the the avalanche. Car cylinders are dirty places, so it > might be a chunk of soot. >
It also works fine in clean air.
> The currents involved in the established avalanche would be high > enough to sustain an arc if it went on for long enough, but you have > an initial glow discharge with a voltage drop of a hundred volts or > so for perhaps a microsecond before the ion bombardment gets one > electrode surface hot enough to allow the arc mechanism to take over > - which is to say to let the surface get hot enough into distort > under the influence of the applied electric field to create lots of > atomically sharp spikes that emit electrons by "warm" field > emission. > > Best of luck modelling that in Spice. >
The current (100-200mA), duration and so on are well know. I could probably piece together a behavioral model but I am not very good at that and thought that I sure can't be the first one. But maybe I am.
> The presence and absence of fuel make a difference to the > multiplication process that forms the initial spark, so the initial > breakdown voltage is going to be different, and it influences the > glow discharge period when the discharge moves from a glow to an arc. > Once the arc is established the fuel content doesn't make any > difference. > > A friend of mine set up a laser system for looking at the gas flows > inside a single cylinder test engine for Shell in the later 1970's, > but he was more worried about the combustion initiated by the spark > than the spark itself. >
Yes, different job. -- Regards, Joerg http://www.analogconsultants.com/
On Wed, 6 Jun 2018 02:41:47 -0700 (PDT), Klaus Kragelund
<klauskvik@hotmail.com> wrote:

>On Wednesday, June 6, 2018 at 1:09:35 AM UTC+2, Joerg wrote: >> Looking for a SPICE model that mimics a spark plug, ideally with and >> without fuel. Does anyone know where to find one? >> >> So far I found: >> >> >> .subckt spark_gap 1 4 >> R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) >> R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance >> Dfall 2 3 10V ; bidirectional cathode fall voltage >> Cdfall 2 3 50p Rser=100 ; for convergence >> V_ion 3 4 0 ; current sense for behavioral sources >> B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization >> C_ion ion 0 5u Rpar=1 ; ionization time constant >> .model 10V d(Vfwd=10 Vrev=10 Ron=1) >> .ends spark_gap >> >> >> However, the spark occurs at a few hundred volts and changing parameters >> doesn't do much. >> >> -- >Wouldn't be better to "just" run a test, and feed the voltage/current waveform into spice? > >Cheers > >Klaus
Break-over depends on risetime as well as voltage. I may have a model. Cross fingers. ...Jim Thompson -- | James E.Thompson | mens | | Analog Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | STV, Queen Creek, AZ 85142 Skype: skypeanalog | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | Thinking outside the box... producing elegant solutions, by understanding what nature is hiding. "It is not in doing what you like, but in liking what you do that is the secret of happiness." -James Barrie
On Wed, 06 Jun 2018 08:52:05 -0700, Jim Thompson
<To-Email-Use-The-Envelope-Icon@On-My-Web-Site.com> wrote:

>On Wed, 6 Jun 2018 02:41:47 -0700 (PDT), Klaus Kragelund ><klauskvik@hotmail.com> wrote: > >>On Wednesday, June 6, 2018 at 1:09:35 AM UTC+2, Joerg wrote: >>> Looking for a SPICE model that mimics a spark plug, ideally with and >>> without fuel. Does anyone know where to find one? >>> >>> So far I found: >>> >>> >>> .subckt spark_gap 1 4 >>> R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) >>> R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance >>> Dfall 2 3 10V ; bidirectional cathode fall voltage >>> Cdfall 2 3 50p Rser=100 ; for convergence >>> V_ion 3 4 0 ; current sense for behavioral sources >>> B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization >>> C_ion ion 0 5u Rpar=1 ; ionization time constant >>> .model 10V d(Vfwd=10 Vrev=10 Ron=1) >>> .ends spark_gap >>> >>> >>> However, the spark occurs at a few hundred volts and changing parameters >>> doesn't do much. >>> >>> -- >>Wouldn't be better to "just" run a test, and feed the voltage/current waveform into spice? >> >>Cheers >> >>Klaus > >Break-over depends on risetime as well as voltage. I may have a >model. Cross fingers. > > ...Jim Thompson
Untested by JET. It has the odor of an LTspice model, so behavior and convergence are automatically suspect >:-) .SUBCKT SPARK_GAP2 1 2 PARAMS: V_GLOW=1500 V_ARC=150 I_SUS=.002 V_BREAKDN=12000 I_ARC=.2 * SINCE THE STRIKING IS VERY FAST, IT IS STRONGLY ADVISED * TO SET TRTOL TO 1 VIA: .OPTIONS TRTOL=1 and ITL4=1000. THIS WILL FORCE * PSpice TO BE MORE VIGILANT IN THE VICINITY OF TRANSITIONS * * Documentation on the Sparkgap model can obtained from AEi Systems, www.AENG.com, 310-216-1144, Info@AENG.com * D_D3 10 11 DZ_ARC X_SARC 9 0 3 10 SPARK_GAP2_SARC R_RT1 7 0 50 D_DT2 8 9 D1N4148 E_EBREAKDN_CONTROL 6 0 VALUE = {IF(ABS(V(1,2))>{V_BREAKDN} , 12 , + IF( ABS(I(V_VSENSE)) > {I_SUS} , 12 , 0 ))} D_D4 5 11 DZ_ARC E_EARC_CONTROL 8 0 VALUE = { IF( ABS(I(V_VSENSE)) > {I_ARC} , 12 , 0 )} D_D2 5 4 DZ_GLOW V_VSENSE 5 2 DC 0 C_CT2 9 0 0.1U R_RT2 9 0 50 C_CT1 7 0 0.25U X_SBREAKDN 7 0 1 3 SPARK_GAP2_SBREAKDN D_D1 3 4 DZ_GLOW D_DT1 6 7 D1N4148 .MODEL DZ_GLOW D (BV={V_GLOW} IS=1U RS=5 IBV=10U) .MODEL DZ_ARC D (BV={V_ARC} IS=1U RS=5 IBV=10U) .MODEL D1N4148 D (RS=.8 CJO=4PF IS=7E-09 N=2 VJ=.6V + TT=6E-09 M=.45 BV=100V) .ENDS .subckt SPARK_GAP2_SARC 1 2 3 4 XS_SBREAKDN 3 4 1 2 SWhyste Params: Ron=5 Roff=50MEG VT=10 VH=0 RS_SARC 1 2 1G .ends .subckt SPARK_GAP2_SBREAKDN 1 2 3 4 XS_SBREAKDN 3 4 1 2 SWhyste Params: Ron=5 Roff=50MEG VT=10 VH=0 RS_SBREAKDN 1 2 1G .ends ...Jim Thompson -- | James E.Thompson | mens | | Analog Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | STV, Queen Creek, AZ 85142 Skype: skypeanalog | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | Thinking outside the box... producing elegant solutions, by understanding what nature is hiding. "It is not in doing what you like, but in liking what you do that is the secret of happiness." -James Barrie
On 2018-06-06 09:40, Jim Thompson wrote:
> On Wed, 06 Jun 2018 08:52:05 -0700, Jim Thompson > <To-Email-Use-The-Envelope-Icon@On-My-Web-Site.com> wrote: > >> On Wed, 6 Jun 2018 02:41:47 -0700 (PDT), Klaus Kragelund >> <klauskvik@hotmail.com> wrote: >> >>> On Wednesday, June 6, 2018 at 1:09:35 AM UTC+2, Joerg wrote: >>>> Looking for a SPICE model that mimics a spark plug, ideally with and >>>> without fuel. Does anyone know where to find one? >>>> >>>> So far I found: >>>> >>>> >>>> .subckt spark_gap 1 4 >>>> R_off 1 2 1e7 ; dark resistance (affects breakdown voltage) >>>> R_ion 1 2 R=10/V(ion)**.75 ; dynamic ionization resistance >>>> Dfall 2 3 10V ; bidirectional cathode fall voltage >>>> Cdfall 2 3 50p Rser=100 ; for convergence >>>> V_ion 3 4 0 ; current sense for behavioral sources >>>> B_ion 0 ion I=I(V_ion)**2 ; measure of channel ionization >>>> C_ion ion 0 5u Rpar=1 ; ionization time constant >>>> .model 10V d(Vfwd=10 Vrev=10 Ron=1) >>>> .ends spark_gap >>>> >>>> >>>> However, the spark occurs at a few hundred volts and changing parameters >>>> doesn't do much. >>>> >>>> -- >>> Wouldn't be better to "just" run a test, and feed the voltage/current waveform into spice? >>> >>> Cheers >>> >>> Klaus >> >> Break-over depends on risetime as well as voltage. I may have a >> model. Cross fingers. >> >> ...Jim Thompson > > Untested by JET. It has the odor of an LTspice model, so behavior and > convergence are automatically suspect >:-) > > .SUBCKT SPARK_GAP2 1 2 PARAMS: V_GLOW=1500 V_ARC=150 I_SUS=.002 > V_BREAKDN=12000 I_ARC=.2 > > * SINCE THE STRIKING IS VERY FAST, IT IS STRONGLY ADVISED > * TO SET TRTOL TO 1 VIA: .OPTIONS TRTOL=1 and ITL4=1000. THIS WILL > FORCE > * PSpice TO BE MORE VIGILANT IN THE VICINITY OF TRANSITIONS > * > * Documentation on the Sparkgap model can obtained from AEi Systems, > www.AENG.com, 310-216-1144, Info@AENG.com > * > D_D3 10 11 DZ_ARC > X_SARC 9 0 3 10 SPARK_GAP2_SARC > R_RT1 7 0 50 > D_DT2 8 9 D1N4148 > E_EBREAKDN_CONTROL 6 0 VALUE = {IF(ABS(V(1,2))>{V_BREAKDN} , 12 , > + IF( ABS(I(V_VSENSE)) > {I_SUS} , 12 , 0 ))} > D_D4 5 11 DZ_ARC > E_EARC_CONTROL 8 0 VALUE = { IF( ABS(I(V_VSENSE)) > {I_ARC} , 12 , 0 > )} > D_D2 5 4 DZ_GLOW > V_VSENSE 5 2 DC 0 > C_CT2 9 0 0.1U > R_RT2 9 0 50 > C_CT1 7 0 0.25U > X_SBREAKDN 7 0 1 3 SPARK_GAP2_SBREAKDN > D_D1 3 4 DZ_GLOW > D_DT1 6 7 D1N4148 > .MODEL DZ_GLOW D (BV={V_GLOW} IS=1U RS=5 IBV=10U) > .MODEL DZ_ARC D (BV={V_ARC} IS=1U RS=5 IBV=10U) > .MODEL D1N4148 D (RS=.8 CJO=4PF IS=7E-09 N=2 VJ=.6V > + TT=6E-09 M=.45 BV=100V) > .ENDS > .subckt SPARK_GAP2_SARC 1 2 3 4 > XS_SBREAKDN 3 4 1 2 SWhyste Params: Ron=5 Roff=50MEG VT=10 VH=0 > RS_SARC 1 2 1G > .ends > .subckt SPARK_GAP2_SBREAKDN 1 2 3 4 > XS_SBREAKDN 3 4 1 2 SWhyste Params: Ron=5 Roff=50MEG VT=10 VH=0 > RS_SBREAKDN 1 2 1G > .ends >
Thank you. LTSpice doesn't like this line though: E_EARC_CONTROL 8 0 VALUE = { IF( ABS(I(V_VSENSE)) > {I_ARC} , 12 , 0 )} It complains about the "extra" curly brace at the end which to me seems correct, not "extra". If I take it out LTPSICE, of course, complains about a missing curly brace. Software really isn't my thing. Or maybe there is a bug somewhere. Meantime I found a nice article about spark gap modeling using the Rompe-Weizel formula but it's complicated: http://www.bordsysteme.tu-dortmund.de/publications/2000_IEEE_Transactions_Computer%20Simulation%20of%20ESD%20from%20Voluminous%20Objects.pdf Now I've got to take care of a production line stop situation. Those are always fun. Grumble. -- Regards, Joerg http://www.analogconsultants.com/