Generate a zero crossing VR signal for triggering a Bosch CDI unit

Hello everybody,

Im trying to drive a CDI unit used in an old Porsche 911 as ignition device
via an arduino.

the CDI needs as trigger an external zero crossing inductive signal (see image below)

The inductive signal is generated by a coil witin the distributor which comes with a rotor/stator.

The actual signal measured from the trigger signal line between the distributor and the CDI looks like this:

I've read many postings in the internet an it seems that the CDIs internal circuit needs the signals change from positive to negative as trigger.

Here you can see the wiring from the distributor to the CDI:

Here you find complete CDI diagram. The terminal here for the incoming inductive signal is "7".
I see this signal does not drive the Thyristor/SCR directly but via a transistor BCY58X?

My target is now that I want to achieve with an arduino ...

1. read the inductive signal from the distributor
Here Im aware of the needed protective circuit for spikes and negative voltages: http://andrewcologne.bplaced.net/911/CDI/arduino-protection.png
This signal will then be interpreted and via an internal routine "delayed" so I can affect the ignition timing.

2. send an "inductive like" signal (like seen in the image above) from the arduino to the CDI.
Here Im aware that a zero crossing VR signal is needed generated by the arduino

How can I generate with an arduino such a needed "inductive like" zero crossing signal?

Thanks a very lot for your help!

No one an idea?

I just want to simulate an zero crossing indiuctive signal with an Arduino.

Most Arduinos don't have a DAC so this could get complex. You may need a DAC, a transistor or an opamp to amplify the signal, power supplies, etc. etc. to generate the signal shown on the oscilloscope. However, you may not necessarily need all of this if you just want to trigger the CDI. Which is it?

Hi vaj,

thanks a lot for your feedback.

Its a BOSCH one –
I marked the part in the diagram where I posted the link above in green:

Full resolution here : http://andrewcologne.bplaced.net/911/CDI/CDI-diagram_marked.jpg

Above you see the part which is called "Trigger Pulse Shaping" where the pin 7 is the terminal where the inductive signal comes in. After that trigger pulse shaping part the Schmitt trigger circuit done via transistors (the BCY58x ones T2 and T3 ) starts.

What I see that a a diode D2 is directed to the pin 7 with its cathode ... AND a voltage of 6.8v is coming from above through the diodes D3 and D4. So to me it seems that the transistor's (T2) base is permanently driven by 6.8v and so switched "on", correct?

Maybe then, when a negative voltage comes in from Pin 7 this passes the diode D2 and makes the transistor (T2) switching "off"? So a frequent negative voltage pulse provided to Pin 7 should do the same as if I would provide an inductive zero crossing signal via the distributor?

Looking forward to your comments

I had looked at the diagram and knew all of this already.

This part is true:
"Maybe then, when a negative voltage comes in from Pin 7 this passes the diode D2 and makes the transistor (T2) switching "off"? So a frequent negative voltage pulse provided to Pin 7 should do the same as if I would provide an inductive zero crossing signal via the distributor?"

But you have not answered my question. Simulating the inductor signal shown on the oscilloscope is hard. Triggering the CDI is easier, but I would not be of practical help either way.

Do you want to simulate the inductor signal, or trigger the CDI ?

Short answer: I want to trigger the CDI.

And I thought I would need to provide that specific zero crossing inductive signal.

So, as youre confirming my thoughts above, what would be the next approach?

Maybe finding a circuit which provides a negative voltage – and used after a via a pwm signal send by the Arduinos digi or analog out pin?

A ICL 7760 way thinking about thinking » Getting a negative voltage from Arduino

or would a diode/capacitor way be enough: https://www.allaboutcircuits.com/projects/build-your-own-negative-voltage-generator/

I think I found it out by myself. I just did not get through the Schmitt Trigger logic done via transistors.

http://www.dieelektronikerseite.de/Lections/Schmitt-Trigger%20-%20Berechenbar%20bis%20auf%20mV.htm

So for my understanding, when the Schmitt trigger is fed by an inductive signal via pin 7, and when the incoming voltage curve/plot is at zero or negative, the T1 is switches off which makes T2 switching on and the thyristor gets its trigger signal ... means as long as the voltage via pin 7 is zero or negative.
If the voltage at pin 7 switches to positive in this short moment, T1 switches on and so this makes T2 switching off, where the trigger signal to the Thyristor gets interrupted.

I think this interrupt could be achieved by a PWM via Arduino which controls a simple low side switch where the inductive signals zero or negative state can be achieved by simple switching to ground which makes T1 switching off and no connection via the low side switch makes T1 switching on, means the thyristor gets interrupted.

Below the PWM shown in red which would correspond with the inductive signal.

Yes, except that due to D2, the input needs to get (one diode drop ?) below ground.