Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Ignition Circuit help

Status
Not open for further replies.

xenocide702

New Member
Hey guys, I've been lurking on this forum for awhile and finally have a problem I need some help with.

A friend of mine and I are designing, coding, and wiring an ignition system for a motorcycle engine. We're using an arduino PLC as an ECU and using the standard coils and condenser, which were originally designed for a CDI system. We have the CDI circuit built basically built as shown in the image below

**broken link removed**

The arduino is capable of +5v at about 150mA max and we need this to short the wire coming out of the primary winding to ground. We considered relays, but my guess is that they won't be fast/reliable enough. We've tried using our limited knowledge of transistors to use a high speed switching transistor as a switch to ground, but I think we must be missing something big.

Thanks for any thoughts/ideas on the matter

PS: I've tried measuring voltage and current across that switch to get a better rated transistor, but I can't seem to get a reading, I suppose this probably has something to do with the cap (condenser).
 
Use a mosfet....an IRF830 should do...it's rated for about 500-600v has a resonable Rds on...You may need to check the data sheet, these figures are off the top of my head..

How are you triggering the mcu? Hall effect device?
 
thanks for your fast reply, i've found the datasheet
http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXqyzqx.pdf
If I'm reading it correctly it enters the "ON" state when Vgs is 3v? If so the source should be our ground, and the drain would be out from the coil?

And we're using the sensors already on the engine, I thought they were some form of magnetic reed switches, but on researching it, it would appear that they are related to the Hall Effect Sensor.

We plan on using these 2 sensors to find top dead center, then advance/delay the timing from there.
 
It's a nit but the schematic you show is for a standard Kettering type inductive ignition, not a CDI (Capacitor Discharge Ignition). A true CDI system charges a capacitor to a high voltage (several hundred volts) from a DC-DC converter, and then discharges the capacitor through the primary of the ignition coil (typically using an SCR). CDI systems are popular but the short spark they generate has difficulty igniting the lean mixture of modern engines, so many new engines use electronic inductive spark systems, which generate a much longer spark.
 
Last edited:
I think, they've thought it through and considered the cap as the cap in a cdi unit...Only difference is that the cap is charged from a higher voltage source as you suggested....

Back to the drawing board I think.. what is needed is a slower discharge of energy into the coil to ensure the weaker misture is burnt properly or some other means of prolonging the spark duration
 
Whatever you do, make sure your electronics are well insulated and isolated from the ignition coil primary. You can get damaging spikes that propagate through your system, distroying everything in it's path. I blew a perfectly good power supply and sig-gen fooling around with one of these.

Let us know how this proj. turns out.
 
Last edited:
Sorry for the delayed response (i think my post was held to be read by moderation).

what is needed is a slower discharge of energy into the coil to ensure the weaker misture is burnt properly or some other means of prolonging the spark duration

Isn't that what the resistor below the cap is for? Could I simply increase the resistance there to slow the collapse of the field and lengthen the duration of the spark? Sorry if this is a stupid question, but I honestly don't know enough about these components.

I know this engine originally used a CDI system, When we bought the engine, it didn't come w/ the CDI igniter unit and they're way to much money for our project. We figured this was as good a design as any. Are there any other options that may work better?
 
Sorry for the delayed response (i think my post was held to be read by moderation).



Isn't that what the resistor below the cap is for? Could I simply increase the resistance there to slow the collapse of the field and lengthen the duration of the spark? Sorry if this is a stupid question, but I honestly don't know enough about these components.

I know this engine originally used a CDI system, When we bought the engine, it didn't come w/ the CDI igniter unit and they're way to much money for our project. We figured this was as good a design as any. Are there any other options that may work better?

You don't really want to slow down the discharge, as that will degrade the otuput of the coil. I don't know the purpose of the resistor in your schematic; traditionally, ignition systems don't have one there. I'm not an expert on ignition systems, but I think there is some self-excitation that prolongs the spark.
 
Yeah, that's what we were planning on, like 4 sparks per cycle or something

idk if it'd hold up at higher RPMs but we can account for that in the code if it won't.

I'd imagine it could, I'm not real sure, but I've been playing with this setup, running the wire across the threads of an old spark plug as a ground, it's remarkable how fast it works.

EDIT: I had a post earlier that seems to have been claimed by the anti spam mod approval thing which said something about finding the mosfet data sheet http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXqyzqx.pdf If i'm reading that datasheet right (and I'm probably not) It looks like to turn the transistor to the ON state, it requires 2-4v across the gate and the source, if this is correct, would that mean that the source is our ground and the gate is our positive voltage out of the arduino, and the drain is the ground for the primary winding on the coil?

Obviously I'd need some sort of protection circuit to protect the arduino, any ideas on how?
 
Last edited:
An inductive ignition circuit is likely not fast enough for multiple sparks per cycle near the TDC of the piston. The inductive spark duration is a couple ms and then a typical 8mH coil primary inductance requires several more ms for the coil current to build back up to a typical 5A before the next spark can be generated. By then the piston will be well past TDC at higher engine speeds.

It may seem fast when you scratch the leads across the spark plug threads but that's still likely slow compared to the speed of the engine spark. (50 times per second or 20ms between each ignition spark at 6000 rpm, for example, for a 4-cycle engine).

A CDI system has a much shorter spark duration (<1ms) and can be made fast enough for multiple sparks per cycle, it being limited mainly by how fast you can recharge the capacitor from the DC-DC converter.
 
these are the CDI coils off of the original bike though, along with the original cap, doesn't that mean that it should be fast enough? Or have I been wiring them wrong?

EDIT: if indeed this system takes more than a few milliseconds to charge back up, we're in trouble, at 11k RPM (the bike's original redline) it only takes 5 milliseconds to complete a revolution so 10 milliseconds between firing the plugs, seems to be cutting it close...
 
Last edited:
That's a "regular" mosfet that fully turns on at 10V. You need a logic level mosfet that will turn on at 4.5v or lower. You'll know by looking at the Rds(on) figure on the datasheet. It will have some notes next to it saying at what voltage it fully turns on at.

Also try to find one with a low Qg (gate charge) as it will have faster switching times. Although I think the voltage rating is going to be the most limiting. Might even think about an IGBT instead, as they can handle the big volts.

EDIT: if indeed this system takes more than a few milliseconds to charge back up, we're in trouble, at 11k RPM (the bike's original redline) it only takes 5 milliseconds to complete a revolution so 10 milliseconds between firing the plugs, seems to be cutting it close...

That's why they call it the red line. :p
 
Last edited:
Gotcha, I'll look for a logic level, I assume the pin-out is the same? If so would my description from earlier work?
the source is our ground and the gate is our positive voltage out of the arduino, and the drain is the ground for the primary winding on the coil?
 
these are the CDI coils off of the original bike though, along with the original cap, doesn't that mean that it should be fast enough? Or have I been wiring them wrong?

EDIT: if indeed this system takes more than a few milliseconds to charge back up, we're in trouble, at 11k RPM (the bike's original redline) it only takes 5 milliseconds to complete a revolution so 10 milliseconds between firing the plugs, seems to be cutting it close...

If the coil is ~8mh, then it should charge to a couple amps in 1.3ms

12/.008 = 1500A/s; 2/1500≈1.3 ms.

At 1100RPM, you actually have almost 11ms between firings, remembering that you have two complete cycles per ignition. That, of course, divided by the number of cylinders. If two cylinders, then you're back to about 5.45ms. Still, you have pleanty of time.

EDIT: I had a post earlier that seems to have been claimed by the anti spam mod approval thing which said something about finding the mosfet data sheet **broken link removed** If i'm reading that datasheet right (and I'm probably not) It looks like to turn the transistor to the ON state, it requires 2-4v across the gate and the source, if this is correct, would that mean that the source is our ground and the gate is our positive voltage out of the arduino, and the drain is the ground for the primary winding on the coil?

Obviously I'd need some sort of protection circuit to protect the arduino, any ideas on how?

You are correct about the connections to the MOSFET. And yes, you DO need lots of protection. I'm actually working on protecting the electronics that drive an ignition coil myself, whenever I get enough time ( not very often ) Use fast transorbs, high-voltage, fast zeners, or anything else you can. More is better here. Do lots of experimenting, and turn the voltage up very slowly while observing the spikes on the power supply and digital lines feeding the MOSFET. Do lots of research on lighting protection and such subjects, as the methods will be very similar. When you figure it out, then share what you've learned. When I get another chance to work on mine, I'll share too.
 
An inductive ignition circuit is likely not fast enough for multiple sparks per cycle near the TDC of the piston.

A CDI system has a much shorter spark duration (<1ms) and can be made fast enough for multiple sparks per cycle, it being limited mainly by how fast you can recharge the capacitor from the DC-DC converter.

Thats what I was getting at -- if lighting up the A/F mix is an issue with CDI as someone posted, then I suggested to do like MSD (the company...that makes CDI modules) and fire multiple times at lower rpms... MSD stands for Multiple Spark Discharge, after all! :D

Michael
 
Interesting thread.
I played with a similar concept several times back in college my first time around. My auto tech buddies ran into a speed limit with standard ignition coils and thus had a ignition rev limit with the small block V8 they were trying to push to 13000 RPM. (I still dont know why)

I designed a simple two transistor push pull oscillator that was the driver circuit for a old TV fly back transformer.
What that gave us was a ignition coil with a hot spark that ran at near 40Khz constant.
The original ignition system used a simple hall effect pickup sensor. By setting the dwell time as a comparison of the hall effect sensors output voltage and using it to turn the base signals on and off for the oscillator we were able to get a full 30 degree continuous burn ignition cycle during each cylinder firing.
It seemed to work great and never had any problems on the test engines. We ran it on one guys car for over a week with out failure. He said it idled better and seemed to possibly have better power and mileage. But we never confirmed it.

We dubbed it the 'Hyper Arc' ignition system. We even had a variation that could work with a points type ignition too. I still have it on my 1952 international L110 truck some 15 years later!
Still starts the old in line 6 every time!
And the big TV fly back coil where the ignition coil should be gets an odd look from everyone that sees it too! :D
 
Wow, that's awesome tcmtech, that must've been a hell of a project. Thanks to all of you for all your help and input, I'll keep nosing around for protection methods and post back with what I find. (and especially if I actually get the thing running :) )

Thanks again for your help,
Xenocide
 
And the big TV fly back coil where the ignition coil should be gets an odd look from everyone that sees it too!

HA! You have got to show us a picture of this!
 
What's the best way to measure voltage spikes? I've tried using my meter using the max voltage function, but it's never spiked over 11.8 (this is across the "switch" to ground obviously when it's opened). I've also measured across the power supply to ground with no changes (voltage drops to around 5v when charging the coil, probably just because it's a computer power supply, but no spikes). I assumed this was because it's a digital meter and only polls every .5 seconds. So...

I broke out my old oscilloscope and tried that, I did manage to pick something up across the switch, when removing it from ground, I got a fair voltage spike (my best guess would be about 24 volts), but it's to fast to reliably tell how many volts or how long the spike lasted, and unfortunately my 80's oscilloscope doesn't have a record function.

Is the only reliable way to determine this with a record function? Or is it safe enough to say if I can't see any visible spikes, it means they're small enough to not hurt anything?
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top