Transients in Automotive Inductor Signal - Page 1
Forum section: electronics / projects

author: SugerSquirrel
author_rank: Newbie
timestamp: July 12, 2020, 11:07:51 pm
content: Thank you for taking the time to view my post. I have a few questions regarding a project that I am working on. In this project I am monitoring the signal from an automotive inductor negative terminal via a microcontroller. I am monitoring the signal, at the microcontroller input, on my analog oscilloscope. I have built the circuit, see attached files, on a custom breadboard which is able to handle higher currents and voltages. I am able to run this circuit connected to a "high energy ignition" on a distributor test machine to simulate a real world application. The circuit is 3ft away from the machine during test and I am using 20 AWG wire from the inductor minus terminal to the circuit as well as the 14.3V and ground leads from the ignition to the circuit.Above about 6400 rpm all the way through 9000 rpm the signal is solid w/ no problems. Below about 6400 rpm I have a good signal but I am getting transient triggers that I can see occuring on my oscilloscope between the expected cylinder firing times. I am not sure what I can do to fix this. Is there any additional filtering that I should be adding to this circuit? I am looking for suggestions on avenues to try to solve this as this is getting above my skill set.Thank you in advance for all your help.Squirrel

author: bdunham7
author_rank: Super Contributor
timestamp: July 12, 2020, 11:33:00 pm
content: Are you looking at the pickup coil on a GM HEI distributor? If so, is it fully operational (plugged into the HEI module, HEI module energized and connected to the coil where it produces a spark someplace...) ?? Or is it just the pickup coil without the other stuff installed?

author: SugerSquirrel
author_rank: Newbie
timestamp: July 13, 2020, 12:06:10 am
content: This is coming from a fully operational HEI as it would be in the car (Pick up coil, module, wire harness, in cap coil). I am not taking the signal from the pickup coil, I am taking it from the in cap coil minus side. I need to do this from the coil minus side of the coil. I understand it is a bit easier to do it that way(pickup coil) but I know you can do it from the coil minus side and I was up for the challenge.Thanks for your reply.S

author: floobydust
author_rank: Super Contributor
timestamp: July 13, 2020, 12:47:26 am
content: The coil primary waveform is complicated, it spikes up to around 400Vpk and then there is the plateau depending on the spark duration, and ringing afterwards, then starting over again repeating the dwell period. So your circuit must tolerate 500V spikes, and debounce the ringing. The debounce time depends on the #cylinders and max RPM.I use a couple transistors to do this. If you are really worried about cost, you can run it into the MCU after a voltage divider/clamp/RFI filter, and debounce in firmware.Your signal filtering circuit I would say is missing a -ve clamp diode for the transistor E-B, you don't need an EMI filter after the transistor and the 100R resistor is wrong. I find 5W zeners don't work as expected because they have large capacitance. Anytime I tried to trigger off the HV spike, it was difficult because the ringing can go over the initial spike, say 125Vpk and it triggers twice.So I have best luck looking for fast +dV/dt portion and ignoring anything after that for a several msec.edit: schematic jpg was corrupted, fixed

author: Circlotron
author_rank: Super Contributor
timestamp: July 13, 2020, 01:00:13 am
content: One approach that worked well for me is have a comparator that triggers at +200V from a resistive voltage divider (no zeners) then feed the comparator output to the micro. Have a micro output trigger a 555 monostable that drives a transistor to clamp the comparator output to ground for 1mS or slightly greater immediately the circuit is triggered. This will make it ignore any noise pulses until the monostable times out. You could increase the monostable time to just a little bit less than the pulse repetition period at max rpm. Ignitions are fun!

author: bdunham7
author_rank: Super Contributor
timestamp: July 13, 2020, 01:12:03 am
content: Quote from: SugerSquirrel on July 13, 2020, 12:06:10 amOK. Is this an HEI with mechanical advance weights? If so, are you sure it has a basic (4-pin) module and not a 5-pin ESC or later type?The first thing I would do is try to obtain an actual ignition scope so that you can look at the signal with a system already designed for it to see if the problem is the distributor or your circuit. Otherwise, can you post a picture of how the signal looks on your screen? Is it a parade of primary ignition events or just one at a time? Do the spurious events look just like a normal ignition pattern or something else? And how are they timed?If the module is being triggered at odd or random times, there may be an actual problem with the distributor (and I'll add that this can destroy an engine pretty quick at high power).

author: SugerSquirrel
author_rank: Newbie
timestamp: July 24, 2020, 01:47:28 am
content: In an update to this post, I have had some time to try and improve this circuit on my distributor testing machine using a High Energy Ignition w/ a four pin module. I have removed the 100 ohm resistor and have replaced the 100pF cap w/ a 10000pF (.01uF) cap. I have also removed the emi filter on the collector side of the transistor (see diagram for reference).With these changes I have recorded a video of my scope output taken from the input of the microcontroller. The rpm at the beginning is 4000rpm crank (2000 rpm distributor) and reaches over 7400 rpm (crank) as can be seen in the video by the duration of trigger events. The time interval at the beginning of the video is 1mS per division and I sweep it up to the max of my scope of .1uS, all at the rpm of 4000 crank. I have changed the time duration of the trace to show noise in the signal and the state of the signal through the rpm sweep (change).The volts/ division is set at 5v for reference. You can see after the trigger, in my scope trace, the ringing of the coil. Should this be of any concern to me? It is not causing any false triggers. As you can see as the time per division gets smaller you can see what looks like two signals that occur up to about 6800rpm (crank). Should this be of concern?To sum up, I have a signal that is steady through 8000 rpm. Is there any way for me to clean this signal up even further than I have now given the reference circuit I have provided? Thank you for your constructive guidance in helping me understand and learn.Please see link provided to see video mentioned in this post:https://youtu.be/_fSjVmED55w

author: floobydust
author_rank: Super Contributor
timestamp: July 24, 2020, 01:49:06 am
content: Your attachments in post #1 (schematics) have become scope traces, can you fix. My schematic became something else as well, strange but the thumbnail was ok.I find it is at low (idle) speeds when dwell is high and engine load (firing voltage) is low that ringing causes the most problems. Under acceleration, the firing voltage goes up. So to really check- sometimes there is a particular engine speed+load combination where the circuit will false-trigger. You have a fake spark gap for a load on the coil, right? Try different gaps as well if possible.Your input diodes need to be fast recovery, like UF4007. 1N4007 is too slow turning off and causes problems. I would have the E-B reverse-diode of the transistor will have a hard life.With the two 62V zeners, that's about an 11kV (secondary) trigger threshold for your circuit. Might be too high.

author: SugerSquirrel
author_rank: Newbie
timestamp: July 24, 2020, 01:59:23 am
content: Please see my uploaded video link to show the complete video. I have removed my post from before which contained thumbnails. I will repost the schematics in the next few minutes.Thanks for your help.Suger

author: SugerSquirrel
author_rank: Newbie
timestamp: July 24, 2020, 02:01:29 am
content: Reposting of my schematics from post #1 as requested.

author: floobydust
author_rank: Super Contributor
timestamp: July 24, 2020, 02:54:50 am
content: I'm not a fan of the circuit for reasons already mentioned- what happened at 0:47 ? and at 2:53 it double-pulses.The "ringing" you see at the trace bottom during rise is just EMI on ground and not the ringing on the primary that I was talking about.

author: SugerSquirrel
author_rank: Newbie
timestamp: July 24, 2020, 08:55:04 pm
content: I was thinking that the event at :47 could be noise from a wire moving and being picked up by/from the probe or the noise from the knob I was turning to change the time duration. And the double pulse I am not sure but since it occurred during the trigger period is it really a double pulse? Just my thoughts.Suger

author: floobydust
author_rank: Super Contributor
timestamp: July 24, 2020, 11:25:58 pm
content: I would say 0:47 looks like a bad connection at the scope probe and 2:53 is multiple triggering. The scope would not retrigger until it is finished its sweep.As I've mentioned, there is usually a speed/spark gap/engine load combination where these circuits either don't trigger or false trigger. It's not easy to come up with something really solid, that also does not load down the coil. You can trigger on an AC or DC voltage level, polarity, rise time and any combination of these properties.As I see it, the circuit triggers on a +ve HV pulse, amplitude over around 141VDC (12kV secondary). Any -ve pulse or -ve ringing shut off the transistor.So if you have an initial primary voltage spike of +300Vpk and after the spark it then it rings and the next is +150Vpk, you will multiple trigger. It's the problem with only picking off the initial HV spike- below that threshold when idling/cranking or a weak battery/compression gives no or missing triggers. If there is (high Q) lots of primary ringing and it multiple triggers which can be OK and expected- if there is a one-shot (debounce) in H/W or S/W afterwards to ignore anything for a few msec after the initial trigger. Do you have that?It's easier to work on these circuits with a DSO.

author: SugerSquirrel
author_rank: Newbie
timestamp: July 25, 2020, 01:21:11 am
content: I do not have a one shot in my circuit, neither HW or SW. I was thinking about that the other day as a matter of fact. I was thinking of going the software route. I could start by having one that is say 75% of the period, and increase it until I don't see any false triggers. I am not sure what a DSO is, can you explain to me what this is?Thanks for your continued assistance.Suger

author: floobydust
author_rank: Super Contributor
timestamp: July 25, 2020, 06:06:16 am
content: You can use a second transistor (post #3) or 555 timer as a hardware one-shot. At least 1.5msec for an 8 cylinder engine and you can go longer for 2/4/6 cyl engines. If you need over 8,000RPM ability then shorten the debounce time a bit but who uses a single ignition coil at that speed. You just want to debounce (ignore) until past the end of the burn time, which varies.If you debounce in firmware, you can trigger off a falling edge to make an interrupt, and then ignore further pulses for an extra say 1.5msec before re-enabling. It depends on your MCU's timer resources.I'm not sure what you are doing with the signal. You can measure RPM two ways - # pulses over a fixed time period, or measure time between pulses.DSO- digital storage oscilloscope, the blink blink blink of an analog scope can make it tough to see glitches or extra pulses.

author: Circlotron
author_rank: Super Contributor
timestamp: July 25, 2020, 11:26:49 am
content: Quote from: floobydust on July 25, 2020, 06:06:16 amYou can get a single coil to go full power past 10,000 if you do it right. I did the electronics box for this one. 8800+ rpm. I've done more than a few.https://www.whichcar.com.au/tv/video-1100hp-naturally-aspirated-ls-engine-on-the-dyno

author: floobydust
author_rank: Super Contributor
timestamp: July 25, 2020, 08:44:30 pm
content: I was thinking stock/street use, like OP's HEI. My measurements HEI stock is 2.8mH, 0.35R, around 6A pk.In the video I see the dual-coil "new 20Amp twin-coil system" and mention of a "10Amp single-coil system".My math, 8,000RPM on a V8 ignition is 533Hz or 1.88msec period, which isn't alot of time to build primary current, do an arc and then repeat, running a single coil.A special ignition coil with say one-quarter the inductance and run double peak primary current, you can run short dwell times. But the switching transistor losses go up 4X, more heat. 20A though?

author: mikerj
author_rank: Super Contributor
timestamp: July 25, 2020, 09:57:42 pm
content: Quote from: Circlotron on July 13, 2020, 01:00:13 amWhy wouldn't you just disable the interrupt in the micro for 1ms, or whatever time you need?

author: Circlotron
author_rank: Super Contributor
timestamp: July 26, 2020, 02:00:39 am
content: Quote from: mikerj link=topic=246930.msg3155840#msg3155840That approach would certainly work well. The way I did it was on a design in the late 90's when I didn't know what I know now.

author: Circlotron
author_rank: Super Contributor
timestamp: July 26, 2020, 02:24:34 am
content: Quote from: floobydust on July 25, 2020, 08:44:30 pmThe 20 amp system uses two coils in parallel, 150mJ per coil so 300mJ total.Just now took a scope screenshot for one of those boxes set at 7 amps and running a single coil at 6000rpm. With a 14V supply the current increases by 3.5A in 1.75mS, giving approx 7mH inductance. (resistance may have slowed di/dt a little so inductance is probably not quite as high as that). You are certainly correct in that the coil doesn't have enough time to fully charge up *from zero* at high rpm, but the flip side is it doesn't have enough time to fully discharge down *to zero* either. Identical situation to a flyback SMPS operating in continuous mode. The trick is to find the right ratio of on time to off time. Do that and you have an ignition that will rev to the moon.Edit - The scope screen shot is now the wrong one! I give up...

author: floobydust
author_rank: Super Contributor
timestamp: July 26, 2020, 11:57:10 pm
content: Interesting approach. I figured once a (DC) arc starts, it would load down the coil until energy is depleted, then the arc extinguishes.Something else must be ending the arc early in continous mode.

author: SugerSquirrel
author_rank: Newbie
timestamp: July 27, 2020, 12:16:40 am
content: Which Rigol scope are you using, and what are your thoughts on it?

author: Circlotron
author_rank: Super Contributor
timestamp: July 27, 2020, 06:25:43 am
content: Quote from: floobydust on July 26, 2020, 11:57:10 pmYes. When you reapply voltage to the primary, the secondary voltage polarity reverses compared to the arc voltage and becomes the primary applied volts x the turns ratio. Usually this voltage is insufficient to re-establish the arc. You don't want to re-establish the arc because this inhibits the coil charging up. Engines that have individual coils connected directly to the spark plug generally have a diode in series with the HV output to prevent this. They are more prone to this situation because of not having the extra gap between the distributor rotor button and dist cap.

author: Circlotron
author_rank: Super Contributor
timestamp: July 27, 2020, 06:29:51 am
content: Quote from: SugerSquirrel on July 27, 2020, 12:16:40 amDS2000. Perhaps the thing I like best on it is the deep memory. You can record 65000 frames which makes it easy to scroll back in time and see what led up to something going wrong. Other than that, plenty of comment on it on other forum pages here.