When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I have a P0336 which I know is not due to the sensor or wiring harness. The wave form show 35 voltage peaks and troughs going from plus 2.37V to -2.46 volts. The last three notches create roughly a 10% increase compared to the others. See picture.
Does this signify a correctly operating crank sensor on a correctly shaped reluctor ring on the flywheel ?
If an AJ27 then it would seem to be correct, as that has 35 tooth ring
(If it's an AJ26 then that would be a problem since 34 tooth ring, if AJ33/34 then no idea....)
AJ26 looks like this, I assume.... AJ27 uses a similar sensor
I would guess the signal is somehow not getting to the ECU connector.
Conditioning circuit on ECU is fairly trivial, at least on AJ27.....(digital output should be on pin 10, 12)
(SE204 is a Denso proprietary labelled part, so no data sheet)
Sorry should have said AJ27 so I now assume its fine up to at least the ecu connector. When I unplug the CPS I get a P0335 which makes sense so it would infer that the ECU can see the signal which is why the when plugged back in you get p0336.
I have two cloned ECUs which both give the same result inferring its not the ECU. Could it be the connector providing interfered signal ?
Or could it be that P0336 is saying that the signal is fine to the ECU but it doesn't agree with the CAM sensor positioning and therefore is out of range ?
I assume your scope is connected at the ECU end of the crank sensor cable? It's difficult to tell from your potato cam photo of the scope, but the trace looks quite noisy. Maybe post a clearer picture? Can you explain more what you mean by "The last three notches create roughly a 10% increase compared to the others."? It should be flat, but maybe someone else can confirm if that is normal?
Assuming those waves are across the same +2.37V to -2.46v as before that looks nice and clean and what you would expect. I don't know why you are getting that 10% increase at the end though - maybe someone else has an insight.
P0336 'appears' to be triggered if the ECU does not count exactly 35 pulse in a full rotation of the crank - this is my quick guess without drilling into the details which would take much effort....
At be4f8, variable b05f1 (which seems to count the pulses in a single crank rotation to track the position of the crank) is compared to the value 0x23 (decimal 35).
If not equal then there is a branch to be510, where bit 0 of variable b09d3 is set.
b09d3 tracks the status of the DTC code P0336, and if bit 0 is set then the error condition is active.
So this suggests that 35 pulses are not being consistently detected per rotation. Likely this only has to happen once for the error to become active, and then if triggered over 2 engine cycles, the check engine code is triggered.
Possible causes could be
- noisy signal, per dibbit (does the CKPS ground wire EM83-07 have a good connection, as well as the EM83-08 signal wire)?
- any possible extra bounces around the mid point (0 Volts), or weak pulses in the scope traces?
- good repeatability of the pattern across many rotations - it possibly only has to happen on one rogue rotation to get the error process started
- other ?
Also anyone got a view on whether P0336 can be caused by disagreement with the CAM sensor or whether it is simply an issue with the nature of the signal with no bearing on timing for example ?
Looking again at the trace in post #6, comparing the biggest peak with the smallest shows quite a large variation - 30% or so just by estimation. Are you also getting a misfire?
There are many firmware loads for the AJ27 across XK8 and XKR (and X308, etc.), but the snapshot I provided is a fairly late load, and that is the only test for P0336 that I found referencing the relevant DTC variables. Of course there could always be something else lurking, but I doubt it......
So no other error condition tests for P0336, i.e. no cross reference to cam timing, or anything else. Just need to consistently see 35 pulses per rotation.
The engine is reluctant to start but will always eventually start. On starting It can go into a slow idle and will not respond to the accelerator at all or it can run almost fine but with a misfire although I am not getting misfire codes.
Just to check my understanding
The sensor produces AC pulses that are turned to DC in the ECU and amplified. P0336 is fired if two rotations occur where 35 pulses are not counted.
The scope shows 35 pulses but those pulses over the 35 have some amplitude variances. This maybe the root cause or the other possibilities are that
The connector at the ECU is poor. Any idea how I would fix this as the ECU is seeing something when the CPS is plugged in but giving a P0335 when not
The reluctor ring is damaged thus giving different amplitudes and confusing the ECU
The sensor produces AC pulses that are turned to DC in the ECU and amplified.
- yes, actual details are not clear since the IC that processes the signal is an unknown, but I assume some sort of bandpass filtering and schmitt trigger or similar - i.e. turn the CKPS sine wave into a square wave/PCM signal.
- you could poke into the ECU and check the signal on those pins 10 and 12, but this is really extreme and a last resort, and probably would not reveal anything important. ECU tends to be bullet proof (apart from the early AJ26 ones)
P0336 is fired if two rotations occur where 35 pulses are not counted.
- my best interpretation of the code is, that during an engine cycle if the ECU ever detects a crank rotation that does not have 35 pulses (ie less than 35 or more than 35) then it will trigger and log an internal error. If does execute the test during certain conditions, like low rpm (<500 rpm), fast change of speed (inter tooth interval changing too quickly), etc. (this is the code before the key "= 35" test I highlighted) but during 'normal' operation it always executes the test.
- then per usual DTC processes, if during the subsequent engine on cycle (i.e. the next time the engine is started), the same error is detected, then a P0336 is triggered (i.e. same internal error occurs on two consecutive engine on/off cycles)
The scope shows 35 pulses but those pulses over the 35 have some amplitude variances. This maybe the root cause
- maybe, depends on the conditioning circuit which is unknown......although the traces you have are not that bad - if the circuit just detects the zero crossings then it should be fine with that amount of variance
or the other possibilities are that
The connector at the ECU is poor. Any idea how I would fix this as the ECU is seeing something when the CPS is plugged in but giving a P0335 when not
- at least check that the sensor ground has good continuity between the sensor and the ECU harness (EM83 connector)
- you could try running new wires between the CKPS and ECU, in case there is a dodgy wire that only works sometimes....
The reluctor ring is damaged thus giving different amplitudes and confusing the ECU
- certainly possibly - can you visually inspect the bottom of the ring attached to the flex plate? look for warping etc. where the distance from the ring to the CKPS varies over a rotation ?
- the mid inner ring of 35 holes (including the one long hole which is the missing 36th hole to allow TDC to be detected) are the ones the CKPS uses
Maybe there is a transient or intermittent effect where a warped/loose flex plate, loose sensor, or similar, moves just enough to lose or degrade the signal, such as during a rough moment of idle, or near stall, or something?
- clutching at straws, but the steady state signal looks good, so it could be something that only happens occasionally but will trigger the ECU. If so, will be a challenge to find :-(
I think the next task is to inspect the plate. Will let everyone know the outcome.
While you are at that part of the engine, you could check the crank sensor output again but this time connected directly to the sensor, just to rule out the wiring from the sensor to the ECU (assuming you were testing at the ECU end last time). Disconnect the sensor and connect directly to it. I don't know if the engine will run, but all that matters is it is turning over to get an output.