Originally posted by robertisaar
View Post
Announcement
Collapse
No announcement yet.
Does the BLM vary with engine temp?
Collapse
X
-
-
Originally posted by robertisaar View Postcoolant temp offset = F152 table lookup, which is run through a lag filter with either a 0 or the KCLOFFST value, depending on if at idle or not.
Originally posted by robertisaar View Postcoolant temp offset (new) = coolant temp offset (old) + F152 * (KCLOFFST - coolant temp offset (old))
^ that is used when at idle. if non-idle:
coolant temp offset (new) = coolant temp offset (old) + F152 * (0 - coolant temp offset (old))
...................^.............................. .............^
What is used for those values initially? As in, before a "CTO new" has been calculated to be reused for the next time it is calculated...if that makes sense.
If it starts out using 0 as CTO old value that would make for a strange operation.Last edited by LZeppelin513; 12-08-2012, 05:51 PM.
Comment
-
generally, the intake runner temp is basically a blend of coolant temp and IAT, except for low flow/idle situations, in which case it's calculated to shoot up quite a bit...
like i said, i really don't like how GM did it..... i'm waiting to do a little more research on it to get a better, easier to tune airmass temp calculation. if i had to guess, i'd say i could get most of the way there with a single table that biases the IRT towards either coolant temp or IAT based on airflow. low flow = closer to coolant temp, high flow = closer to IAT. not sure if the airmass will get noticably hotter than the coolant temp before the intake valve closes and starts compressing the air/fuel mixture, especially with fuel being shot into the air, which will vaporize and cool it a bit.
Comment
-
Originally posted by robertisaar View Postif i had to guess, i'd say i could get most of the way there with a single table that biases the IRT towards either coolant temp or IAT based on airflow. low flow = closer to coolant temp, high flow = closer to IAT. not sure if the airmass will get noticably hotter than the coolant temp before the intake valve closes and starts compressing the air/fuel mixture, especially with fuel being shot into the air, which will vaporize and cool it a bit.
Comment
-
I was thinking there would be a simple way to get a calculated intake runner temp that may not be quite as accurate but be much easier to tune yet accurate enough. I really don't know exactly how and what type of tables and calculations the ECM uses but this seems like a simple but adequate solution to me.
First make a table that has airflow rate vs coolant temp factor where the coolant temp factor is inversely related to airflow.
eg.
Airflow, CT factor
0, 3
4, 2
8, 1.5
12, 1.2
16, 0.9
etc...
Then basically a weighted average equation would calculate the intake runner temp:
Intake runner temp = (IAT + (Coolant Temp x airflow coolant temp factor))/2
This doesn't take in consideration the lag of air temp change. So it could be taken a step further if necessary.
edit to add: I don't know if it is possible but a good way to account for the lag in air temp change would be to look back a set number of cycles/ or mS and grab the old "airflow CT factor" to apply for the Intake runner temp equation.
A different but less accurate way to account for a portion of the lag in air temp change would be to add this:
Delta airflow = new airflow - old airflow
Make a table of "D-airflow vs temp modifier" where D-airflow of 0 = temp modifier of 1.
D-airflow values < 0 would be a decreasing 1.xx value as D-airflow approaches 0
D-airflow values > 0 would be an increasing .xx value as D-airflow approaches 0
eg.
D-airflow, temp mod
...
-8, 1.10
-4, 1.05
0, 1
4, 0.93
8, 0.85
...
The alternate intake runner temp equation using this table would be:
Intake runner temp = (IAT + (Temp Modifier x Coolant Temp x airflow coolant temp factor))/2
This would account for the Air temp change lag during transient events but not really for the few ms of constant airflow following a sudden change.Last edited by LZeppelin513; 12-08-2012, 10:24 PM.
Comment
-
probably more accurate than what GM implimented.
if you want to go real hair-splitting, you can also attempt to account for EGR(later code does), CCP, even PCV's effect on airmass temp. in A1, it's not really necessary for EGR though, since the BPC is indexed by %EGR is airflow.
i think, if anything, i would just make a 2D table indexed by airflow(probably 17 value, 0-128 range), have the table value be a simple 0-1 range, 0 implying that airmass temp is IAT, 1 implying airmass temp is coolant temp and just use the lookup of the table to multiply the delta of CTS - IAT into a value. nice and simple that way. to account for lag, probably just a single pass through a lag filter using another 2D table indexed by airflow containing a filtering rate would be sufficient.
that's 5 operations (new bias from 2D, CTS-IAT to create a delta, multiply delta with bias to create new/unfiltered IRT, new lag filter from 2D, lag filter new IRT and filter rate to create new/filtered IRT) and only two tables to calibrate. once the bias table is done(all in steady-state), then just need to go through some airflow transients to dial in the lag filter table.
Comment
Comment