Electronic – Easiest way to extend a pulse

signal

I have been messing around with my cars ignition. I know a lot about cars, but
I haven't learned much about electronics. When I did study electoincs it was almost 20 years ago.

Anyways. The car's computer sends a 5 V square wave signal for the cars igniter to charge and fire a coil. There are 6 clylinders, and each one has it's own signal and coil.

I was finally able, and one of the first to do so, to use non-factory coils and not use the car's original igniter. My new coils have their own igniters. And they don't really care if it is a square wave or not. I just need to send at least a 4 V signal to the coil and it will charge up and fire when the signal is gone. Even a 12 V or higer is OK too. 5 V is standard for these coils and my cars computer already sends 5 V signals.

So what I want to do is take the signals from the computer which are about 3.2 ms with the car idling, and drops to about 2.3 ms when the RPM increases above about 1,500 RPM.
All I want to do is take this signal and extend it about 1.7 ms. So at idle I would have a 4.9 ms pulse and as the RPM increases I would have a 4 ms pulse, or even just a flat 4-5 ms pulse all the time is OK.

To use these coils I needed to simulate a signal that the factory igniter box sends to the cars computer. I did this by using a tranistor array, that has 7 transistors. I only really needed 6. All 6 signals come from the cars computer to this transistor array (in parallel) and I have the signal wire that comes from the igniter box to the car's computer hooked up to the array also. the signal wire is a continous 5V signal from the cars computer going to the igniter box. When the igniter box thinks a coil fired it grounds the 5V wire from the compputer. So it dips this 5V signal to about .8V for about 1.5ms.

OK, so..in summary what I want to do is:

Take a 5V square wave signal that varies from about 3.3 ms to 2.2 ms, and extend the falling edge of it about 1.7 ms or, make each of these pulses a flat 4-5 ms pulse. The new pulses don't need to be perfectly square, as the new coils don't really care about that.
the coils have 4 wires to them. A 12 V source, a trigger wire, and 2 ground wires.
I know I can probbably do this with six 555 timers, but I really don't want six of those. A single or maybe 2 ICs would be OK, or maybe a capacitor connected to the 5V signal wire.
I can also make the 5 V signal a 12 V signal, and use a capacitor, then the capacitor will charge up at the same time my coil is charging, once the signal from the computer stops the capacitor will discharge and keep the coils igniter triggered a little bit longer.

If I can add all of this together to create my fake signal to the computer and also extend the 5 V signal pulses it would be the perfect thing.

Does this sound OK? Or what is the simplest method?

If I could extend it by anticipating the rising edge it would be ideal. I don't see any easy solution to that. So once the ECU sends the signal, I want to make it longer. To make it easier the signal doesn't need to be square anymore. The triggers on the new coils are pretty sensitive. A 555 timer did great at test firing them.

I thought about the monostable circuit using some 555s. I think I have about 20 of them to play with. I guess I can set up 6 of them and see if I like it. I think I have only seen up to a dual monostable capable IC. I had thought of the Schmitt trigger also, and something with a capacitor and resistor.

I thought about adding a capacitor and it will give the square signal
a longer duration, but not so square looking of a wave, then a Schmitt trigger can fix it to be square again.

I might have confused some people about what I already accomplished. I can use the factory ECU and non-factory coils without using the factory Igniter box. The factory igniter box steals about 0.7 ms of dwell. And, what happens is the factory igniter box cuts off the ground to the ignition coils. My car actually ran that way, but I don't want the factory igniter box to cut off the ground to the coils and the coils built in igniter doing the same thing.

The factory igniter box works like this. Lets consider only cylinder 1 for the example.
The ECU sends a signal to the igniter, 3.3 ms at idle, 2.2 ms at higher RPM. The factory igniter sort of pauses and connects the ignition coils ground about .7ms later. As soon as the ECU stops sending the signal, the igniter immediately cuts off the ground to the coil causing it to fire.

The igniter senses current flowing from the ignition coil and passing throuh the igniter to ground. When current flows through the coil and out the igniter to ground, the igniter dips the Voltage of a totally different wire connected between the ECU and the igniter box. So, there are 7 wires directly connected from the ECU to the factory igniter box. 6 of them are the 5V square waves for firing the coils. The 7th wire is always a constant 5 V. It's called the Ignition Confirmation Signal, Toyota abberviates it IGF. When the igniter senses current passing through it, it grounds out the 7th wire. It only grounds it out for about 1.5 ms, this is no matter how long the dwell is.

If the ECU misses a few of these signals it shuts down the cars fuel system.
It does it really fast too. So I am doing pretty good so far, the car ran really good today. I won't say how fast I took it today, but the Audi messing with me quickly disappeared in my rear view mirror. I can do all of this if I was one of the guys replacing the factory computer with an aftermarket computer, but good ones go for much more than a $1,000. My car is a 1994 Totota Supra, twin turbo, 6 speed. Right now it's only about 415 HP to the rear wheels, but its enough for me. I'm not seeking more. I just replaced my old bad coils, and new factory ones are about $100 each, no thanks.
My new coils need a little bit more dwell. Most people on many kinds of cars say 5 ms is the ideal dwell, after 5 ms it doesn't charge up much more. So I'm shooting for that.

Update

I have ordered some components to try two methods. I will try one with a monostable circuit, and I will try the hex Schmitt trigger with a diode, capacitor and resistor.
Making it work both ways can help me learn something and accomplish want I wanted.

Best Answer

You can use something like this for each channel.

D1 = BAT54

R1 and C1 so that you have the extra 1.7 ms (in the order of 1 uF and 2 kohm)

U1a = U1b = 1/6 of 40106

Schematic

The output will be high as soon as the input is high, it will remain high while the input is high and, when the input goes low, the output will remain high for some extra time that is proportional to R*C. That extra time should be your 1.7 ms.

enter image description here