Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
For any add-on boards such as VR conditioners, optos and OEM interface boards
By romP44
#44594
The voltage between negative coil terminal and ground should look like this (Vswitch):
coil_waveforms.png
coil_waveforms.png (25.28 KiB) Viewed 710 times
(found on http://labundy.com/trigger_box/trigger_box.html)

The idea is to detect only the highest spike. Thanks to the 110V zener diode, the photo transistor is triggered only during this spike. We avoid any false detection when signal is waving.

Quote from CoilX wiki:
The raw ignition signal is passed through a diode to prevent negative voltage transients.
Then the signal is clipped via a Zener diode so voltages lower than 75v 110v are discarded. This filters out the ringing components of the signal, which is the primary cause of false triggers.
The clipped signal is passed through an optoisolator via current limiting resistors.
The optoisolator output is further filtered through a single inverting logic gate using a schmitt trigger filter.
By zylinx
#44605
Hi All!

I am glad to see this topic active on a forum as I am building an arduino tach for my mazda B3 engine with dizzy.
I have been doing lots of research to find a suitable conditioner for my project and it looks like I came to the right place!

First I noticed the 5.1V Zener diode come into question from a MS circuit, I noticed this in one of my open tabs:
The John Zener(5.1V) is used for some specific ignition systems which do not pull the load all the way to ground potential - the application of this diode depends on installation (it is recommended to install a jumper in place of the John Zener for first ignition tests - if noise or lack of triggering is present then the diode should be installed).
source: http://www.bgsoflex.com/v22/msv22.html , Hope that helps clear that up.

I was wondering If the 4N35 and 4N25 interchangeable between NickZ's and dazq circuits ? or is there something im missing in the datasheets.

Also would it be ok to use a 100V Zener instead of 110V ?

I tried to make NickZ's circuit but LED2 keeps blowing when I test by putting 19V DC across coil input. I thought it would be able to withstand 19V easily but the 2.2K resistor gets warm and LED is bright then dies suddenly, not sure if I also damaged the opto-isolator aswell. Am I being stupid ? Should this circuit be able to handle 19V on its input ? I would think so. I must have made an error somewhere.....
Threw this board away and I stopped trying to test input LEDs with 19V DC directly....


Thanks



EDIT Update:
I made my own hodge podge circuit from everyone elses.

The RPM LED works great on my ignition coil, I don't own an o-scope unfortunately.
So I will have to try test the output to an arduino directly, when I get the chance. :oops:
Image
Image
Image
By Sunglasses
#44611
Your circuit looks good, it should work just as well as the ones you derived it from.

The main difference between 4N25 and 4N35 is their CTR (Current Transfer Ratio), which determines the factor between the output transistor current in relation to the LED current. You can use any of them, their function is identical.

The voltage of the Zener does not need to be exactly 110 V but it is a good number to start with. There will be some variation depending on the properties of your ignition circuit. And of course it will always depend on the intended alteration to the signal.
Once you have it hooked up to your Arduino you will see if there are false triggers. Keep in mind to hook it to an input that is capable of interrupts, otherwise it probably misses the short signals. Just try it, the optocoupler will keep the Arduino safe.

If the RPM LED lights up, the IR LED in the optocoupler will do as well since its forward voltage is lower compared to LEDs emitting visible light.
User avatar
By PSIG
#44612
[EDIT] I see Sunglasses already covered some of my reply, but here it is anyway, just for context. Also keep in-mind I do not claim to be an expert or know everything, but I've learned a lot working with many types of signal conditioner circuit designs for quite a long time now, so I hope this is helpful:
zylinx wrote:
Thu Aug 06, 2020 5:38 pm
… First I noticed the 5.1V Zener diode come into question from a MS circuit, I noticed this in one of my open tabs:
The John Zener(5.1V) is used for some specific ignition systems which do not pull the load all the way to ground potential - the application of this diode depends on installation (it is recommended to install a jumper in place of the John Zener for first ignition tests - if noise or lack of triggering is present then the diode should be installed).
source: http://www.bgsoflex.com/v22/msv22.html , Hope that helps clear that up.
It does for the original intent of certain problematic installations (force opto to ground and shut off). It does not for additional considerations not taken into account in the pieced-together MS circuit, which is what romP44 is addressing. See below.
zylinx wrote:
Thu Aug 06, 2020 5:38 pm
I was wondering If the 4N35 and 4N25 interchangeable between NickZ's nad dazq circuits ? or is there something im missing in the datasheets.
They are very similar, but have a few different characteristics, especially in voltage isolation, maximum LED current, and substantially different transfer ratio. While they can be interchangeable in some cases, the differences may need some attention for proper operation. For examples, in romP44's circuit, they should work equally well, but in NickZ's the 35 could have some advantage. One difference would be in the tighter minimum saturation limits against the lack of the Zener in Nick's.
zylinx wrote:
Thu Aug 06, 2020 5:38 pm
Also would it be ok to use a 100V Zener instead of 110V ?
Maybe. That depends on the coil's output waveform and the ringing voltage after spark burn. The point in improving the circuit would be to "cut-out" secondary triggers, only using the initial HV spike while ignoring all others.
zylinx wrote:
Thu Aug 06, 2020 5:38 pm
I tried to make NickZ's circuit but LED2 keeps blowing when I test by putting 19V DC across coil input. I thought it would be able to withstand 19V easily but the 2.2K resistor gets warm and LED is very bright then dies, not sure if I also damaged the opto-isolator aswell. Am I being stupid ? Should this circuit be able to handle 19V on its input ? I would think so. I must have made an error somewhere.....
Yes, we are back to using only the HV spike, by using the HV zener, to do a few things. One is to greatly limit the on-time of the opto LED (or any indicator LED) to only that short discharge, which limits the average power through the LED and therefore limits the possibility of burn-out. No big deal, as that can be compensated with resistor values. However, the HV Zener moves the timing of the trigger signal to the actual coil firing point. 8-)

With lower-volt Zeners (including the MS 5.1V), the trigger signal is always high ("12V"), until the dwell pulls the voltage low. This makes the trigger point the falling edge at the beginning of dwell, not coil firing. Rising edge would be even more sloppy as a coil voltage slope. Add to that the change in coil dwell duration (on-top of timing change) that will randomly move the trigger point even further. While your engine may or may not be substantially bothered by the large change in trigger point (and therefore injection point), some certainly will. The HV Zener (if properly selected) solves all of these issues.

Just to get picky, a Zener higher than system voltage (generally up to 18V), yet lower than spark burn (generally 40-60 volts, but widely varied) would also work to get a longer signal that rises at discharge and ends at spark burnout, but would still have multiple triggers at the end of spark burn with the ringing voltage. This can be avoided with a de-bouncing circuit or software de-bouncer, and is why some systems can use these mid-range-voltage Zeners successfully without confusing the processor. I hope that helps with some of the various considerations with these seemingly simple signal conditioners.
By romP44
#44613
Thank you PSIG for clarification!

I like the idea to add a LED. However, at 800 RPM with 4 cylinders, blinking speed will be about 27Hz, maybe too fast to see it.
@Zylinx: In which conditions did you test it?
By romP44
#44614
Quick test with my Arduino and a LED:
Any frequency higher than about 40Hz is not visible anymore (pulse duration 1ms). That's 1200 RPM with 4 cylinders (2 sparks per revolution).
So the LED would be useful only at idle.
By zylinx
#44615
Thank you @PSIG and @Sunglasses, very insightful that provides a lot of clarity :idea: :D
Sunglasses wrote: If the RPM LED lights up, the IR LED in the optocoupler will do as well since its forward voltage is lower compared to LEDs emitting visible light.
Yeah the LED does not provide lots of info but I just wanted to make sure I was picking up some strobing at idle.
I changed my circuit so my indicator LED has its own current limiting resistor (having a white/blue LED in parralel with the opto-coupler IR LED did not work at all because of the big difference in fV)

Which is probably why I struggled with NickZ's design as he also put an LED in parallel with the opto-couploer.
romP44 wrote:Quick test with my Arduino and a LED:
Any frequency higher than about 40Hz is not visible anymore (pulse duration 1ms). That's 1200 RPM with 4 cylinders (2 sparks per revolution).
So the LED would be useful only at idle.
Great! Thanks for doing the test, it correlates with what I saw in practice. very fast strobing at idle, solid when I rev.

Although I noticed the LED was not consistently strobing at idle, I had some bright patches which may be false triggers so I might need to go get some more HV Zeners to test out.
But first I will load up an arduino with something to count the pulses.

I was wondering, what is the calculation behind selecting the current limiting resistor value for the opto-coupler after the HV Zener ?
for now I just copied the 1k1 from yours @romP44 :)

Update for any colour RPM LED:
Image
By romP44
#44617
If you have max coil primary voltage at 400V :
- 1N4004 forward voltage: 1.1V
- Zener voltage: 100V
- Opto forward voltage: 1.3V
=> 400-1.1-100-1.3 = 297.6V

I = U/R = 297.6/1100 = 0.271A => 271mA

Max current for 4n35 is 1A for t <10 μs. So it should be fine.
But I have no idea about peak voltage duration...
Continuous max forward current of 4n35 is 50mA.
User avatar
By PSIG
#44618
romP44 wrote:
Fri Aug 07, 2020 8:00 am
Quick test with my Arduino and a LED:
Any frequency higher than about 40Hz is not visible anymore (pulse duration 1ms). That's 1200 RPM with 4 cylinders (2 sparks per revolution).
So the LED would be useful only at idle.
I have diagnostic LEDs on my board designs, and they are surprisingly useful at higher speeds or tooth-counts. While you can't see individual flashes except at cranking and perhaps idle (even a 60-2 wheel is a blur at cranking), the eye can notice skipped or long pulses and other anomalies. Note the diag LEDs on boards such as the MiniMAX-A2 and DSC are on the output side, so indications are not of input signal activity, but conditioner output results (what Speeduino should see).

Input LEDs are not as-useful, as we already know that if we have sparks, that we have a signal to input. Active output LEDs not only indicate that it has power, obviously input signal if it's flashing, but also successful processing and signal output. This makes the LEDs not just pretty lights, but true diagnostic tools that have shown to be very helpful in setup and troubleshooting.

David
  • 1
  • 4
  • 5
  • 6
  • 7
  • 8
Reset_Control

Very good to all, I am running a speeduino v0.4.3c[…]

STM32 as well i believe. Is there a reason you wa[…]

In my case the clamp is behind the fuse so the[…]

Good afternoon, test the vvt map leaving off "[…]

Still can't find what you're looking for?