Jump to content
SAU Community

Nistune - TP load calculation?


Recommended Posts

I'm trying to understand how a stock BNR32 ECU calculates TP load on the primary fuel/ignition maps. I read through the Nistune manual to find the following equation:

TP = (VQ * Kconst) / RPM

TP load index = TP / 256

I looked up the MAF VQ (voltage quantifier) curve in the base BNR32 ECU's MAF table and referenced it against Haltech's RB26 stock MAF curve. From this I concluded that the VQ curve is such that 1 VQ unit is equal to roughly 0.005152 grams per second of mass flow. This constant produces a curve that makes the Nistune and Haltech curves agree almost perfectly. The only error I see with this method is below 1 g/s, so with two MAFs at roughly the same flow rate that's likely below the minimum airflow at idle:

image.png.79319f78871b8b30ab20833cd74581d1.png

image.png.4add4494a55365b8c2cf9b21a6707980.png

image.png.ea565e0f8af8b8b2a6b30c6c21a6f477.png

From there I tried to reverse the TP load index equation to get some sort of estimate for grams per cylinder. Something I noticed reading the tables is that there is a fuel cut that occurs above a load index of 160, which suggests to me that the load index of the OEM tables should never exceed 80 and the final load row of 88 is just a failsafe. I tried the following to convert this TP load index into grams of air per cylinder:

TP_load * 256 * Kconst * 60 = VQ/RPS

Where TP_load is 80, Kconst is 233 (defined by the ECU), and 60 is a constant to convert RPM to RPS. From there we can convert VQ into a grams per second value like this:

TP_load * 256 * Kconst * 60 * 0.005152 = (g/s) / RPS

The seconds cancel out, so this is actually a grams of air per revolution value. Every revolution half of the cylinders are intaking air because it's a 4 stroke engine, so we can divide this number by 3 to get grams of air per cylinder.

The problem is that when I do this math I get a figure of ~27 grams of air per revolution. At the power peak of ~6800 rpm stock that implies the "peak load" limit corresponds to roughly 3000 grams per second of air mass metered by a single MAF. A single MAF can only meter about 150 grams of air per second before it maxes out. So I'm off by a factor of 20 which is definitely wrong.

Anyone know if I just suck at math? Or if I'm missing a bunch of extra bits to how TP is calculated? If anyone has a Nistune log of MAF VQ, RPM, and TP on a stock RB26 + stock tune I would really love to see it.

Link to comment
Share on other sites

It's definitely a case of "it doesn't matter". TP stands for "Theoretical Pulse". I'm an engineer who does combustion for a living and really couldn't be bothered trying to do what you've just tried to do. Waste of time. Doesn't matter. it's just a load scaler. Adjust K to make the mixture right is about as hard as it needs to be.

  • Like 1
Link to comment
Share on other sites

9 hours ago, GTSBoy said:

It's definitely a case of "it doesn't matter". TP stands for "Theoretical Pulse". I'm an engineer who does combustion for a living and really couldn't be bothered trying to do what you've just tried to do. Waste of time. Doesn't matter. it's just a load scaler. Adjust K to make the mixture right is about as hard as it needs to be.

I’m aware that general practice is to not bother with trying to do this, I just want to make sure that messing with K and VQ that I rescale the maps correctly. Getting down to raw physical units helps because the VQ scale is not a linear factor.

Link to comment
Share on other sites

1 hour ago, GTSBoy said:

You don't need to even rescale maps any more.

My understanding was that if you adjust K at all or changed the MAFs you've effectively rescaled the ignition and fuel maps, even if the math still works out such that the ECU stays within the OEM load scale.

I really just want to ensure that I keep the factory fuel targets/ignition timing in real load + RPM, so that the behavior is going to be the same as stock if I don't modify them. Maybe pointless but I'm trying to make sure that I don't change too many variables all at the same time.

Link to comment
Share on other sites

A long time ago K was the only tool available. Matt has since added another way to deal with rescaling for different injectors and AFMs that doesn't f**k up all the TP limits and other stuff that hangs off it. Also prevents you having to extend the load axes on the maps.

I went to all the trouble to extend the maps (both load and revs) and then interpolate and extrapolate  before he did that. It would have been a lot easier if I had waited a few months (this was years ago) until the update, because I would have only had to do it in one direction (revs) and not the load axis.

Anyway, fear not. Play with it extensively. if you f**k it up, you only have to put it back the way it was before the f**kup.

Link to comment
Share on other sites

For those that are interested in the original problem, I found some logs of a stock R32 GTR running Nistune and concluded that it's a roughly 23.5 or 23.6x factor that is hidden in the TP calculations. So instead of this:

TP = (Kconst * VQ) / RPM

It's actually something like this:

TP = (Kconst * VQ * 23.6) / RPM

Here's my work, gathered by going through this Nistune post: https://forum.nistune.com/viewtopic.php?f=8&t=3655

KgXtJaG.png

The header is not quite as helpful as I would hope but basically the first 4 columns are straight from the logs and TP less K is effectively the expected VQ/RPM value, while VQ and VQ/RPM headers are the interpolated VQ value measured from MAF voltage and VQ/RPM is that VQ value divided by the RPM in that part of the log. The two methods arrive at vastly different numbers, so the ~23.6x factor I mentioned is how I reconcile the two.

Edit: What's remarkable about this is actually how close the TP index is to the total airflow to the engine, in grams per cylinder, just with fewer significant digits.

Edited by joshuaho96
Link to comment
Share on other sites

It's unlikely that an engineer, particularly a Japanese one, would work in grams per second as a flow rate. Far more likely to work in molar units. The molar weight of air is 28.8, which is intriguingly close to the ~23.5 number that you came up with as a "factor" - but far enough different to probably not be it. I'd bet they were working in standard or normal volume units (which are basically a mass unit because any volume at a set pressure and temperature will always contain the same mass of the same gas).

Link to comment
Share on other sites

Maybe, but load is measured based on a completely arbitrary MAF VQ. I’m manually doing the VQ to grams per second unit conversion. Even if you don’t bother with that there’s still a huge delta between deriving TP via VQ, Kconst, and RPM and what the ECU reports as TP. I suspect that much like how the MAF VQ units are arbitrary to fit the size of the ADC output, Nissan was likely doing some internal rescaling to get the load index to be an 8 bit integer and TP to fit in a 16 bit integer. Internal tooling could easily handle this weirdness while still showing sane units to anyone working on the engine calibration. Talking to Matt at Nistune he also suspects that this is just some bit twiddling done to make the scaling fit. It’s not documented in Nissan’s patent on their ECUs of the era which makes me think it’s an implementation detail. 

Link to comment
Share on other sites

One thing you need to understand about Nistune / Nissan ECUs of this time:

The ECU has no idea about airflow in terms of any physical unit.

The only real difference between a 'big AFM' and a 'small AFM' is mostly determined by K which is the injector multiplier. Interestingly enough, if you change K, the whole scaling / TP calculation drifts too.

A lot of moving targets!

It took me years to figure that out because it was never really made clear in the documentation.

I'm still on the K based Nistune ECU because I tweaked my map over the years to  'as good as it gets' and don't want to start from scratch with TIM (Total Injector Multiplier).

 

Yes, Nitsune is a bit of a hack, but so is the ECU ;)

R34 ECUs added a VE map and the ECU actually knew about boost pressure ..

 

 

 

 

 

 

 

 

 

Edited by Torques
Link to comment
Share on other sites

35 minutes ago, GTSBoy said:

Yeah, and none of it did any good to us! Just makes life harder.

And in earlier documentation we were advised to unplug & disable the flag... guess what that did? make the car go straight to the last column everytime it came onto boost... yeah that was fun, went pig rich and shot out a backfire.

Updated documentation then recommended it was plugged back in, flag disabled and the voltage limits maxed out. This helped, but the transient map was a pain in the arse to tune.

 

Link to comment
Share on other sites

11 hours ago, Dose Pipe Sutututu said:

And in earlier documentation we were advised to unplug & disable the flag... guess what that did? make the car go straight to the last column everytime it came onto boost... yeah that was fun, went pig rich and shot out a backfire.

Updated documentation then recommended it was plugged back in, flag disabled and the voltage limits maxed out. This helped, but the transient map was a pain in the arse to tune.

 

If you're referring to the NT documentation then you're spot on.

It was a constant journey of discovery for me since things were not made very clear in the earlier documentation.

Still NT is the best bang for the buck I think, and Matt has done a great job.

Older Nissan ECUs don't even allow for a ms based tune, since the pulse width is calculated based on TP etc.

After 8 years of toying with NT we finally get a pop up requester in NT outlining that the fuel map is just a 'trim' and that AFR are just a guestimate .... ;) Better late than never!

 

 

 

  • Like 1
Link to comment
Share on other sites

12 hours ago, GTSBoy said:

But that was always clear.

It wasn't made clear ... hence we now have requesters popping up.

I think it's such an import principle of operation that there should have been something in BIG BOLD LETTERS about it.

It wasn't ...

 

I still have the documentation from when I started, there's no such mentioning. Improvements were made over time, but just recently there was more 'guidance' ;)

I bought into NT about 9 years ago, and there were many unknown unknowns at this time :) It was work in progress, that's for sure.

But as said,NT is the best bang for the buck if you want real time tuning, wideband integration, logging and so forth.

I also like the AFM principle and by now 'know my maps' from fuel cut, startup, idle timing, throttle enrichment etc.

Still, maybe at some point I'll be switching to a modern ECU. Mainly for engine protection and boost control. I was looking at Adaptronic but I don't really like their software in addition they have been bought up and I'm not sure what's going to happen to them.

 

Cheers :)

 

Edited by Torques
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...