Charge Temperature Estimation

Tuning, troubleshooting and the nitty gritty of using rusEFI to make your engine run nicely!
Post Reply
BeerMoneyMotorsports
Posts: 151
Joined: Thu Jan 14, 2021 10:16 pm

Charge Temperature Estimation

Post by BeerMoneyMotorsports »

image.png
image.png (46.99 KiB) Viewed 24141 times
tCharge Settings

tCharge mode
- RPM + TPS

- Air Mass Interpolation

tCharge Increment Limit, deg/sec

tCharge Decrement Limit, deg/sec

RPM + TPS Mode Settings

min RPM min TPS

min RPM max TPS

max RPM min TPS

max RPM max TPS

Air Interpolation mode settings

min tCharge Coeff

max tCharge Coeff

Max Air Flow kg/h
blundar
contributor
contributor
Posts: 141
Joined: Tue Jan 07, 2014 4:38 am
Location: Cincinnati, Ohio
Github Username: blundar
Slack: Dave B.
Contact:

Re: Charge Temperature Estimation

Post by blundar »

The "big picture" behind tcharge is to try and more accurately predict the temperature of air entering the cylinder, as this is what matters more than the temperature of air wherever the intake air temperature sensor is or the temperature of the coolant sensor.

The broad principles here are that slower moving, less dense air has more of a chance to soak up heat from the intake manifold and cylinder head compared with high-flowrate air where the higher velocity gives less time for heat transfer combined with a larger air mass to dilute the effects of any heat absorbed.

With zero airflow, the temperature of air is assumed to be the temperature of engine coolant. With infinite airflow, the temperature is assumed to be the temperature indicated by the air temperature sensor. In the middle, you have a tcharge model. The idea here is to do a better job of handling temperature variations than is possible with only air temp and coolant temp enrichments by more precisely modeling what is actually happening. This type of model has been common in OE engine management for at least 15-20 years.

I'll let someone else chime in on how the rusEFI settings relate to this framework.
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

Is there anyway to disable this function?

Is not clear to me what any of the settings do or how this function is altering fuel delivery?...but I would love to stop it if possible?

Edit: never mind, I see. Select Air Mass Interpolation, set high and low coefficient to 1 and max air flow to anything and its off it looks like
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

Looping back I was looking for a way to disable it because I'm pretty sure none of the options are correct.

For any given engine, charge velocity is a function of RPM and independent of TPS. TPS and RPM together determine the density (and therefore mass flow) of the moving air but the velocity and port dwell (heating) time is just rpm. Closing the throttle causes the air to expend which cools the charge. Also a well done injector setup and timing also cools the charge in a significant way.

Mass flow is a function RPM and throttle position.....so again not a measure of charge temperature.

I don't think this function does what it was intended to do. Disabling it means that the temp gain is corrected when you tune the VE table so at operating temp, everything works out correct. Where the error will show up is on cold start and then goes to 0 as everything warms up. A 3D CLT correction table is an easy to implement and easy to tune solution.
ssmith
Posts: 105
Joined: Sun Oct 17, 2021 10:21 pm

Re: Charge Temperature Estimation

Post by ssmith »

mk e wrote:
Tue Nov 26, 2024 10:04 pm
I don't think this function does what it was intended to do. Disabling it means that the temp gain is corrected when you tune the VE table so at operating temp, everything works out correct. Where the error will show up is on cold start and then goes to 0 as everything warms up. A 3D CLT correction table is an easy to implement and easy to tune solution.
Charge temp estimation is more like a correction table for (CLT-IAT) rather than just CLT. Energy transfer depends on time (how much time is the air absorbing heat, aka RPM), mass to heat up (quantity, aka load/TPS/MAP), and the difference in temperature (CLT-IAT). Most ECU will have this as a configurable table but, well, you know.
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

The problem though, I think, is that it’s not energy transfer that is the concern, its temperature change. Obviously, the temperature is a measure of the thermal energy but the air is not cooling the manifold and port in any meaningful way so the density of the charge is mostly irrelevant and the temperature change is almost entirely a function of rpm (time) and the IAT/CLT temp delta (rate) or at steady state just rpm & IAT because CLT is basically a constant. This seems like a more useful table.
Depending on the setup, it can be very non-linear too, so again a table seems best. The difference between a common plenum and ITBs probably illiterate the issue best. In a common plenum the pressure within the plenum is fairly constant so when the intake opens and charge is pulled in. The volume sitting in the runner closest to the head is the hottest and goes first into the cylinder followed by air from the plenum that is basically at the same pressure but cooler as it was further from the heat source. ITBs are different though, the pressure in the runner is not constant and varies from near baro to near cylinder. At low power, say idle, the air sitting in the runner is likely near coolant temp and baro pressure, then the intake valve opens and begins to draw in the charge, the air responds primarily by expanding because the throttle is basically closed, that change in the pressure cools the charge as it’s volume about doubles and it is no longer at CLT temp. P2/P1*T1 and using round numbers say 50/100*(100+273)-273= -86C charge temp…..it doesn’t get anywhere near that cold (its certainly not adiabatic and the throttle isn’t actually closed) but you get the idea and its kind of the opposite of what you’d think should be happening. This doesn’t happen at WOT, the only cooling is the fuel vaporization so the air SHOULD be hotter at WOT at any given RPM. In a plenum setup there really isn’t an expect temp change across the throttle because its more constant flow, it happens in ITBs because flow into the cylinder is much faster than flow across the throttle. This is why I was looking for a way to just turn it off.

Unless I'm thinking about it all wrong, which is certainly possible and wouldn't be the 1st time.
ssmith
Posts: 105
Joined: Sun Oct 17, 2021 10:21 pm

Re: Charge Temperature Estimation

Post by ssmith »

mk e wrote:
Mon Dec 02, 2024 9:48 pm
The problem though, I think, is that it’s not energy transfer that is the concern, its temperature change. Obviously, the temperature is a measure of the thermal energy but the air is not cooling the manifold and port in any meaningful way so the density of the charge is mostly irrelevant and the temperature change is almost entirely a function of rpm (time) and the IAT/CLT temp delta (rate) or at steady state just rpm & IAT because CLT is basically a constant. This seems like a more useful table.
True you aren't cooling the manifold in a meaningful way, but air is a good insulator (haha), so the air doesn't all warm up at the same time. The more air (the more MAP/TPS), the longer it takes to heat up. At least I assume that's the theory.
mk e wrote:
Mon Dec 02, 2024 9:48 pm
Depending on the setup, it can be very non-linear too, so again a table seems best. The difference between a common plenum and ITBs probably illiterate the issue best. In a common plenum the pressure within the plenum is fairly constant so when the intake opens and charge is pulled in. The volume sitting in the runner closest to the head is the hottest and goes first into the cylinder followed by air from the plenum that is basically at the same pressure but cooler as it was further from the heat source. ITBs are different though, the pressure in the runner is not constant and varies from near baro to near cylinder. At low power, say idle, the air sitting in the runner is likely near coolant temp and baro pressure, then the intake valve opens and begins to draw in the charge, the air responds primarily by expanding because the throttle is basically closed, that change in the pressure cools the charge as it’s volume about doubles and it is no longer at CLT temp. P2/P1*T1 and using round numbers say 50/100*(100+273)-273= -86C charge temp…..it doesn’t get anywhere near that cold (its certainly not adiabatic and the throttle isn’t actually closed) but you get the idea and its kind of the opposite of what you’d think should be happening. This doesn’t happen at WOT, the only cooling is the fuel vaporization so the air SHOULD be hotter at WOT at any given RPM. In a plenum setup there really isn’t an expect temp change across the throttle because its more constant flow, it happens in ITBs because flow into the cylinder is much faster than flow across the throttle. This is why I was looking for a way to just turn it off.

Unless I'm thinking about it all wrong, which is certainly possible and wouldn't be the 1st time.
I get the feeling you think charge temp estimation is for something that it's not. You bring up good points about the air being cooled by fuel vaporization, or the effects of cooling by depressurizing the air into the cylinder, but I believe those effects are handled by the VE table. I think the point of charge temp estimation is about all the warming that happens before then (but after the intake air temp sensor). Obviously this depends on your physical engine layout, but for example on a BMW E46 M3 CSL (S54 engine tuned alpha-n from the facory), the intake air temp sensor is at the beginning of the plenum, before the runners and ITB. So in that case the estimation table is about how much warming happens while the air travels through the plenum and runners. Probably a bigger deal with long metal runners and a big metal plenum. On the other end of the spectrum might be my current motor - 4 cyl turbo GDI with a plastic intake manifold and a single throttle body. On that motor I didn't even bother setting up the table, but it's a race motor so who cares.... motors are surprisingly tolerant of a wide range of lambdas....
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

ssmith wrote:
Mon Dec 02, 2024 10:42 pm

I get the feeling you think charge temp estimation is for something that it's not.
Maybe. I think I understand it but who knows. In my mind, if its tps/map v rpm it washes out in the VE table. I've done about a dozen installs now and tuned about as many again and I've never used this feature. I've seen it, but never found a need for it which is what was driving my it must be rpm only and again washed out in the VE thinking. Really thinking now, everything I've ever worked on was a runner type manifold or 1 sort or another so maybe that is why I've not notice a need for another correction. I rarely use the IAT corr, but have on like 1 in 4 or 5 and maybe that is related to this. Don't know. But disabling it is what I was after and I think I understand how to do that now :)
mck1117
running engine in first post
running engine in first post
Posts: 1501
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: Charge Temperature Estimation

Post by mck1117 »

Look at the other modes. The others are linear (decent) or table (good) for transfer coefficient as a function of mass airflow. The pressure and density don’t matter, ONLY the mass flow rate. Less air movement, picks up more heat from the walls. More air movement, picks up less heat.

Go look at any OEM speed density tune - they all use some form of this correction. This isn’t something rusEFI invented from nowhere.
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

mck1117 wrote:
Tue Dec 03, 2024 2:25 am
The pressure and density don’t matter, ONLY the mass flow rate. Less air movement, picks up more heat from the walls. More air movement, picks up less heat.
I think what you're concerned with is temperature change so you can calculate mass flow. You measure pressure, you have velocity through VE and RPM, temperature is the missing piece. Heat transfer and temperature change are related by density, more density requires proportionally more heat transfer for the same temperature change. 2 streams flowing at equal velocities but different pressure (so different massflow) through the same port, should see similar temperature changes...if I'm remembering it all right and its been a a while so I could have it all as wrong as can be.

What caught my eye is there are 3 versions of a function that all appear to do basically the same thing so I had to wonder why? That made me look at the math a bit....which I will repeat I could have all kinds of wrong.

I do know the standard (aftermarket) implementation is just a tps/map v rpm table as ssmith pointed out, I've seen that in several ecus over the years. Its a bit like a 4D to the VE table. They like tables because table let you visually see where you are making changes, formulas mean you need to kind of math out what you want to happen, less ram use in the ecu but harder to use. I've personally never seemed to need this correction on the kinds of things I playing with which is why I was looking for an easy way to disable it, I just like to start with simpler and add corrections once when there is a clear need so turn it off to get started and come back if fine-tuning is needed.
mk e
Posts: 547
Joined: Tue Dec 06, 2016 7:32 pm

Re: Charge Temperature Estimation

Post by mk e »

I relooked thought several ECU setups, the haltech seems pretty standard. Link has 4D or 5D table which seems at the extreme end.
Coolant_Temp_Bias.png
Coolant_Temp_Bias.png (58.45 KiB) Viewed 19764 times
haltech wrote: The Coolant Temp Bias table generates the Calculated Air Temp value. The Calculated Air Temp should closely approximate the actual air temperature entering the combustion chamber. This value is used as part of the ECUs volumetric efficiency calculations.

0% in this table will cause the Calculated Air Temp value to equal the Intake Air Temp value.
100% in this table will cause the Calculated Air Temp value to equal the Coolant Temp Sensor value.

At lower engine speeds and loads, the Calculated Air Temp is biased towards the Coolant Temperature value. This is due to the slow moving intake charge having more time to absorb heat from the surrounding intake runners and cylinder head.
At higher engine speeds and loads, the Calculated Air Temp is biased towards the Intake Air Temperature value. This is due to the higher air speed reducing heat soak and higher injected fuel volumes removing heat from the intake charge as it passes into the combustion chamber.

I posted this in the other thread but will repost here, Dynomation, the engine simulation software I use suggests WOT on a 68F day IAT should be about 180F (100% coolant temp) on V type plenum intake setups, 120F in ITBs, 70F on CarbonFiber intakes and the software doesn't model low rpm well or low power at all really...so quite a different answer than I'm used to seeing in ECU setups but it does get very close on HP curve estimates so it makes me thing they might know what they are doing. Confusing
Post Reply