Results 1 to 11 of 11

Thread: How Does GM Calculates Mass Air Flow?

  1. #1
    Fuel Injected!
    Join Date
    Jan 2022
    Location
    Memphis, TN
    Age
    40
    Posts
    32

    How Does GM Calculates Mass Air Flow?

    I’m wondering if anyone knows how GM gets it calculated mass air flow. I found this calculation MAF (lb/min) = [(Displacement *RPM/2)/1728] * 2.7 (MAP/IAT) and a few like it online but that’s for mass air flow at 100% volumetric efficiency. I am wondering if it takes this then multiplies by the VE table cell as a percentage and then compares it to the actual MAF reading. The reason I’d like to know is I was trying to come up with a way to data log and help determine and error that would cause a P0101 fault. I do know that map and iat are used to determine calculated mass air flow just trying to figure out how.
    Last edited by brandongarnold02; 11-20-2022 at 10:06 AM.

  2. #2
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    I have some of the information you seek, however it is specific to the '97 code I have been working with. I cant be sure the info can be applied to your situation.

    The MAF sensor produces a digital output with a frequency porportional to the air flow. The TPU (that is the third processor in my design, internal to the CPU in later designs) monitors the signal and produces a number that is the period of the input signal. After linearizing the value (table) it has a number for air flow. There is then a temperature compensation. Finally the air pressure is used to come up with the final air quantity in grams/second.

    Before testing for P0101 fault, the code tests a good number of factors to be sure the test result will be valid.
    - Engine speed (rpm)
    - Engine run time
    - Minimum system voltage
    - Stability (length of time these conditions are met for)
    - Throttle position
    ( I probably missed a few...)
    Once all this is done, software compares the expected speed/density calculated air flow with the MAF measured flow. Software takes the absolute value of the difference between S/D and MAF air flow and tests it against a threshold. A count is kept of the number of times there is a difference in excess of the threshold. Exceeding the threshold 50 times in a row sets the P0101 DTC.

    All the above is my understanding of the code but not tested in any way. Hope it is useful.

    -Tom

  3. #3
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,027
    Quote Originally Posted by brandongarnold02 View Post
    I’m wondering if anyone knows how GM gets it calculated mass air flow. I found this calculation MAF (lb/min) = [(Displacement *RPM/2)/1728] * 2.7 (MAP/IAT) and a few like it online but that’s for mass air flow at 100% volumetric efficiency. I am wondering if it takes this then multiplies by the VE table cell as a percentage and then compares it to the actual MAF reading. The reason I’d like to know is I was trying to come up with a way to data log and help determine and error that would cause a P0101 fault. I do know that map and iat are used to determine calculated mass air flow just trying to figure out how.
    logically it would have to multiply it by a VE table or similar. if the above calculation gave you airflow at 100% VE then multiplying it against the ve lookup result should give you what you want.

    i guess an interesting thing that comes to mind is this equation is reversible. if your VE table is only being used for checking MAF sanity you could very easily calculate a 'correct' ve table from some logs.

  4. #4
    Fuel Injected!
    Join Date
    Jan 2022
    Location
    Memphis, TN
    Age
    40
    Posts
    32
    Quote Originally Posted by Tom H View Post
    I have some of the information you seek, however it is specific to the '97 code I have been working with. I cant be sure the info can be applied to your situation.

    The MAF sensor produces a digital output with a frequency porportional to the air flow. The TPU (that is the third processor in my design, internal to the CPU in later designs) monitors the signal and produces a number that is the period of the input signal. After linearizing the value (table) it has a number for air flow. There is then a temperature compensation. Finally the air pressure is used to come up with the final air quantity in grams/second.

    Before testing for P0101 fault, the code tests a good number of factors to be sure the test result will be valid.
    - Engine speed (rpm)
    - Engine run time
    - Minimum system voltage
    - Stability (length of time these conditions are met for)
    - Throttle position
    ( I probably missed a few...)
    Once all this is done, software compares the expected speed/density calculated air flow with the MAF measured flow. Software takes the absolute value of the difference between S/D and MAF air flow and tests it against a threshold. A count is kept of the number of times there is a difference in excess of the threshold. Exceeding the threshold 50 times in a row sets the P0101 DTC.

    All the above is my understanding of the code but not tested in any way. Hope it is useful.

    -Tom

    I am curious if one can do some data logging with the available PIDs and open with a log viewing program then create a math equation to create the calculated air flow to compare it to the actual mass air flow.

  5. #5
    Fuel Injected!
    Join Date
    Jan 2022
    Location
    Memphis, TN
    Age
    40
    Posts
    32
    Quote Originally Posted by steveo View Post
    logically it would have to multiply it by a VE table or similar. if the above calculation gave you airflow at 100% VE then multiplying it against the ve lookup result should give you what you want.

    i guess an interesting thing that comes to mind is this equation is reversible. if your VE table is only being used for checking MAF sanity you could very easily calculate a 'correct' ve table from some logs.
    That makes sense to me. I found a table with the allowed differences in calculated airflow vs actual airflow. Just trying to see if some math can be done using known PIDs to view what the calculated airflow is to compare it to actual on a graph.

  6. #6
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,027
    depending what ECM you have and how much disassembly has been done on it, the best way would be to hack it and then you could query the output of calculated airflow.

    but if you can't do that, you have map, IAT, and RPM, so you're most of the way there. i guess the issue is the VE lookup value doesn't have a PID, right?

    two options to get VE lookup really

    - hack it (see above)
    - copy your ve table to somewhere on your computer and do a lookup yourself

    starting to sound like either way will require writing some code

    this all sounds kind of annoying, most people just disable p0101 don't they

  7. #7
    Fuel Injected!
    Join Date
    Jan 2022
    Location
    Memphis, TN
    Age
    40
    Posts
    32
    Quote Originally Posted by steveo View Post
    depending what ECM you have and how much disassembly has been done on it, the best way would be to hack it and then you could query the output of calculated airflow.

    but if you can't do that, you have map, IAT, and RPM, so you're most of the way there. i guess the issue is the VE lookup value doesn't have a PID, right?

    two options to get VE lookup really

    - hack it (see above)
    - copy your ve table to somewhere on your computer and do a lookup yourself

    starting to sound like either way will require writing some code

    this all sounds kind of annoying, most people just disable p0101 don't they
    This really isn’t a concern on my truck because I have access to the VE table but let’s say I’m looking at a vehicle I don’t have access to view the tables. This was more of an idea I had to use as a tool for troubleshooting. An example could be a bad map sensor caused a skewed reading you would be able to catch it by comparing the airflows. This was all just a thought though.

  8. #8
    Fuel Injected!
    Join Date
    Feb 2013
    Location
    Euless, TX
    Posts
    2,311
    I build my base VE tables from filtered MAF data.

    Dynamic air calibration from MAF
    Dynamic Air Calculated =
    (MAF gms/sec X 120) / (#Cylinders X RPM)

    VE Calculation from MAF
    VE=(DynamicAir X IAT in Kelvin X 0.28705) / (Cylinder Volume X MAP in Bar)

    Now put both parts together.
    VE=((MAF gms/sec X 120) / (#Cylinders X RPM)X IAT in Kelvin X 0.28705) / (Cylinder Volume X MAP in Bar))

    Cylinder volume is 1 cylinder in liters.
    Last edited by Fast355; 11-20-2022 at 11:57 PM.

  9. #9
    Fuel Injected!
    Join Date
    Jan 2021
    Posts
    102
    Quote Originally Posted by Fast355 View Post
    I build my base VE tables from filtered MAF data.

    Dynamic air calibration from MAF
    Dynamic Air Calculated =
    (MAF gms/sec X 120) / (#Cylinders X RPM)

    VE Calculation from MAF
    VE=(DynamicAir X IAT in Kelvin X 0.28705) / (Cylinder Volume X MAP in Bar)

    Now put both parts together.
    VE=((MAF gms/sec X 120) / (#Cylinders X RPM)X IAT in Kelvin X 0.28705) / (Cylinder Volume X MAP in Bar))

    Cylinder volume is 1 cylinder in liters.
    i've been wondering for awhile if the MAF can be used as a tuning tool similar to how widebands get used. I kind of assumed that if the MAF calibration is reasonably good maybe it would work to some extent?

  10. #10
    Fuel Injected!
    Join Date
    Feb 2013
    Location
    Euless, TX
    Posts
    2,311
    Quote Originally Posted by bobcratchet555 View Post
    i've been wondering for awhile if the MAF can be used as a tuning tool similar to how widebands get used. I kind of assumed that if the MAF calibration is reasonably good maybe it would work to some extent?
    It works and it works very well, IMO. I filter out the transients though. Any TPS change greater than 1% or MAP change greater then 1 KPA results in values not being saved for 500msec after the change. I also make the minimum count; 20 hits so that bogus 1 hit data is eliminated. Once the transient spikes are cleaned up the data is very clean and repeatable. I find the calculated VE table a much better starting point then trying to datalog from a factory VE table. I get the engine running on MAF because it is exponentially easier to get the thing running and datalog the VE data I can. A little hand editing to fill in the blanks and it is up and running well enough to get it to run well for VE tuning.
    Attached Images Attached Images

  11. #11
    Fuel Injected!
    Join Date
    Jan 2021
    Posts
    102
    Quote Originally Posted by Fast355 View Post
    It works and it works very well, IMO. I filter out the transients though. Any TPS change greater than 1% or MAP change greater then 1 KPA results in values not being saved for 500msec after the change. I also make the minimum count; 20 hits so that bogus 1 hit data is eliminated. Once the transient spikes are cleaned up the data is very clean and repeatable. I find the calculated VE table a much better starting point then trying to datalog from a factory VE table. I get the engine running on MAF because it is exponentially easier to get the thing running and datalog the VE data I can. A little hand editing to fill in the blanks and it is up and running well enough to get it to run well for VE tuning.
    thanks for the tip. greatly appreciated. i'm in the process of building up a 383 LS1 and it'll be the first engine i've done any serious tuning on so, will take all the pointers i can.

Similar Threads

  1. $OE Injector Flow Rate
    By Dieselsj in forum GM EFI Systems
    Replies: 1
    Last Post: 05-27-2021, 08:29 PM
  2. $0E injector flow
    By DLV555 in forum GM EFI Systems
    Replies: 2
    Last Post: 07-22-2019, 05:05 PM
  3. Injector Flow rate changes and AE
    By Kitch in forum GM EFI Systems
    Replies: 3
    Last Post: 03-22-2019, 12:25 AM
  4. Injector Flow data ?
    By Terminal_Crazy in forum GM EFI Systems
    Replies: 0
    Last Post: 01-24-2018, 01:39 AM
  5. injector flow
    By dhworkin in forum GM EFI Systems
    Replies: 0
    Last Post: 05-31-2017, 03:47 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •