Jump to content


Welcome to Ultimate Subaru Message Board, my lurker friend!

Welcome to Ultimate Subaru Message Board, an unparalleled Subaru community full of the greatest Subaru gurus and modders on the planet! We offer technical information and discussion about all things Subaru, the best and most popular all wheel drive vehicles ever created.

We offer all this information for free to everyone, even lurkers like you! All we ask in return is that you sign up and give back some of what you get out - without our awesome registered users none of this would be possible! Plus, you get way more great stuff as a member! Lurk to lose, participate to WIN*!
  • Say hello and join the conversation
  • Subscribe to topics and forums to get automatic updates
  • Get your own profile and make new friends
  • Classifieds with all sorts of Subaru goodies
  • Photo hosting in our gallery
  • Meet other cool people with cool cars
Seriously, what are you waiting for? Make your life more fulfilling and join today! You and your Subaru won't regret it, we guarantee** it.

* The joy of participation and being generally awesome constitutes winning
** Not an actual guarantee, but seriously, you probably won't regret it!

Serving the Subaru Community since May 18th, 1998!

Guest Message by DevFuse
 

Photo
- - - - -

How do i retard spark timing on an ej without reflashing the computer or going to megasquirt?


  • Please log in to reply
24 replies to this topic

#1 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 09 September 2013 - 01:08 PM

can it be done?

 

i cant find any info on what signal (cam or crank) the computer uses to determine when to spark.   We just need some way to redneck retard the crapinator - 'driveability' isnt an issue.  Its just to avoid WOT, MAF-torching, air-filter-exploding nitrous backfires. we have the technology to modify a trigger wheel or slot the cam pulley back a few degrees, but i'm just not sure how to make it work.

 

any ideas? 

 

oh and it has to be done by friday...

 

 

*edit*  its running an OBD 1 NA legacy computer 


Edited by matts87glsedan, 09 September 2013 - 01:11 PM.


#2 Hondasucks

Hondasucks

    Subaru Technician

  • Members
  • 4,760 posts
  • Vancouver, WA

Posted 09 September 2013 - 01:52 PM

IIRC the ignition timing is triggered from the crank position sensor, with the cam sensors telling the computer which TDC is TDC of #1. You could:

 

  • Delay the signal from the crank sensor to the computer (Might not be able to delay it more than a few degrees without setting a code or throwing it into limp mode, not sure what the threshhold is for the difference between TDC on the cam and TDC on the crank, but if you delayed both by the same amount it wouldn't be an issue
  • Physically move the crank/cam sensors. This would most likely only give you a degree maybe two of adjustment.

Best way to do it would be to delay the signal, although you would have to have a way to vary the delay based on engine RPM, since a 10mS delay at 700RPM is not going to equal the same number of degrees of rotation as 10mS would be at 5000 RPM

 

The knock sensors will retard the timing based on detonation, sending the computer false knock sensor spikes will delay the timing, although I'm not 100% sure how much it will delay it, the way I understand it from the descriptions in the service manuals was when the computer detects knock, it retards the timing until it no longer detects the knock.

 

The sensor triggers are off the rear of the cam and crank sprockets, and there is a bit of an indentation in the back of the crank sprocket, might be possible to bore the center of it out so that the keyway doesn't interfere, and then slice the back off, drill and slot it for adjustment, that way the ignition timing can be adjusted wihtout affecting the cam timing. You'd need to do the same to the cam sensor ring though, and the cam sensor ring at least on the phenolic pulleys (depending upon the engine, the older ones had metal pulleys) might prove difficult to slot and adjust.



#3 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 02:22 PM

This guy's scope plots:

 

http://www.4bc.org/v...s_analysis.html

 

show that a slipped timing belt causes the ignition (and injector) timing to be off.  This would mean that the cam sensor is used for ignition timing.



#4 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 09 September 2013 - 03:40 PM

presslab

 

hmm, so messing with the cam sensor also affects the injector timing?  i think i see that in there.  thank you for posting that link, i will ponder it and hopefully it will start making some sense to me...

 

it looks to me like the crank sensor determines rpm, which dictates how much spark advance is applied ( in conjunction with the load calculated by the MAF) , and the actual triggering of the spark is done by the cam? 

 

maybe hondasucks has the right idea with delaying the signal.  what if i go further down the line, to the signal the ecu outputs to the ignitor(s)? delay that somehow? i could live with it if the delay started small and got progressively longer as the rpm's went up - within reason of course.  maybe max 10 degrees of delay ... just a random number...  


Edited by matts87glsedan, 09 September 2013 - 03:45 PM.


#5 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 04:23 PM

Yes all the evidence I've seen indicates that the actual timing of the spark firing is determined by the cam sensor.

 

There are nitrous/boost retard boxes that will delay the signal, they're kind of expensive though.  There are boxes that can go on the sensor or on the output as you're thinking.

 

I know you don't want to reflash the computer, but I think in the long term full adjustment of fuel and timing is needed on any modified motor.  I have hacked a EJ22E and a EJ20G ECU and can edit the tables in RomRaider.  The hardware needed costs about $150, a daughterboard for the ECU and an EEPROM programmer.  It'll take longer than Friday to get that running, though, but it's a good alternative if you have some brains but not a lot of money.

 

http://www.ultimates...nd-ecu-hacking/



#6 Fairtax4me

Fairtax4me

    Sooberoo

  • Gold Subscribers
  • 10,238 posts
  • Charlottesburg, VA

Posted 09 September 2013 - 05:13 PM

How bout this... What is the reason for wanting to retard the timing?

If driveability isn't an issue you can just unplug the knock sensor and it should go into "limp mode".

#7 johnceggleston

johnceggleston

    Lite Master of the Subaru

  • Gold Subscribers
  • 6,502 posts
  • Virginia

Posted 09 September 2013 - 05:22 PM

the crank triggers the spark,

the cam triggers the fuel.



#8 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 05:45 PM

the crank triggers the spark,

the cam triggers the fuel.

 

I've seen this posted over and over again.  Yet nobody can show the source of this information or provide any evidence.  It's like some kind of legend from many years ago passed down from the Elders.  But maybe today is my lucky day?



#9 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 05:50 PM

How bout this... What is the reason for wanting to retard the timing?

If driveability isn't an issue you can just unplug the knock sensor and it should go into "limp mode".

 

Nitrous oxide.

 

The ECU will only retard so much, around 9 degrees at maximum load.



#10 johnceggleston

johnceggleston

    Lite Master of the Subaru

  • Gold Subscribers
  • 6,502 posts
  • Virginia

Posted 09 September 2013 - 06:34 PM

well, if you unplug the crank sensor you do not get spark.

if you unplug the cm sensor you do not get fuel.

 

unplug the cam sensor, spray in some starting ether, and it should run for a few seconds.



#11 Fairtax4me

Fairtax4me

    Sooberoo

  • Gold Subscribers
  • 10,238 posts
  • Charlottesburg, VA

Posted 09 September 2013 - 07:23 PM

Nitrous oxide.

The ECU will only retard so much, around 9 degrees at maximum load.


Nitrous! I see now!

Exactly how far does it need to retard? 9 degrees is quite a lot when the most advance at WOT is only what, 18-20 degrees?

#12 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 07:56 PM

The stock EJ22E runs a lot of timing, 36 degrees @ 3600 RPM full load.  The most timing advance I could get out of my frankenmotor was 24 degrees on 91 octane @ 3200 RPM full load.  What that means is when I had a stock tune, the ECU would only pull 9 degrees and I would still have uncontrolled detonation because I would be 3 degrees too far advanced.  And the way the ECU pulls timing, it only does it in the high load cells.  That means at lower loads there would be way too much timing and a ton of pinging.  Of course with nitrous it would only be used at full load.

 

I'm not sure how much retard is needed for nitrous, but I suspect 9 degrees isn't enough.  Also I suspect Matt is running an EJ25 block on an OBD-I EJ22E ECU, so there's probably too much timing even without nitrous.



#13 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 09 September 2013 - 08:49 PM

man, so much goin on here, thanks for all the replies...

 

I know you don't want to reflash the computer, but I think in the long term full adjustment of fuel and timing is needed on any modified motor.  I have hacked a EJ22E and a EJ20G ECU and can edit the tables in RomRaider.  The hardware needed costs about $150, a daughterboard for the ECU and an EEPROM programmer.  It'll take longer than Friday to get that running, though, but it's a good alternative if you have some brains but not a lot of money.

 

 

damn, i didnt realise this had been done - if i had known 2 months ago that you had figured this out i might have attempted it.  probably still will try it this fall when the pressure is off.. 

 

 
If driveability isn't an issue you can just unplug the knock sensor and it should go into "limp mode". 

 

do you know off hand what 'limp' timing is?  and does it even apply since this is an early 90's computer?  

 

 well, if you unplug the crank sensor you do not get spark.if you unplug the cm sensor you do not get fuel.unplug the cam sensor, spray in some starting ether, and it should run for a few seconds.

 


 

i will test this at ivans this week.  john, you should read that 'scope link, it may change your mind. 

 

 
I'm not sure how much retard is needed for nitrous, but I suspect 9 degrees isn't enough.  Also I suspect Matt is running an EJ25 block on an OBD-I EJ22E ECU, so there's probably too much timing even without nitrous.

 

Correct about the block and heads combo. but the new rods are shorter, so we have a reduced compression ratio of an unknown amount. 

 

unfortunately, i have no idea how much retard we need either.  but i will say that the knock sensor does not do the full job when you run 10lbs of boost and anywhere from 30 to 50 hp/cylinder of nitrous at WOT.  Even last weekend when we ran no turbo (heavy heavy loads though), the best we could do was run a 70 shot (17.5hp/cyl) without having bad nitrous pops out the intake. 

 

but the sanity (or insanity) of the crapinator isnt a rabbit hole i want to go down right now... all i'm hoping for is a way to pull timing for the race this weekend... 

 

your 'scope link shows a base timing of 10 DBTDC , is there a way we could lock the car at that, and test it? it sounds waay retarded, but with enough boost and nos, it might work. 



#14 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 09 September 2013 - 09:25 PM

but the sanity (or insanity) of the crapinator isnt a rabbit hole i want to go down right now... all i'm hoping for is a way to pull timing for the race this weekend... 
 
your 'scope link shows a base timing of 10 DBTDC , is there a way we could lock the car at that, and test it? it sounds waay retarded, but with enough boost and nos, it might work.

10 degrees is the timing at idle. I can't think of a way to keep the timing at 10 degrees without ruining the fueling.

You have EJ22E heads? How about pull the cam plug and stick on a Ford Escort distributor?

#15 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 10 September 2013 - 09:40 AM

My bad, i misremebered what the current motor is - they are EJ251 heads on what i think is a 25D block.  

 

i used to always think of that (the distributor mod) as going 'backwards' but now it seems like a good idea, has it been done on these heads before? i'll have to go search now... 

 

*edit for clarity*


Edited by matts87glsedan, 10 September 2013 - 03:18 PM.


#16 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 10 September 2013 - 02:57 PM

i found a description of a signal delay circuit... but it makes a delay in nanoseconds...  they do however give the formula for calculating the time delay based on what resistor and capacitor are used.  I wonder if a variable resistor was used, could you turn the delay up and down?

 

link to the description:

http://electronicdes...g-delay-circuit

 

 

figure_01.gif

 

i have very minimal electronics understanding, but its a hobby i've been trying to teach myself... this looks pretty simple - but would it work on the ecu output to the ignitor?  



#17 NorthWet

NorthWet

    Eeyore Incarnate

  • Members
  • 5,039 posts
  • Bremerton, WA

Posted 10 September 2013 - 09:19 PM

It has been a few decades since I played with such stuff (analog), but I suspect that the signal would get distorted, possible enough that the ECU would no longer accept it.

 

Unless you want to go the route of a fully configurable ECU, your best bet might be to use an off-the-shelf microcontroller.  One possible methodology would be to run each sensor signal into an analog-to-digital converter (ADC) input, sample the resultant digital value and store it, and then after a program/user controlled time interval, feed the samples into a digital-to-analog Converter (DAC) to restore the analog waveform and feed that to the ECU.  If you do it on both crank and cam sensors, and the sampling rate is high enough to not distort the waveform too much, the ECU will not know the difference.

 

Once the sensor signal is sampled, the delay/retard value can be set in many different and combinable ways.

 

The basic hardware is cheap and readily available.



#18 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 10 September 2013 - 11:03 PM

i have very minimal electronics understanding, but its a hobby i've been trying to teach myself... this looks pretty simple - but would it work on the ecu output to the ignitor?

It would be fiddly and would affect the dwell, but it might work good enough. You'll want to make sure the op-amp you use has sufficient voltage range, like a LM324; tie the power rails to +12 and GND with a 0.1uF and 10uF cap for decoupling. It should have enough current drive for the ignitor, but be sure to put a limiting resistor on the output, say a 2.2k ohm. The resistor and capacitor you use forms a time constant, tau = R * C. A really rough calculation would be to set tau to half your delay required, and then pick a reasonable value for R like 10k ohms. A 10ms delay example: 10ms / 2 = 10k * C --> C = 0.005 / 10,000 --> C = 0.5 uF. Also Rg and Rf should be larger, like 2.2k.

You'll need two of these circuits, one for each coilpack. The LM324 has 4 opamps per package, tie the unused inputs to GND.

#19 NorthWet

NorthWet

    Eeyore Incarnate

  • Members
  • 5,039 posts
  • Bremerton, WA

Posted 10 September 2013 - 11:58 PM

Ah... I had assumed that the delay would be on the position signal side, not on the coil-drive side.

 

Edit: After some reflection, I think that the ECU would not like having its coil feedback disrupted.  I imagine that it will throw codes saying that all of the plugs are misfiring.


Edited by NorthWet, 11 September 2013 - 01:10 AM.


#20 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 11 September 2013 - 02:56 PM

It would be fiddly and would affect the dwell, but it might work good enough. You'll want to make sure the op-amp you use has sufficient voltage range, like a LM324; tie the power rails to +12 and GND with a 0.1uF and 10uF cap for decoupling. It should have enough current drive for the ignitor, but be sure to put a limiting resistor on the output, say a 2.2k ohm. The resistor and capacitor you use forms a time constant, tau = R * C. A really rough calculation would be to set tau to half your delay required, and then pick a reasonable value for R like 10k ohms. A 10ms delay example: 10ms / 2 = 10k * C --> C = 0.005 / 10,000 --> C = 0.5 uF. Also Rg and Rf should be larger, like 2.2k.

You'll need two of these circuits, one for each coilpack. The LM324 has 4 opamps per package, tie the unused inputs to GND.

 

Best answer ever... thank you for explaining this.  now i need some components...

 

so i need to determine how many degrees of delay i get per millisecond, at a chosen rpm... then build the circuit for that # .  

 

I also need to determine what kind of signal is being output by the ecu.  or should i go past the ignitor as well, and delay the signal right in front of the coils?  and consequently figure out that signal instead.

 

since i need two individual circuits, i guess i shouldnt try to make them variable, since id probably never get them set the same.

 

 

Ah... I had assumed that the delay would be on the position signal side, not on the coil-drive side.

 

Edit: After some reflection, I think that the ECU would not like having its coil feedback disrupted.  I imagine that it will throw codes saying that all of the plugs are misfiring.

 

hopefully the older ecu is dumb enough that it will keep everything else functioning even if its angry about the coil feedback. unless of course its used to control other things - that might be a problem. 



#21 WoodsWagon

WoodsWagon

    Formerly 91Loyale

  • Members
  • 3,997 posts
  • NH

Posted 11 September 2013 - 02:57 PM

Why not run the water/meth with the nitrous and then avoid pulling timing?



#22 presslab

presslab

    Subaru Nut

  • Members
  • 867 posts
  • N. California

Posted 11 September 2013 - 03:18 PM

I also need to determine what kind of signal is being output by the ecu.  or should i go past the ignitor as well, and delay the signal right in front of the coils?  and consequently figure out that signal instead.

 

The ignitor is the power transistor for the coils, no need to reinvent that. Here is a typical schematic of the coil circuit.

igntion-system-schematic.gif

hopefully the older ecu is dumb enough that it will keep everything else functioning even if its angry about the coil feedback. unless of course its used to control other things - that might be a problem.

 

I don't think it will complain, there should be enough loading with your circuit to fool it. The OBD-I ECUs don't have any kind of misfire detection.



#23 matts87glsedan

matts87glsedan

    USMB is life!

  • Members
  • 229 posts
  • lumby BC

Posted 12 September 2013 - 09:59 AM

so lets say target rpm is 5000, target retard is 6 degrees (just for calculations sake)

 

5000 / 60 = 83.333 rev per second

 

360 degrees x 83.333 = 29,999.999 deg / second (im going with 30 000)

 

30 000 / 1000 = 30 degrees / millisecond

 

so .1 millisecond = 3 degrees

 

therefore delay should be .2 milliseconds ( i dont know the proper unit to state that with.)

 

make sense? thats much smaller than i was guessing.

 

At 3000 rpm, the retard would be 3.6 degrees.

 

so in reality the delay should probably be somewhere between .1 and .2 milliseconds



#24 ivans imports

ivans imports

    1000+ Super USER!

  • Members
  • 2,954 posts
  • lumby bc canada

Posted 12 September 2013 - 10:38 AM

The engine is a 2.51 with 2.5 turbo rods has reground cams but block height and head height is stock for ej2.51 but a.m unshure if the 2.2 mangment and 2.51 management is same distance between the cam / crank senser as the 2.2 so mabee is a difference there. Have tryed the 2.2 turbo mangment but was unreliabble and cut out at any boost over 8 psi and add nos total shutdown to mutch turbo ecu controls.



#25 ivans imports

ivans imports

    1000+ Super USER!

  • Members
  • 2,954 posts
  • lumby bc canada

Posted 12 September 2013 - 10:50 AM

The engine is about 8.5 -1 comp ratio gessing the stock ej251 pulls 200psi comp test mine pulls 150 psi so 1/4 less than stock uses a sti turbo piston






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users