Making the Cologne 2.9 Distributor-less using 4L OHV parts - TFI to EDIS Conversion

Scorpio / Scorpio Cosworth Discussions - Questions, problem resolution, general talk, technical tips and modifications.
Merkur Club web site
User avatar
DPDISXR4Ti
Site Admin
Posts: 14840
Joined: Wed Jan 08, 2003 11:40 pm
Location: New York

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by DPDISXR4Ti »

Chuck W wrote: Fri Sep 15, 2023 11:57 am I'm trying to remember where I got the trigger wheel I mounted on the pulley for when I was messing with this in my old Scorpio. I'll try and dig up my notes. It was a OE part of some sort
Thanks for checking in Chuck. So was no machining required with this trigger wheel? Did you get the sensor mount sorted out, or didn't you get that far? I'm assuming the center of the missing tooth gets clocked on the timing mark, yes?
Brad
Chuck W
Level 7
Level 7
Posts: 1906
Joined: Sat Sep 20, 2003 6:19 pm
Location: Indy, IN
Contact:

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by Chuck W »

There was machining required, as mentioned in the linked old post you sent me from TF. I machined the pulley down and left like 1/8" of material around the rubber damper. I machined just as deep as the trigger wheel was thick. Then I machined the wheel to just under that diameter for a press-fit. I put the pulley in the freezer and heated up the trigger wheel and pressed them together. I don't recall if I did the 4 small spot welds that were discussed.

Here are a couple pics of the sensor bracket that I evidently cobbled together.

Image

Image

Image

Nick B (mysticfireXR) on here was the one who bought the car when I sold it. You might see if he still has any of this stuff. (I know he's on FB too)
"Strange women, lying in ponds distributing swords is no basis for a system of government. Supreme executive power is derived from a mandate from the masses, not from some farsical aquatic ceremony."
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

Still a a bit confusing as to how to interface Mega Jolt to a distributor based EECIV on the Scorpio.

Seems like it should be possible...
https://forum.autosportlabs.com/viewtopic.php?t=592

Need to do more research...

The EECIV needs the PIP signal that normally came from the distributor. It would have been nice if the Mega Jolt had a PIP/SPOUT interface that could easily allow this conversion. Preferably this would give you the option to select either the EECIV to control advance curve or you could use the Mega-Jolts programable advance curve. Maybe it does but I am just not aware of how to do this..

Assuming it is possible to interface, I guess the only concern is that the Mega Jolt would want to run the advance curve itself, but the EECIV has it's own idea of how the advance curve should be. Probably not a big deal, but I can imagine the EECIV might advance/retard under special circumstances for emission reasons.
Specialization is for Insects
User avatar
DPDISXR4Ti
Site Admin
Posts: 14840
Joined: Wed Jan 08, 2003 11:40 pm
Location: New York

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by DPDISXR4Ti »

brokencase wrote: Sat Sep 16, 2023 9:50 am Still a a bit confusing as to how to interface Mega Jolt to a distributor based EECIV on the Scorpio.
It might very well be easier to just use the EEC-IV PCM from the '90 - '94 4L OHV Ranger which uses EDIS natively. I imagine the timing curve is very similar as the burn characteristics should be very similar between the 2.9 and 4L engines. The Ranger PCM is MAF, so directly measuring the air mass intake should take care of fueling. The hardest part might be figuring out the 2 > 1 > MAF intake plumbing, but I may already have a solution for that using an intake hose from a '96 F-150 4.9.
Brad
User avatar
DPDISXR4Ti
Site Admin
Posts: 14840
Joined: Wed Jan 08, 2003 11:40 pm
Location: New York

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by DPDISXR4Ti »

Chuck W wrote: Fri Sep 15, 2023 5:23 pm Here are a couple pics of the sensor bracket that I evidently cobbled together.
Thanks for the pics Chuck! I'll touch base with Nick.
Brad
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

DPDISXR4Ti wrote: Sat Sep 16, 2023 10:33 am
brokencase wrote: Sat Sep 16, 2023 9:50 am Still a a bit confusing as to how to interface Mega Jolt to a distributor based EECIV on the Scorpio.
It might very well be easier to just use the EEC-IV PCM from the '90 - '94 4L OHV Ranger which uses EDIS natively. I imagine the timing curve is very similar as the burn characteristics should be very similar between the 2.9 and 4L engines. The Ranger PCM is MAF, so directly measuring the air mass intake should take care of fueling. The hardest part might be figuring out the 2 > 1 > MAF intake plumbing, but I may already have a solution for that using an intake hose from a '96 F-150 4.9.
The problem with that is adapting all the plumbing for the MAF and throttle body stuff, harnessing, etc.., potentially creating more problems than I'd be trying to solve.

Unless you are specifically looking for MAF and associated performance improvements associated with it.
Specialization is for Insects
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

Specialization is for Insects
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

OK after a little more study...

On the stock Scorpio the EECIV gets a PIP signal from the Hall sensor in the distributor. There is no advance mechanism in the distributor like old school distributors. The EECIV then processes this pulse and either retards or advances it's output pulse to the TFI (SPOUT) to fire the single coil.

On an EDIS system PIP comes out of the EDIS module to the EECIV and the EECIV sends back SAW (Spark angle word).

Seems to me one could make a circuit to convert PIP/SPOUT to PIP/SAW. Thus allowing a distributor based EECIV to drive an EDIS module directly.

The attached PDF describes EDIS signals in great detail. I just need to see what PIP/SPOUT signals look like on the distributored 2.9L

The issue may be that the PIP signal with the distributor is based on distributor six pulses per rev of the rotor but with EDIS, PIP is generated on one crank revolution only. This means on a distributor car there are three PIPs per crank rev, but on EDIS there is only one PIP per rev. This has to be fudged so the old EECIV knows what the actual engine RPM is.

So a converter would be a micro that takes the EDIS PIP and simulates the missing two pulses between sequential crank pulses. It then takes SPOUT and does what is needed to make it look like SAW. I suspect SAW timing is also crank degree based as opposed to distributor timing based.

I am surprised nobody offers a converter like this already.
Attachments
Ford EDIS Ignition.pdf
(673.32 KiB) Downloaded 474 times
Specialization is for Insects
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

I see Brad has been dream-storming on this EDIS conversion for some time now...
https://www.therangerstation.com/forums ... 926/page-3
Specialization is for Insects
User avatar
DPDISXR4Ti
Site Admin
Posts: 14840
Joined: Wed Jan 08, 2003 11:40 pm
Location: New York

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by DPDISXR4Ti »

brokencase wrote: Sat Sep 16, 2023 6:18 pm The problem with that is adapting all the plumbing for the MAF and throttle body stuff, harnessing, etc.., potentially creating more problems than I'd be trying to solve.

Unless you are specifically looking for MAF and associated performance improvements associated with it.
No real compelling reason to go MAF except it does solve the potential issue you'd have running a 4L PCM on a 2.9 engine. And since I already have a couple 4L PCM's from Explorers and Rangers, that part is essentially free.

Re-doing the intake plumbing is more annoying than it would be in most cases because of the dual TB used on the Scorpio vs. the more conventional single TB of the Ranger. If I can pull it off the way I'm thinking it won't be too bad.

The wiring harness is a big hassle, no doubt. Fortunately I do already have a 4L harness pulled from a Ranger. I've had some concerns about the aging of the Scorpio harness, so it could be a "win" to replace it.

It's a pretty big project however you slice it. At least with what we've proposed you get to keep the v-belts and everything is reversible.
Brad
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

Well...all I think has to be done is to convert the SPOUT signal to the SAW signal.

The Bowling document I posted describes the SAW signal precisely, and it seems to indicate the PIP might not need to be fudged.
In other words the EDIS module may output a PIP pulse 3 times per crank rev, just like the distributor.

So the converter microprocessor that I propose measures and passes the PIP signal to the Scorpio EECIV and it then measures the SPOUT signal that the EECIV sends out,

The difference between PIP and SPOUT is the advance that the EECIV is commanding. But this is with respect to angular rotation of the rotor in the distributor. So we do some math and convert this to crank degrees of advance. Then use the formula described in the Bowling document and send a proper SAW square wave to the EDIS module.

There are some minor issues. You can't convert SPOUT to SAW unless you know the instantaneous RPM. So it may take a few samples of PIP before the converter can determine this so it just outputs the default 10 degree advance SAW pulse during this time. This would happen while starting the car.

That should be it. No mega jolt needed. Really surprised nobody has done this already. I guess most folks at this point just do the whole megasquirt conversion.

I would have to acquire an EDIS6 module, a reluctor sensor, and a toothed wheel and set this all up on the bench to make sure the code works.
Specialization is for Insects
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

Brad, your initial image in this thread shows the "insider the distributor hole" position sensor. I don't think you need that in an EDIS system, there is just the crank wheel sensor.
Specialization is for Insects
User avatar
DPDISXR4Ti
Site Admin
Posts: 14840
Joined: Wed Jan 08, 2003 11:40 pm
Location: New York

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by DPDISXR4Ti »

brokencase wrote: Sun Sep 17, 2023 9:50 am Brad, your initial image in this thread shows the "insider the distributor hole" position sensor. I don't think you need that in an EDIS system, there is just the crank wheel sensor.
Correct, the one shown is just a "dummy plug" to drive the oil pump. The later vehicles with SEFI (mostly EEC5) got a cam sensor there. Either one would work to just drive the oil pump, as would the original distributor. The ones from the 4L require some sort of machining which I haven't quite figured out yet.
Brad
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

So how does our "converter" determine the degrees of advance from looking at the Scorpio's SPOUT and the EDIS PIP signals?

I believe it would work as shown in the diagram below. Basically our converter would measure the time interval between the leading edge of four PIP pulses (a V6 fires 3 times per revolution). This interval represents 360 degrees of crank revolution. It then takes the delta between the leading edge of SPOUT and PIP and this is the advance time. So then advance time interval / interval between four PIPs * 360 give us advance in degrees.

We then take degrees advance and plug it into the Bowling formula SAW (microseconds) = 1536 - (25.6 * Commanded_degrees).

This is the pulse duration our "converter's" SAW signal sends to the EDIS module.

In actual implementation the microcontroller only has to measure the interval between the leading edge of two pips and multiply by 3.

Naturally this can easily be adapted to work for 4 and 8 cylinder engines.
Attachments
Scorpio_PIP_SPOUT.jpg
Scorpio_PIP_SPOUT.jpg (77.92 KiB) Viewed 16444 times
Specialization is for Insects
User avatar
brokencase
Level 7
Level 7
Posts: 1610
Joined: Sun Dec 06, 2015 12:18 pm
Location: PA

Re: Making the Cologne 2.9 Distributor-less using 4L OHV parts

Post by brokencase »

Code would look something like below. This is untested but it compiles with the Arduino IDE.
Probably could use some boundary checks on the SAW output.

I would use an ESP32 S2 board like this:

https://www.amazon.com/HiLetgo-ESP32-S2 ... B0B291LZ99

It's fast and you have the option to connect with Wifi to maybe get fancy later on (like connect your tablet to alter advance curves).

//Decide which pins you want to use
//Note that SPOUT is split to two different pins.
#define SAW_OUTPUT_PIN 10
#define PIP_INPUT_PIN 2
#define SPOUT_INPUT_PINR 3
#define SPOUT_INPUT_PINF 4

volatile unsigned long Previous_PIP_Rise_time=0;
volatile unsigned long PIP_Rise_time=0;
volatile unsigned long SPOUT_Rise_time=0;
volatile bool SAW_On=false;
volatile unsigned long Advance_interval=0;
volatile unsigned long Interval_360=0;
volatile unsigned long Advance_Degrees=0;
volatile unsigned long SAW_Pulse_Time=0;
volatile unsigned long SAW_Off_Time_Later=0;

void setup()
{
pinMode(SAW_OUTPUT_PIN,OUTPUT); //Simulated SAW output
attachInterrupt(digitalPinToInterrupt(PIP_INPUT_PIN),PIP_Rising,RISING);

//we connect SPOUT to two seperate pins
attachInterrupt(digitalPinToInterrupt(SPOUT_INPUT_PINF),SPOUT_Falling,FALLING);
attachInterrupt(digitalPinToInterrupt(SPOUT_INPUT_PINR),SPOUT_Rising,RISING);
}


void loop()
{
if (SAW_On)
{
if (micros() >= SAW_Off_Time_Later)
{
digitalWrite(SAW_OUTPUT_PIN ,LOW);
SAW_On=false;
}
}
}


void PIP_Rising() //ISR function executes on rising edge of PIP
{
Previous_PIP_Rise_time=PIP_Rise_time;
PIP_Rise_time=micros();
}

void SPOUT_Rising() //ISR function executes on rising edge of SPOUT
{
SPOUT_Rise_time=micros();
}

void SPOUT_Falling() //ISR function executes on falling edge of SPOUT
{
digitalWrite(SAW_OUTPUT_PIN ,HIGH); //Start the SAW Pulse on falling edge of SPOUT, loop() turns it off

//calculate how long SAW pulse is
Advance_interval=SPOUT_Rise_time-PIP_Rise_time;
Interval_360=(PIP_Rise_time-Previous_PIP_Rise_time) * 3;

if (Interval_360==0) //no divide by zero allowed!
Advance_Degrees=0;
else
Advance_Degrees=(Advance_interval / Interval_360) * 360;

SAW_Pulse_Time=1536 - (25.6 * Advance_Degrees);
//Should probably do a range sanity check on SAW pulse time here.

SAW_Off_Time_Later=micros() + SAW_Pulse_Time;
SAW_On=true;
}
Specialization is for Insects
Post Reply