New User - few (tons) of Questions on CA18DET EDM ECU
Moderator: Matt
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
New User - few (tons) of Questions on CA18DET EDM ECU
Hi Everybody,
i'm a new Nistune user and just installed a Type 1 Board on my 93 EDM 200sx thats pretty much stock except for a GT2560R, Exhaust, Boost Controller and Audi R8 coils.
I've found some stuff while doing logs that i have some Questions about and i hope somebody can point me in the right direction.
1) Long Term Fuel Trim - Is there any on the CA18DET ECU? It's not visible in the Parameters and from some logs i couldnt tell that there is any long Term adaption or is it just missing in the Adress File?
2) Enable Conditions on STFT / O2 Sensor Feedback - The Nistune SW shows 3 different Temperature Thresholds for the O2 Sensor Feedback Threshold, none of them seem to actually work or i dont understand them correctly. Is this supposed to be O2 Sensor Temperature or Coolant Temp? 70°C would be quite low as O2 Sensor Temp and pretty high for Coolant but i can tell from logs that it enables sometimes at 64°C Coolant sometimes at 68°C. The Thresholds calibrated are 70°C and 66°C so it doesn't really fit.
3) Why does the STFT ramp up in Decel Fuel Cut once, and then jumps to -10% on the next decel fuel cuts (See Screenshots). The ramping seems like an O2 Sensor Diagnostic but that would make no sense to run it in Fuel Cut. 4) Why is STFT running sometimes in Idle conditions and sometimes it just stops even if the O2 Sensor reads lean or rich conditions? Is there any known logic behind this? (See Screenshot) 5) Whats the stock Dwell Time for the CA18DET Coils? I'd like to calibrate the ~2.8ms for the R8 Coils but the Cal is a percentage of a fixed/hardcoded value i guess and there is no estimated output that i can observe while changing the Dwell percentage in the Dwell Time Map. I'll use a osci but maybe somebody already did that and saves me some time
6) The Fuel Cut / Fuel Recover Cals dont seem to work. Even after uploading the changes (increasing the Fuel Cut rpm to 255h to prevent the activation) it goes into fuel cut. Does this Cal have to be burned to become effective?
Thanks in advance and best regards
Felix
i'm a new Nistune user and just installed a Type 1 Board on my 93 EDM 200sx thats pretty much stock except for a GT2560R, Exhaust, Boost Controller and Audi R8 coils.
I've found some stuff while doing logs that i have some Questions about and i hope somebody can point me in the right direction.
1) Long Term Fuel Trim - Is there any on the CA18DET ECU? It's not visible in the Parameters and from some logs i couldnt tell that there is any long Term adaption or is it just missing in the Adress File?
2) Enable Conditions on STFT / O2 Sensor Feedback - The Nistune SW shows 3 different Temperature Thresholds for the O2 Sensor Feedback Threshold, none of them seem to actually work or i dont understand them correctly. Is this supposed to be O2 Sensor Temperature or Coolant Temp? 70°C would be quite low as O2 Sensor Temp and pretty high for Coolant but i can tell from logs that it enables sometimes at 64°C Coolant sometimes at 68°C. The Thresholds calibrated are 70°C and 66°C so it doesn't really fit.
3) Why does the STFT ramp up in Decel Fuel Cut once, and then jumps to -10% on the next decel fuel cuts (See Screenshots). The ramping seems like an O2 Sensor Diagnostic but that would make no sense to run it in Fuel Cut. 4) Why is STFT running sometimes in Idle conditions and sometimes it just stops even if the O2 Sensor reads lean or rich conditions? Is there any known logic behind this? (See Screenshot) 5) Whats the stock Dwell Time for the CA18DET Coils? I'd like to calibrate the ~2.8ms for the R8 Coils but the Cal is a percentage of a fixed/hardcoded value i guess and there is no estimated output that i can observe while changing the Dwell percentage in the Dwell Time Map. I'll use a osci but maybe somebody already did that and saves me some time
6) The Fuel Cut / Fuel Recover Cals dont seem to work. Even after uploading the changes (increasing the Fuel Cut rpm to 255h to prevent the activation) it goes into fuel cut. Does this Cal have to be burned to become effective?
Thanks in advance and best regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
It helps often to have your Calibration/rom file posted (particularly, the one used for the log taken). Posting the raw log will help too.
Nissan ECU's (at least type 2 that I know), do some different things around idle. I believe they use different trimming techniques...my z32 ecu for example shows -9 constantly at idle even if it is doing work. Also, it makes little adjustments in the long term and won't do the whole lean/rich bounce. After mine has learned for a while, it will idle between 13.8 and 14.5 which is perfect. During the learning phase of mine, if it idles for any length of time at 13 or so, the next few times i come back down to idle it will progressively get leaner. It's like it picks a set pulsewidth for idle that it thinks is very close to stoich, and sticks with it. only if it sees rich or lean condition for long time will it trim it a bit. Can't speak to type 1, but just letting you know it is likely operating on a different subroutine.
Regarding dwell time, i believe I looked and couldn't find a tried and true formula, so I too just used a scope. Wouldn't want to have this set wrong as coil damage could occur.
Post up some files and someone may come here to help.
Nissan ECU's (at least type 2 that I know), do some different things around idle. I believe they use different trimming techniques...my z32 ecu for example shows -9 constantly at idle even if it is doing work. Also, it makes little adjustments in the long term and won't do the whole lean/rich bounce. After mine has learned for a while, it will idle between 13.8 and 14.5 which is perfect. During the learning phase of mine, if it idles for any length of time at 13 or so, the next few times i come back down to idle it will progressively get leaner. It's like it picks a set pulsewidth for idle that it thinks is very close to stoich, and sticks with it. only if it sees rich or lean condition for long time will it trim it a bit. Can't speak to type 1, but just letting you know it is likely operating on a different subroutine.
Regarding dwell time, i believe I looked and couldn't find a tried and true formula, so I too just used a scope. Wouldn't want to have this set wrong as coil damage could occur.
Post up some files and someone may come here to help.
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Hi,
thanks for the Hint. Attached are the logs and the Cal (it's basically the stock rom).
STFT ramping at 343s, Disabling at 994s.
Best Regards
Felix
thanks for the Hint. Attached are the logs and the Cal (it's basically the stock rom).
STFT ramping at 343s, Disabling at 994s.
Best Regards
Felix
- Attachments
-
- 20200729_Nissan_200sx_CA18DET_Rue_Langen_Hot_Ambient__2020-07-29_1616_43.zip
- (313.03 KiB) Downloaded 214 times
-
- 20200704_S13_CA18DET_39F0F_MEC-D007D_EDM_MT_ExtVQ_FP_Enriched_over_CL_area.bin
- (32 KiB) Downloaded 235 times
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Matt can chime in here, but it's likely these don't store long term trims (and if they do, they aren't available to view).Run_Stop_Restore wrote: ↑Thu Jul 30, 2020 3:42 am 1) Long Term Fuel Trim - Is there any on the CA18DET ECU? It's not visible in the Parameters and from some logs i couldnt tell that there is any long Term adaption or is it just missing in the Adress File?
It's coolant temperature. There could be some Hysteresis work going on that moves the "on" point slightly above or below your set point.2) Enable Conditions on STFT / O2 Sensor Feedback - The Nistune SW shows 3 different Temperature Thresholds for the O2 Sensor Feedback Threshold, none of them seem to actually work or i dont understand them correctly. Is this supposed to be O2 Sensor Temperature or Coolant Temp? 70°C would be quite low as O2 Sensor Temp and pretty high for Coolant but i can tell from logs that it enables sometimes at 64°C Coolant sometimes at 68°C. The Thresholds calibrated are 70°C and 66°C so it doesn't really fit.
It didn't ramp up prior to Fuel cut.3) Why does the STFT ramp up in Decel Fuel Cut once, and then jumps to -10% on the next decel fuel cuts (See Screenshots). The ramping seems like an O2 Sensor Diagnostic but that would make no sense to run it in Fuel Cut.
Looking at the log at 3:43, what happened is around this time in the log, you just reached O2 feedback activating. Also, in case you aren't aware, the fuel map highlights the cells where feedback is active. It's shaded aqua and you can toggle o2 feedback for given regions using the "o" key. It's a little tricky though since feedback cells can actually be negative trims. If you view "filtered values" you see some are negative. You can't toggle these cells to turn off feedback until they are at least 0. It's just a limitation on how the feedback flag is set (which is by subtracting 192? i think?).
Anyways, back to your log. what you'll notice is that at 2000rpm and 50+ load, you were actually in a region that had feedback disabled. Then when RPM climbed a bit more you entered the 2400 cell and feedback was active again. Thats when the trim rose. I believe the o2 feedback juts out there in an effort to improve fuel economy...it's the main cruising RPM and if you apply a bit more throttle it still stays in closed loop.
Regarding what the trim does in the actual fuel cut, i wouldn't worry about it, so long as fuel is cutting if you want it to.
This is, as i mentioned, just due to the way the idle AFR routine works. If you notice, it's actually holding a nice lambda there when it's not adjusting. I think it keeps the idle nice and stable as opposed to slightly wondering if you trimed fuel back and forth.4) Why is STFT running sometimes in Idle conditions and sometimes it just stops even if the O2 Sensor reads lean or rich conditions? Is there any known logic behind this? (See Screenshot)
as mentioned...best to measure.5) Whats the stock Dwell Time for the CA18DET Coils? I'd like to calibrate the ~2.8ms for the R8 Coils but the Cal is a percentage of a fixed/hardcoded value i guess and there is no estimated output that i can observe while changing the Dwell percentage in the Dwell Time Map. I'll use a osci but maybe somebody already did that and saves me some time
Can't find the 994 area you're talking about... 9min 94 sec? = 10 min 34 seconds?6) The Fuel Cut / Fuel Recover Cals dont seem to work. Even after uploading the changes (increasing the Fuel Cut rpm to 255h to prevent the activation) it goes into fuel cut. Does this Cal have to be burned to become effective?
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Hi,
thanks again for the help.
I understand the highlighted cells in the Fuel Table are the ones that use O2 Feedback but why is it that i cannot disable Closed Loop Control at all Cells.
The dark cells are the ones that i could CL disable with the O key, the rest wont change and if i manually just substract 192 from the Cell Value i get an "invalid Value" error. Is this because the "Closed Loop" Cells are supposed to be minimum at 0? Also: the Mapping Guide says its the raw trim value + 128 but it seems on this ECU it's the raw + 192. I first thought this is a hickup between dec and hex conversion but 128h would be 296Dec so that doesnt seem to be the case.
Edit: Read the Guide again, it's only saying that cells >128 are closed loop, not that 128 is added to enable it. Was a bit confused by that
My plan was to disable the O2 feedback overall just to get the Trim correct for standard conditions and the enable it later when the fueling is on point.
The reason i wanted to disable the Fuel Cut was that i wanted to access the cells in coastdown off throttle to get the fueling setup in those cells.
Another Question on the Timing Beta Advance vs Temp Map: When is it actually used and for what? There is a Timing offset at all Temperatures Calibrated which makes no sense at all except maybe for coldstart cranking but the offset never seems to be applied to the base timing map.
Maybe just for info so that you don't get the wrong impression. I'm just asking questions specific to the Nistune, the basic concept about CL/OL is already known and clear to me. I've been working for OEM's for the last 10 years as calibration engineer and i've done pretty much everything from Closed Loop, Open Loop, Torque Model, Transient Torque, Driveability and Speed Control from Engine Bench to Vehicle Cal.
Thanks again for your support, really appreciate it.
Best Regards
Felix
thanks again for the help.
I understand the highlighted cells in the Fuel Table are the ones that use O2 Feedback but why is it that i cannot disable Closed Loop Control at all Cells.
The dark cells are the ones that i could CL disable with the O key, the rest wont change and if i manually just substract 192 from the Cell Value i get an "invalid Value" error. Is this because the "Closed Loop" Cells are supposed to be minimum at 0? Also: the Mapping Guide says its the raw trim value + 128 but it seems on this ECU it's the raw + 192. I first thought this is a hickup between dec and hex conversion but 128h would be 296Dec so that doesnt seem to be the case.
Edit: Read the Guide again, it's only saying that cells >128 are closed loop, not that 128 is added to enable it. Was a bit confused by that
My plan was to disable the O2 feedback overall just to get the Trim correct for standard conditions and the enable it later when the fueling is on point.
The reason i wanted to disable the Fuel Cut was that i wanted to access the cells in coastdown off throttle to get the fueling setup in those cells.
Another Question on the Timing Beta Advance vs Temp Map: When is it actually used and for what? There is a Timing offset at all Temperatures Calibrated which makes no sense at all except maybe for coldstart cranking but the offset never seems to be applied to the base timing map.
Maybe just for info so that you don't get the wrong impression. I'm just asking questions specific to the Nistune, the basic concept about CL/OL is already known and clear to me. I've been working for OEM's for the last 10 years as calibration engineer and i've done pretty much everything from Closed Loop, Open Loop, Torque Model, Transient Torque, Driveability and Speed Control from Engine Bench to Vehicle Cal.
Thanks again for your support, really appreciate it.
Best Regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Hi Felix
I'll answer the best I can
I'll answer the best I can
It should be in there, but I have not found it so far in the disassembly of the ECU code for reporting and displaying. When I do the knock reporting work for this ECU I will have another go at locating it1) Long Term Fuel Trim - Is there any on the CA18DET ECU? It's not visible in the Parameters and from some logs
In the ECU disassembly I found 3 x references to Coolant temperature checks in the O2 sensing routines. I am not sure of each parameters exact function but you must change the setting, burn, power off the ECU and power back on to use it sometimes. The ECU copies the setting into a temporary variable and uses that.2) Enable Conditions on STFT / O2 Sensor Feedback - The Nistune SW shows 3 different Temperature Thresholds for the O2 Sensor Feedback Threshold, none of them seem to actually work or i dont understand them correctly
I've seen it do that on the bench. It's like its detected lean (decel) and then starts adding fuel to the trim3) Why does the STFT ramp up in Decel Fuel Cut once, and then jumps to -10% on the next decel fuel cuts (See Screenshots).
That might be just adjustment to the trim variable we report from the ECU. It is always adjusting, but it may not be impacting the injection time (so watch this instead). I've also noticed this with the Z32 ECUs reporting trims at idle but not using the trim4) Why is STFT running sometimes in Idle conditions and sometimes it just stops
Normally most nissans are around 3.5-4ms dwell time, so you add more % to that with the volt/dwell table. Some ECU you can right click and add estimated dwell time gauge5) Whats the stock Dwell Time for the CA18DET Coils?
They seem to be highly conditional. So just catch between a small window in RPM. Do you have a working speed input?6) The Fuel Cut / Fuel Recover Cals dont seem to work.
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Hi Matt,
thanks for the reply.
Thanks for your support
Best Regards
Felix
thanks for the reply.
So the Knock Count Variable will not report any knock picked up by the sensor right now? I'm using a Bosch Sensor hooked up to a digital filter anyway to detect audible knock but it would be nice to see how it compares to the Narrowband Sensor. Is there any other way how to determine if the nissan ecu picks up knock?Matt wrote: ↑Fri Jul 31, 2020 10:19 am Hi Felix
I'll answer the best I can
It should be in there, but I have not found it so far in the disassembly of the ECU code for reporting and displaying. When I do the knock reporting work for this ECU I will have another go at locating it1) Long Term Fuel Trim - Is there any on the CA18DET ECU? It's not visible in the Parameters and from some logs
Thanks, i'll burn the changes and see if it works after powerdown, powerup.Matt wrote: ↑Fri Jul 31, 2020 10:19 amIn the ECU disassembly I found 3 x references to Coolant temperature checks in the O2 sensing routines. I am not sure of each parameters exact function but you must change the setting, burn, power off the ECU and power back on to use it sometimes. The ECU copies the setting into a temporary variable and uses that.2) Enable Conditions on STFT / O2 Sensor Feedback - The Nistune SW shows 3 different Temperature Thresholds for the O2 Sensor Feedback Threshold, none of them seem to actually work or i dont understand them correctly
We do pretty similar things in OEM ECU's to adapt for different fuels. Nowadays you dont use the STFT for this but the Idea is to enrich until the you see the jump of voltage in the nernst cell. It's again different now for pre-cat sensors because they're basically all widebands without a nernst cell but still valid for post cat sensor diagnostic and catalyst monitoring to determine the oxygen storage capability of the catalyst. But all of this would only make sense if you're actually in coast or steady state with the engine running instead of overrun fuel cut. Anyway, not a big deal, i was just curious
Ok, i also thought about a timer that runs as soon as your mixture is stable and disables the Trim because you're not expecting any major change during an idle phase. I'll play around with external consumers like generator load and see if it re-enables.
The CA18DET ECU doenst seem to have that feature, i'll check with a scope and report back.
Yes it's operational, i'll check if burning the changes works.
Thanks for your support
Best Regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Not at the moment for this ECU with the current FP firmware. It is fixed in the FP1.1 available on the website, but I will be doing another update to that to display knock counters per cylinder etcSo the Knock Count Variable will not report any knock picked up by the sensor right now?
The only way to know is if timing is more retarded than what is in the timing map (that is when you know the ECU is pulling timing due to retard)
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Do i need to program the FP to make these changes work?
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Two more Question on the Idle Valve PWM and the Timing Beta Advance vs Temp Table.
1) I see a constant Duty Cycle applied to the Idle Valve in Nistune, i did not had a chance to check with a scope if this is really output to the Idle valve but why would it pulse the valve constantly. Under Vacuum this would just draw air bypassing the MAF and mess up closed loop and underboost it would leak pressure.
2) What is Beta Timing Advance vs Temp and when is it used? There is a constant offset to the ignition calibrated but obviously not executed because timing shown is right off the Main Timing Table without offsets.
Thanks and Best Regards
Felix
1) I see a constant Duty Cycle applied to the Idle Valve in Nistune, i did not had a chance to check with a scope if this is really output to the Idle valve but why would it pulse the valve constantly. Under Vacuum this would just draw air bypassing the MAF and mess up closed loop and underboost it would leak pressure.
2) What is Beta Timing Advance vs Temp and when is it used? There is a constant offset to the ignition calibrated but obviously not executed because timing shown is right off the Main Timing Table without offsets.
Thanks and Best Regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Yes either factory files (39P00 etc) or the new FP1.1 39P0H files for example will have the knock count. You also get the anti stall maps, flat shift and improved launch control in that versionDo i need to program the FP to make these changes work?
The duty cycle is changed based on the current RPM, temperature, TPS and target duty cycle tables. The AAC duty cycle always pulses at the specified duty cycle. You can check with a duty % multimeter1) I see a constant Duty Cycle applied to the Idle Valve in Nistune, i did not had a chance to check with a scope if this is really output to the Idle valve but why would it pulse the valve constantly
It is an additional timing table. There is a temperature lookup value compared against value @ BFD4 (00 = -40 degC in 36F0F) address. If below, It is used to determine if this table is used (or not)2) What is Beta Timing Advance vs Temp and when is it used?
It is then added to the base timing map. Looks like it is not used in 36F0F looking at the code
Code: Select all
B20A : F6 10 55 " U" ldab RAM_1055_TempLookup1
B20D : F1 BF D4 " " cmpb IDLE_TIMING_TEMP2
B210 : 24 0C "$ " bcc LB21E
B212 : B6 10 5F " _" ldaa RAM_105F_CoolantTempIdx
B215 : CE BB 20 " " ldx #$BB20
B218 : BD 80 9F " " jsr JSR_809F_Interpolate1x16_F0_Limit
B21B : BB 11 0D " " adda RAM_110D_TimingMap_Value
B21E LB21E:
B21E : B7 10 3D " =" staa RAM_CONSULT_103D_IGN_TIMING
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Thanks Matt!
You mentioned that you're going to update the FP1.1 again to have cylinder based knock counts, do you have any ETA on the release of that update?
Just contacted a workshop in Germany to check if they have the base image programmer and i don't want to flash the new .ent before these changes are available to avoid sending in my board again.
Thanks
Best Regards
Felix
You mentioned that you're going to update the FP1.1 again to have cylinder based knock counts, do you have any ETA on the release of that update?
Just contacted a workshop in Germany to check if they have the base image programmer and i don't want to flash the new .ent before these changes are available to avoid sending in my board again.
Thanks
Best Regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Yeah just hold off for that then. I don't have an ETA unfortunately as I'm finishing up FP1.1/FP2.1 for SR20DET currently (half way updating my patching scripts), and then will go back to the knock count work after that
-
- Posts: 22
- Joined: Sat Jul 18, 2020 8:05 am
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Hi Matt,
just to clarify: In the current V1.1 the Knock count works but is not cylinder selective, right?
I think about updating and testing right now since the Workshop actually does not charge much for the flash.
Best Regards
Felix
Re: New User - few (tons) of Questions on CA18DET EDM ECU
Some good news. I went through the LTFT references in the HCR32 code and managed to use that to find them in the S13 CA18DET
Code: Select all
B439 : CE 15 00 ldx #$1500 ; RAM_1500_Closed_loop_RAM_table
B43C : DF 74 stx RAM_0074_IdxTable
B43E : CE B5 E0 ldx #$B5E0 ; ROM_B5E0_Closed_loop_LTFT_RPM_Scale
B441 : DF 76 stx RAM_0076_IdxYtemp
B443 : CE B5 F0 ldx #$B5F0 ; ROM_B5F0_Closed_loop_LTFT_TP_Scale
B446 : DF 78 stx RAM_0078_IdxXtemp
B448 : BD B4 63 jsr LB463
B44B : BD 9C A5 jsr L9CA5
B44E : 0F sei
B44F : FD 10 8F std RAM_108F_WORD_AF_ALPHA_LH_LTFT
B452 : FF 10 87 stx X1087
- Attachments
-
- 2020-08-15 09_31_57-Nistune [S13 CA18DET FP1_ LTFT reference tables.png
- (33.01 KiB) Downloaded 2003 times