Announcement

Collapse
No announcement yet.

SD multiplier logic

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

  • SD multiplier logic

    Hi everyone I hope people are still active on this forum.
    I have a question about the SD multiplier logic - for example here is my VE table and multiplier settings:
    Map.png

    If my thinking is correct based on the wiki "The VE multiplier is calculated using an exponent and a mantissa"

    I should be able to do 344^-2 but doesn't fit my calculations in excel

    Any suggestions?

    Thanks
    Bobby


  • #2
    What are you trying to achieve?

    Comment


    • #3
      Understand the logic of the multiplier
      "The VE multiplier is calculated using an exponent and a mantissa"

      http://m232.org/index.php?title=Speed_Density

      Comment


      • #4
        Are you running out of room on your VE table?

        Copied from m232 wiki:
        • If you run out of room at the low end (values at 0 and still too rich), but you still have room on top (for example max value is 200), subtract a number from VE Addend, and add it to the entire table. Now the result is the same as before, but you have more room to tune. Do the same if you run out of room at the top end, but have room at the bottom end.
        • If you run out of dynamic range, meaning both the top end and bottom end - you can multiply up the VE multiplier and divide the VE addend and the entire table by the number you multiplied the multiplier by. Also works into the opposite direction if you find that you have way too much range and not enough precision.
        This pretty much explains how to use and adjust "VE Addend" and "VE multiplier" to your advantage.

        Comment


        • #5
          Originally posted by tekstil View Post
          Are you running out of room on your VE table?

          Copied from m232 wiki:
          • If you run out of room at the low end (values at 0 and still too rich), but you still have room on top (for example max value is 200), subtract a number from VE Addend, and add it to the entire table. Now the result is the same as before, but you have more room to tune. Do the same if you run out of room at the top end, but have room at the bottom end.
          • If you run out of dynamic range, meaning both the top end and bottom end - you can multiply up the VE multiplier and divide the VE addend and the entire table by the number you multiplied the multiplier by. Also works into the opposite direction if you find that you have way too much range and not enough precision.
          This pretty much explains how to use and adjust "VE Addend" and "VE multiplier" to your advantage.
          Yes however if I try to correct the SD map in excel using correction factors based on the formula then the multiplier somewhat fits at low rpm but as soon as boost comes on then there was a big delta.

          Anyhow I'll collect lam data based on the breakpoint and make it right.

          Thanks for the reply

          Comment


          • #6
            I haven't had to adjust the dynamic range yet, but I would assume it works as follows: lets say multiply 1.1 - so you multiply "VE multiplier" 344*1.1= new value 378.4 then divide "VE addend" 398/1.1= new value 361.8 and last you select all cells in VE table and use table function "Divide" with value 1.1 and hit execute. Save everything and the end result will give you exactly same fueling as before, just the table has been scaled differently to suit your tuning needs. Or does it not?

            Comment


            • #7
              Sure but I think the wiki is missing a 1.2 factor from the formula maybe for density 1.2kg/m3 @ 25*

              Comment


              • #8
                I thought about it a bit and the "divide the VE addend" part doesn't make sense, since it will throw values off? I might be wrong but isn't it logical to just use multiplier to multiply with whatever value and then divide entire table with that same value? This way everything will stay the same and "VE Addend" can be used afterwards if it's necessary to add or subtract values in case of running out of room on either end of the table.
                Also I don't understand what does the density of air have to do with this? There is IAT correction table for that?

                Comment


                • #9
                  i think you guys are over thinking the whole VE thing. If you look at code disassemblies of how the SD works its basically a code hack of the MAF input code. the VE tables are just a good point in the code where fuel can be added and removed and its an instant change that does not affect the things like the deadtime.
                  Code:
                  code:00002293 Added table accesses for VE table and SD IAT correction table.
                  code:00002293
                  code:00002293 Custom_05: ; CODE XREF: Data_Logging_Code_05-5FC8↑j
                  code:00002293 7A 00 mov R2, #0 ; Move (Op1 <- Op2)
                  code:00002295 12 0F F9 lcall TableAccess_02 ; VE_Table_0
                  code:00002298 F5 46 mov FKH, A ; Move (Op1 <- Op2)
                  code:0000229A 12 0F F9 lcall TableAccess_02 ; IAT_Correction_0
                  code:0000229D F5 7B mov FUH, A ; Move (Op1 <- Op2)
                  code:0000229F
                  code:0000229F Custom_Jump_15:
                  code:0000229F 80 63 sjmp code_2304 ; Short jump
                  code:0000229F ; END OF FUNCTION CHUNK FOR Data_Logging_Code_05
                  code:0000229F ; ---------------------------------------------------------------------------
                  FKH in RAM is the correction factor for the MAF. FUH is the battery under voltage correction for fueling. this information comes straight from the DAMOS for M2.3.2. with that now known when you tune the VE table your actually manipulating the the correction factor for the MAF. when you tune the IAT correction table its value is put into the battery under voltage correction in RAM.

                  i never try to get the AFR to follow requested vs actual with lambda on or you will pull your hair out trying to make it work and balance. focus on getting your fuel right in boost more or less and let the lambda control do its job with getting the AFR back to 14.7 on its own at idle and part throttle driving. the lambda change over table from close loop to open loop boost fueling acceleration is a major player to tune correctly. in my own personal BIN files i converted this load change over for lambda control to be boost pressure based instead of load based. makes life a lot easier because i can just tell the ECU "OK, at 10psi stop lambda control and go into open loop fueling which is done directly from the VE table because thats how it worked with the MAF. when in boost and above the load threshold for lambda control the fueling calculation came directly from the flow of the MAF only. but theres my input for you guys.

                  also forgot to mention the ECU will in fact follow the part throttle lambda AFR table as it is very dependent on it even in boost so spend time there and make it setup a table for how you want your car to act. also one last tip for everyone to make things a little easier is to change some of the table axis's from load to pressure based. Find the axis's for your ignition table and your part throttle AFR table. they should be like this. 3F 10 09 08 09 08 0B 0A 0A 09 08 09 09 1E 1E 1E 28 10. change them to be 4B 10 07 06 06 09 0D 0C 0C 0C 13 12 13 19 18 1F 19 0D. than look at how PRJ setup the axis in the VE table for pressure and copy that into your other 16x16 table axis in tuner pro RT.

                  once your axis's are pressure based instead of load things become a lot easier to wrap your brain around when tuning because of how messing with the VE table and the constants screws with the load calculation. less load dependency, less problems!
                  Last edited by vwnut8392; 25 April 2022, 01:37.
                  "The really good drivers got the bugs on the side windows." Walter Röhrl

                  Comment


                  • #10
                    Haven't been on here for a while, but a lot of things have been said here that are wrong.

                    First of all, the math is exactly as described in the wiki.

                    Final value = mult * (addend + LOOKUP(table)).
                    You can adjust table, mult and addend as described and mathematically it will be exactly the same and nothing will change. tekstil is right about that.

                    As to what vwnut8392 posted, most of it is pretty much completely wrong.
                    It does not matter what is what in the damos. Because this code never existed in the first place, I ripped everything out and added my own. E.g. enrichment is done based on delta TPS instead of delta maf etc.

                    And you absolutely should make requested AFR and actual AFR match. That means your injectors and load are scaled correctly.
                    Not doing that, is just lazy and bad tuning, but hey, do garbage in and garbage out if you want.
                    I tuned every single car with both of them exactly matching and it never let me down. And I tuned a lot more of them than the lot of you combined on here

                    Load by it's very definition in this ECU is injection time to reach Lambda 1. So if your actual and request don't match then your stuff isn't scaled right.
                    Last edited by prj; 4 July 2022, 00:12.
                    http://tuner.ee - http://www.facebook.com/tuner.ee

                    Comment

                    Working...
                    X