TwinTurbo.NET: Nissan 300ZX forum - The new and improved Detonation Dissertation.
People Seeking Info
 
   


     
Subject The new and improved Detonation Dissertation.
     
Posted by AshsZ (FABio) on January 15, 2003 at 8:20 PM
  This message has been viewed 1827 times.
     
     
Message This is the short version - lots of people doing lots of reading today and I dont want to fry any more neurons than I have to. Muhahaha. ;-)

Ok, leaving off from my previous post on this subject, but this time I will keep it very clean, to the point and leave it open for discussion and debate. Please moderate yourselves accordingly.

From the top:

What I hope to show to you all is how the ECU handles knock (or detonation, however you want to name it is fine with me). The ECU has two timing maps. One is the low-octane timing map and the other is a high octane timing map. Both of these maps contain ignition timing in degrees BTDC. There is an area in the timing maps that is called the 'knock zone' (shown in red in the pic below). This area of the map encompasses a range of engine condition (RPM and airflow) in which the ECU listens to the knock sensor. A picture of a JSPEC TT high octane map is shown below.

Now, there are two modes of code 34. Short term and long term. I'll start with the long term mode because it is much shorter to explain. :)

If the ECU detects that there is a problem in the detonation circuit itself, it will trigger a long term code 34. This will cause the ECU to revert to the low octane fuel and timing maps until the circuit is fixed (replace the sensor or the harness, or both) AND the ECU MUST be reset to clear the code. At this point it will no longer be in safety mode and if everything else is OK, it will run using the high octane maps.

The values for the knock zone seem excessively high at first glance, but all you need to keep in mind is that there is a value of 128 added to the actual timing value. In binary, each byte is represented by a 00000000, or 8 bits of information. When the bit on the far left is a 1, this means a value of 128. When the ECU references the map point and sees this first bit set to 1, it knows it is in the knock zone and to check the detonation subroutine to see if knock is detected. So an ignition timing value of 16 in the knock zone would appear in binary as 10010000, or in numeric as 144 (128+16).

If knock is detected, the processor puts a flag in one of its memory registers that knock was indeed detected. The knock sensing subroutine checks this flag to see if it is there. If it is there, its puts another flag into an additional register then it will reduce timing by one degree and then fire the plug. The next time around, if it finds that there is again detonation, AND a flag exists in the secondary register, it will reduce the timing by two points from the stated point in the map and add an additional flag into yet another register. If it continues on like this in detecting knock over and over again, it will reduce the timing by as much as 4 degrees. At this point, if all 4 of the flags are set, it will kick the system into safety boost and it will now be using the low
octane maps. This is now in short term code 34, safety mode. This condition can be reset by simply turning off the car and waiting 10 seconds, then restarting.

The idea here is that if low octane fuel is used, you will not be able to boost high levels without detonation and it will quickly fill up the detonation flag registers and kick into safety boost.


Now all this sounds fine and dandy, how about some empirical evidence? No problem. I came home from work today with total intention to show that this is, in fact, how it works.

I have Z parts all over the garage and I do have an extra detonation sensor I stored away. I pulled it out and grabbed some length of wire. I connected the detonation sensor up to the harness, but I ran two wires into the cabin. I attached one to the terminal on the sensor, and the other to the metal casing of the sensor (this is the ground). Then I had to find something to vibrate the sensor hard enough that the amplitude of the signal would mimic detonation. I loaded up my DAQ program and monitored the signal. In the past, I know the detonation sensor's signal range would cover ~0.5V under high RPM. So I needed something that would shake it hard enough to register at least this amount. What did I use? Heheh, call me what you will, but a good orbital sander worked great. I duct taped it to the side of the carriage (after removing the sandpaper, of course). I could get an amplitude of nearly 1 full volt. (~0.95V). This was perfect. And since I have an extra jack on my inverter, I could run this thing in the car.

Here is a screenshot of the DAQ program (this is an old screen shot, but I'm putting this up so you can see what the signal looks like :) This is at about 6000RPM.

So here's what I did. With all this contraption sitting on my passenger seat and the car running, I took it out to tool around a little. I left the sander off because I wanted to run some preliminary tests and double check my map settings.

I loaded one of my other programs and made a few adjustments. I set my high octane timing map to 24degrees of timing advance at full load. The low octane map goes to only 16 degrees. I increased the coverage area of the knock zone so it will give me a larger range of engine condition to look at what's happening to the timing. I crank up the ConZult and take her to the road.

In the first run (without the sander running), I see the timing goes right up to 24 degrees like it is supposed to. It is not throwing any codes. So I reach over and disconnect the wire to the detonation sensor and check the codes. It is now indicating a code 34. I take it back to WOT and sure enough, like I expected, it is only hitting 16 degrees of timing. I pulled over and reconnected the sensor and started the car back up (keep in mind I did not clear the code). Again, it only hit 16 degrees of timing and it showed code 34, although it was hooked up. It does this because you have to clear the code out of the memory by resetting the ECU AFTER fixing the circuit problem(which erases the internal memory of the processor). So I pulled over and cleared the code in the ECU and took it back out for another WOT run. It was now hitting 24 degrees of timing and throwing no codes.

At this point I have verified that it does revert to the low octane map when it detects a failure of the circuit. It will also do this when another vital sensor faults.

So now I'm ready to turn on the sander and watch the timing. I started the datalogging to monitor the engine parameters (RPM, timing, TP-theoretical pulsewidth) and took it for a run. As soon as I went WOT I could feel that it was not pulling anything like it was at 24 degrees of timing. I checked the datalog and this is what I found.

As the load increased (turbos are spooling up) into the knock zone, it hit 24 degrees of timing, but then it quickly dropped to 23, then to 22, and so on and so forth until it dropped to 20 degrees of timing. Now here's where it gets interesting. At this point it has retarded timing by the full 4 degrees! What did it do next? It jumped down to 16 degrees and continued down to 12 degrees total advance!

Now this last part tells us something. Even when it is in low octane mode, it is still listening to the detonation sensor and will continue to drop timing if knock is detected!

At this point I was curious. Is it now stuck in short term knock mode? I turned off the sander/vibrator whatever you want to call it and went WOT. It only hit 16degrees of timing! This meant it is now in safety mode! So, I checked the code in the ConZult and sure enough, Code 34. So to differentiate between short term and long term, it *should* reset back to normal mode when I turn the engine off, wait a moment and restart. AS expected, I did this, ran it WOT (without the sander running) and it was back to 24 degrees of timing. This is the short term code 34 mode.

So what does all this mean? Well, it means there is a hell of a lot of safety built right into the ECU when it comes to handling knock. It has a detonation sensor, it has a knock zone, it will try to eliminate knock on its own, if it continues to knock, it reverts into safety mode and uses the low octane maps, and even still it will continue to monitor for knock and retard the timing!

Now, about those maps.. The low octane map in stock configuration has less timing advance than the high octane map. It is lower by a few degrees. Here is a screen shot of the low octane timing map for the same program (JSPEC Auto..)

You can compare the two maps and see for yourself that the low octane timing map does indeed have less timing advance. I think at this point it is apparent why you would not want to set the high and low octane timing maps the same.

Now the same thing holds true for the fuel maps. Since there is a low octane and high octane fuel map, it delivers more fuel in the low octane map to try and keep things cool and safe in the event something isn't right. On top of that, there is also a high gear fuel map which is used when you are in 5th gear (or OD for you auto guys). There is BOTH a high gear high octane and high gear low octane map for use when the system is in 5th gear and either in safety mode or normal mode.

So that's that.. I hope this has come tastefully, objectively, and please, no comments on the sander/vibrator/whateveryouwanttocallit setup. ;-)



[ ashleypowers.com ]
[ agpowers@bellsouth.net ]

[ Zemulator Information Sheet ]

When pigs dance, you better get it on video...

"You never really learn to swear until you learn to drive."
-George Carlin

     
Follow Ups  
     
Post a
Followup

You cannot reply to this message because you are not logged in.