Announcement

Collapse
No announcement yet.

Miller Gen 3 MAF analysis

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Miller Gen 3 MAF analysis

    Thought some people might find this interesting.
    I reverse "engineered" the miller encryption on the W.A.R chip files for the miller gen 3 MAF (3" tube) for the M20 and found something interesting with the AFM/MAF scaling.

    The chart below shows three curves:
    1. Stock M20 AFM
    2. Miller Gen 3 MAF
    3. Ford Lightning MAF in 3" tube (same part used for the miller conversion as per https://www.m5board.com/threads/s38-...-heavy.322098/

    Click image for larger version

Name:	image_164274.png
Views:	108
Size:	138.3 KB
ID:	10042082

    As you can see there are a couple of issues:
    - The scaling used for the Miller G3 substantially differs from the Ford Lightning MAF (1L3F-12B79-AB). Now i do believe they still use this MAF but happy to be proven wrong which would make this issue irrelevant.
    - The Miller G3 values used in the transfer functions result in significant dips (5-10%) at at regular intervals. Maybe not an issue for most builds but a drop in 10% at 4.3v ~530 kg/hr could cause a lean spike for forced induction setups during spool or for N/A builds at peak RPM.

    Anyway, thought people might like to see what goes on with this setup as im currently looking to design a MAF setup for these cars and was interested in what Miller had done and where it can be improved.
    And, yes, i have found the tables that make corrections to the airflow measurement based on IAT and have zero'd those out because a MAF already takes into account the IAT in the measured airflow.
    RHD OBD2 M50b25 turbo build thread:
    http://www.r3vlimited.com/board/showthread.php?t=384800

    #2
    Keep at it! Id love to see more MAF conversions replacing old AFMs
    Simon
    Current Car:
    -2017 i3 REx, 21st Century E30
    -1975 Alfa Romeo Giulia Nuova Super 1300, the never-ending name & project



    Make R3V Great Again -2020

    Comment


      #3
      I thought the motoric's logic does not computer maf input. I was duped?

      Yah people get it to "work"

      https://sssquid.com/v3/e30-maf-conversion/
      Last edited by moatilliatta; 01-11-2022, 05:23 PM.

      I was up above it, Now I'm down in it ~ Entropy - A Build thread.

      Comment


        #4
        Originally posted by moatilliatta View Post
        I thought the motoric's logic does not computer maf input. I was duped?

        Yah people get it to "work"

        https://sssquid.com/v3/e30-maf-conversion/
        You can re-write the transfer functions to match a maf curve (with difficulty) in addition to removing the AFM compensations based on IAT (because MAF flow is already affected by air temp)
        RHD OBD2 M50b25 turbo build thread:
        http://www.r3vlimited.com/board/showthread.php?t=384800

        Comment


          #5
          In case anyone cares, there is a possibly a more suitable maf, cheap, and in a 2.75"tube that would fit the stock intake boot that you can get a decent match to the curve with:

          Click image for larger version  Name:	MAF MAP.png Views:	0 Size:	253.5 KB ID:	10042239
          Last edited by ba114; 01-13-2022, 05:45 PM.
          RHD OBD2 M50b25 turbo build thread:
          http://www.r3vlimited.com/board/showthread.php?t=384800

          Comment


            #6
            I have found this map in the DME.

            Click image for larger version

Name:	IAT Correction.png
Views:	50
Size:	171.4 KB
ID:	10042328

            From the logic and position in the binary, it looks like it is a fuel additive table based on RPM and Intake temp.

            In the table on the left, at 13.5C intake temps there would be no modifier. At lower intake temps it adds fuel to adjust for the denser air and at higher IATs it removes fuel as the air is less dense. This would be because the AFM doesn't measure air mass, it measures air flow and requires the IAT values to calculate air density.

            The table on the right contains the values from the Miller MAF file. This is one of only a few tables that is changed from a stock file for their MAF conversion. I don't really understand why they have done it this way.

            To convert to MAF (which calculates mass already) I would set this table to all ONES so there there is never any compensation performed for changes in air temperature.

            RHD OBD2 M50b25 turbo build thread:
            http://www.r3vlimited.com/board/showthread.php?t=384800

            Comment


              #7
              Nice work! I don't understand how these guys can still sell these half-baked MAF kits after all the years of horrible service and no customer support. The only thing really going for it is you can "tune" it yourself, but the software barely works so even that is pointless. It doesn't surprise me at all that the calibration is barely changed from stock (that is par for the course in the BMW tuning scene).

              really, it's long past the time where as a community we should just figure out and share how the E30 DMEs work (much is already known - if not everything). it isn't rocket science and keeping secrets is not helping the community. There have been fits and starts, but the last few years have been rough on the forums - maybe we can make a comeback though.

              I'll say realistically swapping from an AFM to a MAF is not going to be a huge difference in performance. But it is an option at least to replace aging mechanical sensors with an electronic one. The real key is to understand how the DME measures air mass / load, and then really any input can be made to work.
              Build thread

              Bimmerlabs

              Comment


                #8
                I agree with all said, if I get this figured out I'll release my calibration changes, part numbers etc to do the swap.

                Ideally I'd actually like to learn to fully disassemble the code and write a maf function to replace the AFM logic completely. I've freed up a significant amount of space in the code by removing several unused fuel and timing tables so there is plenty of space to fit a standard 256 byte maf transfer.
                RHD OBD2 M50b25 turbo build thread:
                http://www.r3vlimited.com/board/showthread.php?t=384800

                Comment


                  #9
                  Nice work OP! Always amazes me that there is still more to learn about E30s, and it's stuff like this that keeps me coming back to r3v.

                  Comment


                    #10
                    Originally posted by ba114 View Post
                    I agree with all said, if I get this figured out I'll release my calibration changes, part numbers etc to do the swap.

                    Ideally I'd actually like to learn to fully disassemble the code and write a maf function to replace the AFM logic completely. I've freed up a significant amount of space in the code by removing several unused fuel and timing tables so there is plenty of space to fit a standard 256 byte maf transfer.
                    I've used IDA a lot in the past, but I kind of want to try this:
                    https://ghidra-sre.org/

                    says it supports the 8051
                    Build thread

                    Bimmerlabs

                    Comment


                      #11
                      ok, Nando, that'll get you on a few lists, I suspect!

                      t
                      not Christmas lists, I don't think.
                      now, sometimes I just mess with people. It's more entertaining that way. george graves

                      Comment


                        #12
                        I worked on MAF conversions for several years, along with some very in-depth Motronic reverse engineering. My car is running on a MAF, and has been for a bout a decade now. There is more to it than simply playing with the transfer function and zeroing the IAT tables. I cannot recall the specifics, but I believe that IAT is used to retard ignition timing in cases where the incoming air is above a certain temperature in order to prevent detonation, and that alone is sufficient reason to me to not nullify the IAT tables.

                        The other big challenge, and it is less of a problem on am 6 cylinder than a 4 cylinder, is the fast response time of the MAF vs the AFM. The step response time of the AFM is on the order of 50ms IIRC, where as the MAF is on the order of 1ms. I have plenty of data logs showing that you can clearly resolve every single intake valve opening when the throttle is open more than ~50%...when doing a WOT pull, the MAF output looks sort of like a sine-sweep / chirp as you go up the RPM range. The AFM is slow and heavily damped, which serves as a low-pass filter for all of this, and the Motronic's analog sampling rates are fairly slow (maybe 100Hz). This causes issues with a MAF since the signal ends up getting measured at random times during an intake pulse, by a system that expects any given sample to be an "average" of the incoming air flow. In practice, the car will run OK, but I found that it was hard to tune for consistent AFRs due to this.

                        The other thing is the AFM's mechanical resonance. I cannot speak for the M20, but on the M42 the AFM's flap door resonates at high throttle openings in the 2400-3400 RPM range, effectively over-reporting the air flow. If you look at the high-PT and WOT maps, you will see that the fuel values are leaned-out, specifically to account for that known effect. There is another smaller resonance up around 5500RPM IIRC. When you connect a MAF, it reports actual air flow all the time, so those leaned-out map sections cause VERY lean running. On the M42, it basically led to fuel-cut at WOT around 3000RPM.

                        So...what to do? In my case, I built an external conversion box that takes in the AMF signal and a thermistor (same transfer function as the stock one). It both converts the mass-proportional signal to a volume-proportional signal, and performs some hefty digital filtering to low-pass / average the MAF output swings. Step response is ~15ms, which is still better than the AFM, and the Motronic has no problem reading it. However, I still ended up needing to remap the fuel tables to deal with the non-existent sensor resonances.

                        If you want to run a MAF directly to the ECU, you would probably need to change fuel tables, rewrite parts of the code that do the density conversion but still keep the IAT inputs for any ignition-related compensations, and have the MAF ADC sampling performed at specific crank angles to ensure that you are reading at a consistent part if the intake stroke (there were several discussions in the MS3 forums about this years ago and I think that crank-aligned sampling was the ultimate solution since trying to run a moving average on the signal was way too much to do in a high speed interrupt routine).

                        Transaction Feedback: LINK

                        Comment


                          #13
                          Originally posted by TobyB View Post
                          ok, Nando, that'll get you on a few lists, I suspect!

                          t
                          not Christmas lists, I don't think.
                          haha, I probably already am..
                          Build thread

                          Bimmerlabs

                          Comment


                            #14
                            There are many tables in the ecu that reference iat and clt. Many of these would relate to cold start enrichment, ignition modifiers etc.

                            I believe the table above is the only table that effects the airflow calculations based on IAT. It would be no issue setting this table all to 1.

                            If I can figure out loading this in IDA and starting to trace the functions I could confirm that.
                            RHD OBD2 M50b25 turbo build thread:
                            http://www.r3vlimited.com/board/showthread.php?t=384800

                            Comment

                            Working...
                            X